MakeGood

TMT Mosaic needs a wider window

This tool is built for desktop and laptop screens (900px and up). The 3D view and the controls both need real room. Try widening this window, closing split-screen, or switching to a laptop or desktop.

MakeGood

TMT Mosaic

for the MakeGood TMT · SVG or image → multicolor recess geometry
0 tris

How this works

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.

Part
mm
mm
The body color used when no artwork color is grouped into the base.
Artwork
Drop an SVG (sharpest) or photo here, or click to browse
SVG: flat, distinct fill colors only. Gradients and patterns are flagged and skipped. PNG/JPG: reduced to flat colors. Set Colors and Detail on the loaded row.
Artwork fit
%
%
mm
mm
°
Margin sets the auto-fit border. Scale multiplies on top; over 100% bleeds past the edge. Flip H mirrors the artwork left to right, which fixes text that reads backwards. Flip V mirrors it top to bottom.
Depth
mm
Measured down from the top face. Individual colors can override it.
Colors detected
NoneSlightMediumStrong
Load artwork to detect color regions. Each flat color becomes its own recess in its own filament slot.
Auto-merge groups near-identical colors into one filament slot. Drag one color onto another to merge them by hand.
Export
The 3MF is print-ready for Bambu Studio, OrcaSlicer, or Snapmaker Orca, with colors pre-assigned to filament slots. The STL set is the fallback for other slicers.