Skip to content

Feature-Request: Multi-zone texturing + flexible export (3MF multi-material, split STL) #19

@Avatarsia

Description

@Avatarsia

Following up on #12 (3MF export) — I've been thinking about how multi-material export could work in practice, and I think there's an opportunity to solve a bigger workflow problem at the same time.

The idea: Instead of applying one texture globally, allow defining multiple zones on a mesh, each with its own texture and displacement settings.

Right now, angle masking and face exclusion let you remove areas from texturing, which works well for simple cases. But if you want different textures on different parts of a model (say, a grip texture on the handle, a hex pattern on top, smooth on the bottom), you'd have to run the tool multiple times and combine the results manually.

How it could work:

  • A zone list in the sidebar replaces the single global texture config
  • Each zone gets its own texture, amplitude, scale, rotation, and a preview color
  • Zone painting works similar to the existing exclusion painting — assign faces to zones via brush or bucket fill
  • One face belongs to exactly one zone, with a "default" zone for untextured areas

This naturally enables three export options:

  • 3MF with material groups — each zone maps to a material ID, so slicers like PrusaSlicer or Bambu Studio can assign different filaments per zone (e.g. TPU for grip, PLA for the rest)
  • Combined STL — everything in one file, like today
  • Split STL per zone — each zone as a separate file (bundled as ZIP), loadable as individual objects in any slicer

I could see this being phased: first the zone system and UI, then per-zone displacement, then the export formats.

Would love to hear if others have run into similar multi-texture needs, or if there are use cases I'm not thinking of. Does this feel like the right direction for multi-material support?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions