I know rhino is neither a parametric nor a solid modeler, but I’m wondering if I can approximate some basic functionality. I am shelling objects for 3D printing and some of them need a honeycomb infill for strength. The way I am currently approaching this is to shell the object with the shell command, and then build a honeycomb ‘extrusion’ by creating an array of a hexagonal cylinder and boolean difference that with a box. I then take this object and boolean it with the shelled object. I would like to be able to adjust the wall thickness of the infill at this point. If Rhino could understand the honeycomb extrusion object as an array of hexagonal solids booleaned with another solid, I could scale the hex cylinders and have some parametric functionality. I tried doing this with a block instance, but it is my understanding that rhino will only perform boolean functions with closed polysurfaces.
Is there any way to maintain the flexibility of a block instance array after boolean operation?
can block instances be booleaned?
should I be using another program for this kind of task?
Interesting. Paramteric modeling like this is indeed impossible. Keeping a “history” on objects can be useful for changing fillets, hole sizes, etc. But an array like this to my knowledge is beyond that and the block boolean thing would be a problem. The record history button only does so much and people use Grasshopper for more complicated parametric tasks like the one you described.
I’d ask though why you’re booleaning a fill for 3d printing. Not that it’s the question or my business but shouldn’t that be handled by your slicer? Rhino’s boolean is pretty slow for subtracting hundreds of polysurfaces from another polysurface so this is a bit of an unsatisfying thing to script. I wrote a basic one that does close to what I think you’re talking about. Not sure it’ll convince you to try grasshopper or solve your problems but if you have any questions or want me to customize it so it works let me know. You’ll have to install grasshopper to see the (slow) script and change the paramters. If you don’t feel like it the attached 3dm has the input and output of the script as seen above.
Edit: Grasshopper isn’t on mac yet, is it? Oops didn’t read the sub title. Hex Fill.gh (31.5 KB) Hex Fill.3dm (2.2 MB)
Thanks for you response- I was thinking this could be a perfect scripting application. looks like Grasshopper for mac just came out recently so maybe I’ll take a foray into it! Whereas I am not at all acquainted with it I am very much interested in becoming so.
Point well taken re: the speed of Rhino for such tasks.
And, yes, a slicer should be doing this! I run simplify 3D for most of my own printing, and it would make quick work generating a gcode file with honeycomb infill. But I am also sending files off to be printed on an industrial machine, and I need to supply my own print ready .stl’s.
Fun. I’ve got no experience with 3d printing except directly running the machines myself. Good luck. It seems like a hard problem to generalize… I wonder if others have tried. I’d ask the same question on the grasshopper forums if you do take this on as a challenge.
What is “Connection Science”?
Connection Science is a world-leading interdisciplinary journal dedicated to exploring the convergence of the analytic and synthetic sciences of mind including psychology, neuroscience, philosophy, linguistics, cognitive science, computational modelling, artificial intelligence, analog and parallel computing, and robotics.
A strong focus is on the simulation of living systems and their societies, including humans, and on the development of novel forms of synthetic life such as biomimetic robots. Articles arising from connectionist, probabilistic, dynamical, or evolutionary approaches, and that explore distributed adaptive computation or emergent order, are particularly relevant. The journal also encourages submission of research in systems-level computational neuroscience that seeks to understand sensorimotor integration, perception, cognition, or awareness in brain-like model systems.
The proceedings of the International Conference on Parallelism in Architecture, Environment and Computing Techniques (PACT), will be published in the “Connection Science” journal and will be published by Taylor and Francis.
For more information about the conference: https://www.ierek.com/events/parallelism-in-architecture-environment-and-computing-techniques/