algorithmic modeling for Rhino


That's an issue I have been willing to know for very long time. Having a wireframe (lines and curves) model, how can I convert into a ONE SINGLE CLOSED SOLID (for 3d printing). Piping and adding spherers at the vertices doesn't work.

Has anyone find a solution to this problem, does anybody know other ways to achive that. I dream an algorithm that thikens the lines and curves and solves all the unions.

Thanks in advanced

P.D: I've allways thought that was a hidden secret very well protected...but maybe there's no straight solution.

Views: 16001

Replies to This Discussion

"Piping and adding spherers at the vertices doesn't work."

Depending on the 3d printing tech / material, you should be able to overlap pipes and spheres to get a model to print in 3d without having to resolve the intersections. This will give you a stick and ball type model. Do you want smooth intersections? That is geometry that can be achieved a few different ways. One that would work with the tools inside of GH is to create some rough the stick and ball method, convert to mesh, and apply Giulio's WeaverbirdBeak Catmul-Clark subdivision...if the rough geometry is modeled correctly, then you should have a resulting smooth mesh model which further abstracts what is a beam and what is a joint.
Thank you Luis,

That's the theoretical approach I had in mind, subdividing like you would do in Maya. I've tried "lattice" function in 3dMax, and failed. Tried extruding edges in maya and failed too. And in GH, that I think is the optimal software since I'm modeling with it, or I'm doing something wrong or there have to be a better way.

I'll attach a defintion much more simple than the one I'm working with, but it should work like an example to see what I'm doing wrong and to see, what people suggest to achive the final ONE SINGLE CLOSED SOLID.

The part of meshing and subdividing (weaverbird) I can manage it to work.


and if there are more suggestions, I'd thank it very much

On 3D printing... the machines definitely have tolerances. We have printed dozens of models which we never actually solved the intersections long as one piece overlaps another, the machine should make it solid. This is not suggested as a general should understand what the machine can do, but generally simple overlaps are absolutely fine.

Yes, I hear what you are saying.... I had a process that worked very well, this was for a chair I designed which to fabricate, we needed a negative mold of it, then it was to be injected with aluminum...

The process was preGH, but I wrote a Rhinoscript to do it. Essentially I first generated the rough geometry which were square pipe extrusions on each line and cubes at each node. The extrusions and node geometry were exported to Maya where I welded the whole thing together as a mesh with some scripts. After all of the geometry was joined together, then I did some smoothing...

It was a very manual process (aside from the rhinoscript to generate the rough geometry, and the welding scripts) but it worked quite well. Automating this should be possible fully in Rhino or Maya with some scripting or GH.

Essentially what I am suggesting is post processing the wireframe model. another way people do this is with a software called Isosurf which implements several algorithms to take image slices from a 3D model or medical scans to recreate a 3D model...I have used this successfully to make a smooth model, though the process is not fully automated yet. The key algorithm here is the Marching Cubes (or Marching Tetra.) which in a way subdivides the model into a matrix of cubes, analyzes the verticies of each cube to see whether they reside inside or outside a given set of parameters, and then it reconstructs the mesh. Usually some smoothing operations on this and you get out a smooth model.

This is a rough output from Isosurf.
Thank you Luis, very much for your time. Any chance to try the MEL/Phyton??) scripts to weld everything?

I know about machine tolerances and about the magic Magics and 3-Matic software from Materialize that repares everything! But I have no acces to that software.
The post was an opening to a fabrication issue that has not been too comented on this forum, an invitation for people explain how they managed to print wireframe models. I thought there had to be a cool way, but from your answers I understand that people does it the better way they find, but there's no perfect simple way for it. Thanks

Anyway, if anybody have suggestions, approaches or magical scripts... Its the right time and place to share it! Giulio where are you? I thought you would had something to say about...

p.s. there is no need for Magics fixing needed to print overlapped 3d geometry...
Hi ALL again, and Giulio
(It happens to me to work closely to Pep (the starter of the thread), may we explain it again)

The challenge is to print wireframe structures.
The method would be creating neat STL files of "thickened" wireframes.

The problem underneath, is that we are not dealing with 2d or 2.5d meshes, but a bunch of lines, intersecting in 3d vertex, wich globally are not topologically related, but its ideally a 3d spatial structure.

As fas as we know:

option1: mesh/solid boolean
>between tubes, for the edges, and spheres at each vertex.
>it happens to get many errors in Magics & crashes quickly with big structures and many meshes.

option 2: isosurface
>either isosurf , or realflow works fine for high blending needs, and small pieces
>looks always good but does not seem to fit slender tubular structures fabrication purposes

option 3: 3-matic software
>used by prototyping industry, seems to repair everything
>expensive, unaffordable, exceptionally

option4: topological extrude
>topologically solve the extrusion of a vertex with many edges, generating non overlapped geometry. For 2d and 2,5 D, it works, but our attempts in maya fail everytime we try with 3D vertices.
> we believe there has to be a geometrical mesh trick
(we imagine Giulio Piacentino's Weaver Bird could have this useful feature)

We'll be waiting for suggestions and solutions (or cases)


Enrique & Pep

Hi, these are actually two very different methods: one is with piping and the other one is with offsetting and smoothing.

For piping:
- we have to be really sure that all pipes and all sphere are there, and there only once. Also, all pipes have to be closed. It is more difficult than one thinks. It's extremely easy to have a double pipe or sphere, and the boolean will NOT work. Also, if there is many pieces, it is much better to boolean them little by little, in groups of maximum 12 adjacent pieces. See the example result.

For smoothing:
- there is an example definition - with a precaution: the mesh of input has to be completely welded. There is no command in Grasshopper for now to do this, but a small script would do. You can just link to a mesh to which to have applied "_Weld 180". See a possible outcome in the picture above.
If you have any problem meshing a brep, please let me know. I could have some advice.

- Giulio
McNeel Europe - Barcelona

Thanks for the advices
We'll try it paying attention to recomedations of piping
Thank you very much for the fast answer!

Its delicate to do the solid union of pipes (closed) and spheres when you have a lot of them. Do you recomend doing it in rhino or grashopper? Maybe there's a supercool software to do the main boolean union...

About the smoothed mesh, the example you posted can be extruded, and that helps a lot. In our case we have a spatial structure, meaning unions of bars in lots of directions, what makes impossible to extrude without error or overlappings.

As enrique says, will try to work out piping unions

Could you explain to me how do you mesh Breps? For example I would like to smooth this polysurface, how would you mesh it to use with your definition?

Giulio, can you post a good setting for the Mesh? The settings for meshing a Brep in Rhino so we can use your plug-in ?



Hi Andres, thanks for asking. The thread is very old. If you find good settings for that please let me know.





© 2022   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service