I'm looking for suggestions for 3D design software which support designing multi-material parts.

I will be printing on a multi-extruder machine based on RepRap firmware. The printer will handle the files when given a proper g-code file. Slic3r will produce a proper g-code file given the right input. STL seems to be single-material, so I am looking for something like AMF files, or any alternative.

My question is, what is available for 3D design software which will produce a geometry file which slic3r (or some other slicing software) will properly process? I'm not asking for opinions on which software is best.

I believe this is my first question in any StackExchange forum, so if I have trespassed on community standards, it was not my intention.

  • 1
    $\begingroup$ Cura merges 2 STL files, and can be printed for 2 materials. Like printing PLA or nylon with extruder 1 and PVA with extruder 2. $\endgroup$
    – 0scar
    Commented Mar 26, 2018 at 19:17
  • $\begingroup$ I'm still waiting hopefully for my Kickstarter kit to arrive - it's a resin-style printer which supports rotating among up to 4 different color reservoirs. But to your needs - there are multi-head extruders which will handle any material, as Oscar says. $\endgroup$ Commented Mar 27, 2018 at 15:20
  • $\begingroup$ My problem isn't the extruder or printer, it is finding a workflow that allows "easy" design of multi-material parts, and "easily" rendering those parts on an appropriate printer. $\endgroup$
    – cmm
    Commented Mar 27, 2018 at 18:38

2 Answers 2


A Scriptable Process for Generating Multi-Material STL Files:

I am now using interactive CAD software to define the more complex features of the object I am printing (in the current case, clock faces), and then using OpenSCAD to do the boolean volume operations.

To print the composite object, I need three STL files, one for each material I am using. The three parts are the clock body, the translucent optics to conduct the LED lights, and the clock numbers.

I need:

  • one STL for the body minus the LED optics and minus the numbers.
  • one STL for the numbers minus the LED optics, and
  • one STL for the LED optics.

The CAD package supports the operations, but every time I change anything, I have to jump through several hoops to combine the three parts, manually and recreate the three objects.

I had used OpenSCAD to make the optics and the numbers, and they were never in the same coordinate system as the clock body from the interactive CAD package.

So, I scripted it and used OpenSCAD to read the clock body STL and being it into OpenScad. I transformed it into the common coordinate system. I then did, one by one, based on a command-line parameter, the boolean operations, rendered the result, and exported the resulting STL file.

When I read the three files into PrusaSlicer, the lined up perfectly and everything worked simply, without and precision hand-eye coordination, and with no drama.

Scripts and command lines work for repeatability far better than squint, drag, and guess.

  • $\begingroup$ That's a huge step! almost 3 years, but good you came back to this! $\endgroup$
    – Trish
    Commented Jan 23, 2020 at 9:59

You do not necessarily need a specific design tool, you can use any tool you want to create your multiple material product. It is the slicer software that manages the materials by assigning the correct extruder. E.g. Cura is able to join 2 STL files that fit together and assign each part a specific extruder and thus material. Please read more here for instructions

  • $\begingroup$ Thank you @Oscar. I have the Cura instructions you linked. So far, I have been using RepetierHost and slic3r. I will install Cura tonight. It seems that the key step is the "merge models" step, and coming to understand the constraints on merging. I'll try answering my own questions with Cura directly. $\endgroup$
    – cmm
    Commented Mar 26, 2018 at 21:24
  • $\begingroup$ Hi @Oscar. The setup probably wasn't right, but I tried "combining" three nested parts, with the thought of printing each in its own material. Using Cura, I could add the three STL files to the build area. I could not position them nested within each other (even through the were non-intersecting). Cura would move them apart to correct my error. When I tried the "merge" option, it dropped them on top of each other so they had overlapping walls, and I couldn't adjust their relative positions. I will need to make a better test case. $\endgroup$
    – cmm
    Commented Mar 27, 2018 at 18:41

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .