Feature request: use 3D model's internal structure as infill.
I'm not on GitHub, so I can't post there. Thus I leave this here in hopes that one of the Dev team will see it...
I'm experimenting with using totally custom, non-repeating internal structures to items printed with flex filament, as a way of controlling where and how they flex. (and how rigid they are in other areas.) So the models are hollow shells of variable thickness, with various internal struts, planes and ribs. It would be nice if there was a way to tell PrusaSlicer to "treat the whole thing like a vase. Just print all the structure as perimeter lines" And don't worry if 80% of the perimeters are interior to the shell.
I normally run industrial CNC's, and have for-real CAM output systems that can be very roughly frankensteined to do what I want, at least at a 'proof of concept' level, but crosscoding the FANUC G code they spit out into something the Mk3 can deal with is a fair bit of work. Did it once to prove the point, but only on a very simple geometric solid. On the organic forms I'm actually thinking of, no way in hell to do it in any reasonable timeframe. (CNC mills don't normally step at 0.15mm Z. So the software isn't optimized for *that* level of repetition. And there's still a fair bit of hand tweaking. For a cube? OK. For a flexible component cover? No.
If anybody has any suggestions on a way to get PrusaSlicer to do this without adding a feature, please let me know.
Care to post an example model we can use to test settings with ?
I'll have to gin up something. The real prototype I'm working with is proprietary.
It'll be a pretty basic rectangle-ish shape, with internal struts. Most likely to turn up this weekend.
Ok. Much easier to play around when you have a working example. Its kind of hard to visualise. I can tell you now it wont be printed like a vase as that is a VERY specific type of printing but getting it to only use perimeters 'may' be possible depending on the structure of the model.
As long as the model doesnt have any zero thickness planes (like those rc plane wing designs that arent manifold) then it should be possible.
[...] I'm experimenting with using totally custom, non-repeating internal structures to items printed with flex filament, as a way of controlling where and how they flex. (and how rigid they are in other areas.)
Stefan from the CNC Kitchen YouTube channel did something that sounds similar to this. He used STLs as modifiers for larger STL parts, selecting increased infill where stresses were greatest.
Here's a 30mm sphere with a separate 20mm cube loaded as a modifier:
If I set the infill of the sphere to 0% and infill of the cube to 50%, I get this result:
Stefan did it with far more elaborate parts based on stress load testing, but this is the basic approach. Will that do what you need?
Alternately, if you want to "design in" your infill, you could make the outer shell non-manifold. Everything external and (designed) infill will be printed as perimeters.
That technique is just as likely to produce a filled area inside the outer shell with extra perimeters inside intermingled with the infill. Like those badly designed RC plane wings I mentioned. They were designed to use a quirk of how S3d slices but wouldn't slice properly in another slicer as the model was not really valid. For those they wanted single wall outer with single wall internal struts like on actual plane wings.
With the proper design it can probably be done but we need to understand the required output properly and then work out how to make PS jump through any hoops to do it. I'm quite looking forward to an example 🙂
[...] With the proper design it can probably be done but we need to understand the required output properly and then work out how to make PS jump through any hoops to do it. I'm quite looking forward to an example 🙂
I suspect the MMU approach can be used, but don't have any experience with doing so. At some point, a multi-part print and glue may be the best solution.
Yeah, it was the Spitfire wings that gave me the idea.
Just for grins, I ran one of them through a G-Code visualizer. It exploded. The build on my office computer is a little more robust, so I'll give that a swing tomorrow.
It'll take me a couple of days to cook up a 'generic' model to use to test on. So figure this weekend sometime.
I may have outsmarted myself. Once I get the test model done, I'll test it in PS. I *think* there may be a way to get it to do what I want already, just by how I set up the original model.
To answer a question, no, just setting up large format geometric interaction layers in PS won't get me where I need to go.
Picture a seal flipper. Big rubbery paddle thing with bones internal to it. So it'll flex controllably where the joints in the bones are, but not in the middle of the bones. Same idea. The internal ribs would have contours and cutouts to control where the thing flexes, and in what axes.
Thanks for paying attention, and offering to help. If this works out, it could be a most useful trick for flex filaments.
Yeah, I outsmarted myself.
Turns out to be reasonably easy to build a model where PS ignores the dead space within an empty volume, and only prints whatever internal struts the model has.
I made a pair of test models. One 'seal flipper' and one 'finger'. When I sliced the seal flipper, I noticed that PS didn't see that the model was fully closed. So I made one up out of a geometric cylinder, just to see what'd happen if the outside perimeter was nailed shut for sure.
I tried to upload them, but apparently you can't upload STL's.
So, turns out that PS is much more capable than I thought initially. Most impressive. I'm coming from the 'heavy equipment' end of the world. My smallest CNC weighs about 6K kilos, if that gives you an idea. So I went into this assuming that PS was pretty stripped down in comparison to the serious CAM programs. My apologies. You've written a very solid thing.
If you compress the STL, into a Zip File, you can attach the Zip File