Multi-material printing on multi-tool XL
(Topic moved from this thread)
I want to figure out the best way to make my XL 5 tool printer print different materials.
Take this example: Using OpenSCAD, I create a box and insert a gasket around the perimeter of the mouth. I do this with 2 distinct shapes. I export to STL and open with PrusaSlicer.
Now, I want to make my XL print the two compoents using PETG for the box and TPU for the gasket. Let's assume I have PETG loaded into tool #4 and TPU loaded into tool #5.
It seems the only way to assign PETG to the box and TPU to the gasket is to use the filament presets on the "Plater" screen (#4 PETG, #5 TPU) and use the multi-color tool to "paint" the box with one color and "paint" the gasket with another. Then export to gcode and get to the XL printer and select for print. Then remap "tool 1" to "head 4" with PETG loaded and remap "tool 2" to "head 5" with the TPU.
Is there a cleaner way to do this?
PS I noticed the "paint tool" in PrusaSlicer only offers 2 heads to assign. I have the XL 5 tool printer associated with the PrusaSlicer session and can see the 5 heads in all the other settings screens. Can you actually color an object with 5 different colors under PrusaSlicer 2.7.1?
RE: Multi-material printing on multi-tool XL
yes, you change the extruders to access the other filaments
the mouse has two buttons I usually set the right button, to the main model colour, and the left button for the detail filament. i paint the sections of detail with the left button, and erase errors with the right button, working in sections, changing the left button filament as required
Joan
I try to make safe suggestions,You should understand the context and ensure you are happy that they are safe before attempting to apply my suggestions, what you do, is YOUR responsibility. Location Halifax UK
RE:
Thanks for the reply. Can your process work for 3 or more colors? I can only see how to set the paint function with 2 colors/extruders. To avoid gcode edits, I was hoping to do up to 5 colors/materials on the same object, if possible.
I also noticed (finally) the right click menu on an object. The last entry allows selection of extruder for the object itself, so that helps me assign extruders to objects, which helps a lot. It's the use of more than 3 colors/materials for the same object I'm trying to figure out.
RE: Multi-material printing on multi-tool XL
yes... you can only paint one colour at a time, so say you are "Painting" Spyro...
Set whole model to green
select green on right mouse button and
red on left mouse button - paint the red details
Select Black on left button, - paint black details,
set left button to white, - paint white details
set left button to purple and do eye pupils
set left button to yellow and do eye hilights.
if at any time you mis colour a section, right click on it, and reset the colour
this allows you to paint the whole model, with two buttons
regards Joan
I try to make safe suggestions,You should understand the context and ensure you are happy that they are safe before attempting to apply my suggestions, what you do, is YOUR responsibility. Location Halifax UK
RE: Multi-material printing on multi-tool XL
Keep your bodies of different materials/colors separate in CAD. Then when you import into PS you can break it into parts, using the P button at the top of the screen.
Then you can just pick which extruder you want for each part. Easy peesy.
RE: Multi-material printing on multi-tool XL
Keep your bodies of different materials/colors separate in CAD.
That's the way to go. If you're gasket and the box are separate objects in your OpenSCAD design (which they should if you generated them separately), then just split them into separate parts as Brian described. Right-click on them and select the extruder, or right click on the extruder icon next to the part in the parts-list.
It's the use of more than 3 colors/materials for the same object I'm trying to figure out.
Now that makes we wonder if you're not seeing more than two colors offered? Yes, in the paint tool you can only choose two extruders but when clicking on the part you should be able to select from all 5. If you see less than 5, is your printer profile set to 5 extruders in General?
If you still having issues, please upload a zip-compressed 3mf project file so we can look at what's going on.
Formerly known on this forum as @fuchsr -- until all hell broke loose with the forum software...
RE: Multi-material printing on multi-tool XL
Dont underestimate how useful Modifers are. Instead of painting with a brush you can add various shapes as a modifier to your model and select a different color for the modifier.
For example, the entire model (black) is extruder #1. The Green areas are next, I added box modifier which I made 2mm thick across the build plate (the model prints face down) which I set to extruder #3. Last I added the text as a modifier (backwards of course since it’s from the bottom) with extruder #2.
RE:
You are far better doing all the work in CAD - with OpenSCAD, parts in contact will be rendered together as one so make the output conditional, save several STLs and load them together as parts; this allows contact between different filaments and even interpenetration - 'stitching' less compatible filaments together.
So you wind up with script segments like:
part=1; // 1, 2 or 3 .. if(part==1){ part_1(); } if(part==2){ part_2(); }
Whilst it *is* possible to automate the output it's not worthwhile for a one-off design, just change the part number and re-run saving a slightly differently named part each time. When loaded into PrusaSlicer you declare them as parts and assign extruders as reqired.
I used this technique to print a folding chessboard only 6mm smaller than the full XL print sheet using two colours of PLA and TPU hinges so it folds small enough to go into a pocket.
Cheerio,
RE:
nice idea.
In OpenSCAD, as an alternative to if-statements, you can use modules. You can display them together or export them into separate STL-files without changing their positioning. Like functions, modules can have arguments so that you can parametrize your script, e.g. exchange the text with different names. Apropos: part1... are of course terrible names you should change into something more meaningful.
Scripting in text files also has the advantage, that they are ideal to be used with version control like git, even if you initially think it is a short lived thing with only a couple of changes that does not have to exist for more than an hour.
module part1(){ // ... eg. translate rotate cube } module part2(){ // ... eg. translate rotate text } module part3(){ // ... eg. translate rotate whatever } module assembly(){ part1(); part2(); part3(); } //part1(); //part2(); part3(); // assembly();
I had assumed the parts would be modules, it makes things much simpler.
The reason for the conditional is not only simplicity of understanding but also that it facilitates command line invocation with externally declared constants so extending programmable/parametric control. Not relevant to this thread but the logical extension is an interactive web based script that can be tailored by the user.
Cheerio,
RE: Multi-material printing on multi-tool XL
Hi all,
Thanks a lot for the replies. I have been learning how to use the latest edit options in PrusaSlicer and am having success.
1) @joantabb Thanks for telling me about these basics. I had been trying to do this in CAD, which is only part of the picture. I am now using the mouse buttons the same way you do. I was initially confused about how the color editing linked up with extruder selection. I honestly think this could be a bit more intuitive with a couple of UI changes. It also helps to think of different materials the same as different colors! (duh) I was making it harder than it was.
2) @brian-12 @fuchsr I organize my objects in OpenSCAD with modules for each part and render them separately. In fact, to force myself to write modular code that results in easier sharing across projects, I usually write the main function first in pseudo-code, then back into the details. For example (see attachment),
// to make a clock render_backplate(); render_numerals(); render_ornaments(); // example of render_backplate render_back_base(); render_mount_tabs(); render_mount_holes(); render_clock_shaft_hole();
These functions result in individually selectable components in PrusaSlicer, which makes the editing "easy peasy" 😀 I'm about to alter the clock faces to do multi_color faces, plus a thin TPU layer between the case and the plexiglass. The clock in the attachment photo was made on a MK3S where I was restricted to about an 8" diameter. Now with the XL, I can go up to 13", which is great!
3) @kurt-gluck I am experimenting with your suggestions. I like this idea.
RE: Multi-material printing on multi-tool XL
By the way, major bonus points if anyone can tell me the movie that inspired the clock face attached in my previous post! I have had a lot of fun trying to come up with clock faces that are weird, interesting and different. Would love any suggestions! Especially rare numerals from dead languages, stuff like that.
RE: Multi-material printing on multi-tool XL
Hello Kurt,
can you explain how you generated this ? I want to print something similar (Text on black background, upside down on the first layer) but I have no idea how to generate the 3D model. Many Thanks.
Dont underestimate how useful Modifers are. Instead of painting with a brush you can add various shapes as a modifier to your model and select a different color for the modifier.
For example, the entire model (black) is extruder #1. The Green areas are next, I added box modifier which I made 2mm thick across the build plate (the model prints face down) which I set to extruder #3. Last I added the text as a modifier (backwards of course since it’s from the bottom) with extruder #2.
Copy this OpenSCAD script:
// First layer inverted text part=0; // 0 = plate body, 1 = text; content="MatthiasPolar"; depth=0.4; // Assumes 0.2mm layers if (part == 0){ difference(){ cube([100,20,2]); addtext(50,10,content); } } else { addtext(50,10,content); } module addtext(x,y,t){ translate([x,y,depth]){ rotate([180,0,0]){ linear_extrude(height=depth){ text(t, halign="center", valign="center"); } } } }
Run once with part=0, export as plate0.stl. Run again with part=1, export as plate1.stl.
Load these together as parts in PrusaSlicer and proceed as above,
Cheerio,
RE: Multi-material printing on multi-tool XL
Ok, so The model was derived from someone else’s model. I did all of the work in this case in Prusaslicer. The base object was already divided into two halves. I took each half, doubled it, glued it back together. I think I exported the STLs at this point. Ok, then you import one of the STLs, in prusaslicer you can (like tinkercad) add simple shapes. The difference is not only can you add them as positives or negatives but you can add them as “modifiers”. A modifier is like a shape but has no realness, what it has instead is the definition of a region that you can then assign properties to. In this case the property is a different extruder. You could also change infill densities etc. So for the green area I define rectangular prism modifiers (started as cubes then resized) that define the region I wish to be green. I then change the extruder in these areas.
To do the text, I next use the slicers text tool (after remembering to flip the view so I am looking from the underside) but instead of embossing text, I add it as more modifiers defining yet a 3rd extruder.
If you search for KURTGLUCK in printables, you should be able to find my version of this model, see the simple STLs and the 3MF file