Start here
The five-minute version
Pick a part, then drop in an SVG or a photo. Each flat color becomes its own recessed
region. Export a 3MF and it arrives pre-mapped to filament slots. Open it in Bambu
Studio, OrcaSlicer, or Snapmaker Orca and print.
Your session autosaves as you go. Reload or close the tab, and you'll be offered a
restore when you come back. Nothing applies or rebuilds until you say so.
Everything below matches a section in the left panel, in the same order.
Left panel · Part
Choosing a part
The dropdown lists real MakeGood TMT parts: Wheel, Hubcap and Footrest. Pick one and
the part loads, with pockets cut directly into it.
Body / blank color is the part's fallback: the neutral grey or plain filament
it prints in by default. Group a color into the Base row in Colors detected to print
it as the body instead. That choice always wins over this fallback.
Download design template gives that part's design face as a true-to-size SVG,
with any no-print gaps already cut out. Draw over it, then load the result under
Artwork. If a design face spans more than one printed piece, dashed lines mark the
joins and labels name each piece. Anything drawn across a dashed line is cut into
both.
Hubcap diameter appears only for the Hubcap: the part is built to the size you
set, not a fixed mesh. The four mounting clips stay put. The disc around them grows or
shrinks, keeping its 1 mm angled edge. Your printer's bed caps the number, and it
won't drop below what the clips need. Re-download the design template after changing
it.
Plate placement is verified by hand up to 220 mm, on 256 mm and
270 mm beds. At those sizes, the part and the prime tower sit where a real print
proved they both fit. Larger sizes or other beds are unverified. The part exports
centred, and the tower goes in the free corner. If a plate is crowded, the app still
writes the tower at its least-bad corner and says so. Move it in your slicer. Only
when every plate is crowded does it save no position at all, and your slicer places
it. Check both before printing.
Cut to artwork shape replaces the round disc with the artwork's own outline. A
logo or character then prints as its own silhouette. It needs one piece of artwork
loaded, with a real transparent background. That transparency defines the cutline. An
opaque image has no edge to cut to. Only Sticker placement is offered while this is
on. Turn it off, or remove the artwork, to bring back a plain circle.
While it's on, Fit reshapes the part along with the artwork. Re-download the design
template after adjusting Fit, since they're now one shape. Nothing may overhang the
280 mm wheel. A shape that would is scaled down until it fits, artwork included.
Any color that reaches the outline is cut the disc's full 3 mm depth,
instead of being recessed. That same color still cuts at whatever depth you set for
it, away from the edge. Its rim then prints in that color from every angle. Colors in
the middle of the part still recess at their normal depth. The app lists which colors
this applied to.
Left panel · Artwork
Preparing your artwork
SVG, PNG, JPG, WebP, GIF and BMP all load directly. The format is detected from the
file itself, so the extension doesn't need to be right. TIFF won't open in a browser:
re-export it as a PNG.
For an SVG, use flat, distinct fill colors. Gradients and pattern fills are flagged
and skipped. Each unique fill becomes a candidate color region.
Photos work too. The app reduces a photo to flat colors and traces the edges, with
smoothing set from the image's own detail. A transparent background cuts nothing.
A loaded image gets two sliders. Colors sets how many flat colors to reduce to,
though a simple logo may find fewer than the slider allows. A readout under it shows
how many colors and regions it actually found. Detail trades fineness against
printability. Lower merges small specks away. Higher keeps them down to what your
nozzle can print. Both re-trace on release, not while dragging, so nudge either slider
again after resizing the part or the design.
Colors and Auto-merge do different jobs. Colors decides which regions exist.
Auto-merge decides which of them share a filament slot.
For an assembly part, design over the template from the Part section and set your
editor to millimeters. Some editors drop the mm size on export (Affinity writes
width="100%"). The app then scales the drawing to fit the part face.
Each design you load appears as a named row below the dropzone. Click a row to make it
active: the fit sliders and the on-face gizmo always edit that design.
A design placed where one already sits steps across and down, so it isn't hidden
underneath. If two designs still overlap, a warning names both until you move, rescale
or separate them. Two designs set to Fill always warn, since moving them can't help:
switch one to Sticker instead.
- Sticker places the design once.
-
Fill repeats it across the part as tiles, one tile per SVG document. Scale
sets each tile's size, and Offset shifts the pattern.
If a fill can't be tiled, the app says why and leaves you one tile instead of
stopping. Colors still pool across every design in the scene: a black pattern shares
its filament slot with black artwork elsewhere.
Left panel · Artwork fit
Positioning artwork on the part
The design maps 1:1 onto the part face. Scale multiplies on top of that: over 100%
bleeds past the part's edge. Rotation spins the artwork about its own center. Flip H
mirrors left to right, useful when text reads backwards after import. Flip V mirrors
top to bottom. Both are mirrors, not rotations, so use Rotation to turn artwork
upright.
You can also grab the artwork in the 3D view. Drag inside the frame to move it, a
corner handle to scale, or the green handle to rotate. The frame follows the design
face, so it curves on a curved part. If it turns amber, the design's center has moved
off that face, and part of the artwork won't be cut.
Left panel · Depth
How deep recesses cut
Depth is measured down from the top face. Set a default for all colors, then override
individual ones in Colors detected for fine detail.
A color with its own depth is highlighted in the list. "Reset all" clears every
override, and a row's own "↺" clears just that one.
A depth of 0 cuts nothing, so it is raised to 0.2 mm. Anything below 0.2 mm
still cuts as asked, but needs a layer height finer than the usual 0.2 mm.
A depth deeper than the part has material for is cut at the deepest it can take. The
app says so. That limit is the whole part, not its wall. A pocket can still break
through a thin wall without a warning. Check the cut in the 3D view before printing.
To stop cutting a color entirely, use "→ base" on its row to print it in the body
instead.
Left panel · Colors detected
Merging into filament slots
Auto-merge groups colors that look alike. None turns it off. Slight (the
default) catches near-identical copies of one color. Medium or Strong pull gradients
down to fewer filaments. It's fully reversible: drag the slider back down to pull
colors apart again.
You can also merge by hand: drag one color onto another to combine them into a single
filament slot. They then share one depth. The ⠿ grip marks what's draggable, or pick
the other color from a row's "Merge with…" dropdown instead. A merged slot prints in
the group's main color, not a blended average. Click a merged color's "×" to pull it
back out.
The Base row pinned at the top is a slot too. It prints as the body instead of
being cut as a recess. "→ base" on a color, or a whole group, adds it to the base.
Click a base color's "×" to send it back to being cut. Empty the base and the body
falls back to the Body / blank color picker in Part.
The line below the list ("N colors → M slots needed") always counts the body's own
slot. That's the "+1" you see before anything is merged. Every AMS or toolchanger unit
holds 4 slots.
Past 4, the line stands out and a pill offers to merge two colors. That's one option,
not the only one:
- print a color in the body with "→ base"
- add a second unit, where the printer takes one
- swap filament by hand at a pause
| Bambu (daisy-chained) |
up to 16, or 25 on an H2D |
| Snapmaker U1 |
4 toolheads, a hard ceiling |
Only going past your printer's real maximum turns the line red, and even then
exporting still works. Both update the moment you switch printers in Export.
Dismissing the pill hides it until the count or the printer changes.
Left panel · Export
Getting a printable file
Pick your printer, then export. The 3MF is print-ready for Bambu Studio, OrcaSlicer,
or Snapmaker Orca, with colors pre-assigned to filament slots.
A long rebuild shows a curtain with a Cancel button. Most of the wait stops the moment
you press it. A cut already in progress finishes first, so the button briefly reads
"Cancelling…". The parts go back to showing uncut, and Export switches off until you
build again. Your settings stay untouched and saved.
The box above the button shows what you're about to get. It lists how many parts, how
many plates, and a swatch per filament, plate by plate. It follows the design on
screen, so a change updates it before you commit. Parts whose plate isn't fixed in
advance show parts and filaments without a plate count. A hubcap cut to artwork shape
is one example.
About
The TMT
TMT Mosaic prepares color-inlay artwork for the free, open-source Toddler Mobility
Trainer (TMT), a 3D-printable device for children ages 1–8. Printable part files and
assembly instructions live at
3d-mobility.org.
Telling us something went wrong
Bug reports go to
GitHub issues. On the hosted app, a Feedback button sits in the bottom right of the 3D
view. It sends a note straight to us. Leave an email if you want a reply.