Grasshopper

algorithmic modeling for Rhino

How to "repair" a grasshopper design to be 3D printed?

I want to print this model:

The problem is that the printer doesn't know how to interpret the unions or meetings between the panels and it creates a kind of small protrusions (as corners). And what we want to achieve is a smooth surface without bumps between panels because it should be a single solid. Does anyone know how I can do this?

The definition of grasshopper is attached below:

2.JPG

Thank you very much.

Views: 1995

Attachments:

Replies to This Discussion

Can you export the model as an STL? I presume when you do this you get lots of seperate "shells" that are assembled. Netfabb online repair software might be able to merge them all together into one STL shell but if they do not join together seamlessly then it probably won't

If you upload the actual GH definition instead of a jpg then you have more chance of getting someone to take a look at it!

Yes, I've exported it but when I try to repair it with netfabb it doesn't works well. I don't know how to do :(. Maybe there is another way in grasshopper to make the geometry of the model I want without implying that the figure remains divided into panels?

yes you can probably do this in GH, can you upload the model instead of just a jpg of the model?

Of course, sorry!

Boolean unions of NURBS solids or closed meshes sucks in Rhino and thus in Grasshopper, compared to a lot of other programs. It's because the routine is merely black box automation of finding intersection curves that are then used to split and join the pieces, but with pieces that merely exactly kiss, there simply is no well defined intersection curve since the parts don't in fact intersect! Often it works anyway, of course, in Rhino, manually, for pairs of parts, but tolerance is involved and with so many faces involved, in large arrays of parts, it nearly always fails. Your intersections look fine actually, when I use Cross Reference to intersect them all, here done on a quarter of your baked model, yet Rhino still won't do a union except on a few items at a time:

One way out would be to change strategy entirely and create your "vase" body as one simple polysurface minus any panels, then array short elliptical cylinders through it and somewhat beyond using surface morphing from a source surface to each panel and use those to Boolean Difference cut the holes, and then since the intersection curves are very well defined (also nicely in the middle of faces rather than lying at edges) it will definitely work and you are never trying to Boolean union any kissing surfaces.

Normally I open such assemblies in $8500 Geomagic Freeform as 3D clay, to automatically union them during import, no matter how weird the faces are, then I reduce the mesh for export and I always have an efficient perfect single closed mesh. Or Materialise Magics can usually do the Booleans as meshes just fine, which is why some 3D print services won't complain, whereas others will, when you give them multiple objects in an STL file that don't really overlap. Converting your baked output to meshes also fails in Rhino, which sometimes can help.

Though not a solution, knowing why it fails in Rhino can be less maddening than being so confused, since you can then try to find a strategy to avoid overly similar surface areas that screw up black box Booleans.

Slightly scaling up each panel so overlaps are clear won't often work since it only makes things worse when you magnify in or manually check overlap curves that usually come out really weird in places.

You could panel after removing the sides of each source object so a simple join would work, avoiding a Boolean.

Wow, the preview is what slows this script down so much, and it's all much faster in wireframe preview mode, so it's generating a new mesh for each item each run, made worse by your High Quality mesh preview setting. It didn't make sense since the Profiler widget said it was only 9.6 seconds for the slow final component.

OK, so I fixed it, by indeed removing the redundant sides "manually" and then making up for the lack of end caps by putting those in "manually" too, then everything simply joins into a single closed polysurface without there being any need for a black box Boolean step:

Attachments:

A simpler way of doing this would be to use the Weaverbird Plugin. This way you are creating one mesh rather than lots of solid objects that you then have to boolean etc to then output as an STL mesh.

As Nik points out, booleans are frustrating in Rhino and I found it was better to learn about meshes as I was aiming for a mesh output for 3d printing.

Apparently there is also a dark side that use C# to get the job done, but that's a whole other language.

Download the Weaverbird plugin and see what you think!

Attachments:

He used Picture Frame to put square holes in it as a single surface mesh, smoothed them into ovals, then Mesh thickened it.

That's certainly better than spending $16,000 to access the proprietary Materialise Magic feature called Shrink Wrap that would quickly convert your original model assembly into a mesh with their non-Boolean routine.

I have Magics at work... it's pretty good, that shrinkwrap feature is impressive and the boolean functions work very well although they still fall over sometimes if you try and boolean 2 objects that have coincident surfaces.

Thank you guys :) In the end, I've tried both options but I've found that the first one is better when you want to give the oportunity of choice between a list of different pattern geometries.

RSS

About

Translate

Search

Photos

  • Add Photos
  • View All

Videos

  • Add Videos
  • View All

© 2024   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service