Grasshopper

algorithmic modeling for Rhino

I'm brand new to Grasshopper and have been attempting to make a parametric barnacle-like structure that can be eventually 3D printed. I've been able to create the geometry that I want (at least in appearance), but I'm having some trouble figuring out how to turn my various pieces into a truly solid mesh.

The definition I'm working with (definition.png) gives me four loft surfaces - the inner and outer walls, and the top/bottom caps. However, when I bake the geometry I end up with 4 separate pieces (pieces.png) rather than one solid object.

I've tried several different components to merge these pieces together, but so far they all seem to act on each of the 4 pieces individually rather than merging all of them together into 1.

How can I take my various pieces and construct a solid object from them?

I am able to Bake and Export what I already have and slice it up for printing, but there are some strange artifacts that don't make me confident in the printing. When I run the STL through a mesh repair program like meshmixer I get lots of odd problems that it don't get repaired correctly.

Views: 11033

Attachments:

Replies to This Discussion

I have made many objects similar in shape to yours.  Upload your Grasshopper file and I may be able to find out what's wrong.  You are correct in your assessment - your problem is you have not connected your surfaces together and the resulting STL fie is not manifold - meaning is would leak water if you filled it up.

Check for naked edges - Rhino's tool for identifying naked edges is a good one. In general you should have no naked edges before you export from Rhino to an STL file.

Also, you should run your resulting STL file through a repair program like 3D Builder (assuming you are running Windows 8 or 10) or the online model repair service at

https://netfabb.azurewebsites.net/index.php

Rhino will create STL files that have errors and that cannot be printed without repairs, even though everything looks good to you.

Grasshopper definition attached.

Looks like there are indeed naked edges throughout the model (photo attached), but I'm not sure how to fix them. I've tried using both Brep Join and Mesh Join, but they just output the same four shapes that I supply to them without doing any joining. Still very new to Grasshopper so I'm not sure what the approach is in this situation.

I personally like using Meshmixer for mesh repairs, but it is not able to correct the errors that my exported mesh from Rhino has. Seems to be having some issues identifying what is an "inner" and "outer" surface.

Attachments:

you didn't include your point source for the 4 point holders.  How did you generate these points?

Try this - after you have generated the inside and outside curved surfaces, find their top and bottom edge curves. Then use the 2 top curves to make a ruled surface, and do the same for the bottom 2 curves. When you join these 4 surfaces you should have a manifold surface.  But it will have a hole in the bottom. 

To close the hole make a large solid cylinder the same thickness as you want the bottom to be. Then do an intersection of the merged 4-surface part with this. Then pick out the center solid and merge it with the combined 4 surface part you already have.

You should not have to mesh anything - let Rhino do that when it creates the STL file. For printing I use an STL tolerance of 0.01 mm. (That is not a typo.) This results in smaller STL files and parts that print perfectly smooth.

The 4 control points are manually added in Rhino. Nothing special.

I thought that my definition was doing what you described? Although I am using Loft instead of RuleSrf for the top and bottom caps. This is how I am generating my four pieces - but when I connect these four lofted pieces into a Brep Join component I just those same four surfaces as a result with no actual joining.

Not quite grasping what you are describing about the "bottom hole" - I want the top and bottom to be open. Essentially I'm wanting a pipe with a certain thickness to it, rather than a vase-like shape.

Attachments:

you are attempting to join nurbs with lofted polylines > Armageddon

see attached

Attachments:

Ah - I can see that two of my Lofts are resulting in "Untrimmed Surface", while my other two Lofts are resulting in "Open Brep". Is that what you're referring to?

In your definition you use Sweep and Loft to get Untrimmed Surfaces out of all of the pieces. But I wanted more control over the profile of the Lofted curve, so I thought I had to have a Graph Mapper and Loft in there, which apparently gives me a different outputted data type than the Lofts I'm using to create caps on the top and bottom (uh?).

I will definitely start messing around with components until I can get the data types to match up, but if you know of a solution let me know!

Attachments:

Well ... Pieter provided a solution with the mapper. 

Other than that for Plan B:

1. Use 3 points (or 4) to define the rail axis (the curve).

2. Use 3 pairs of  circles instead f 2 > that way you can control the shape. Let's call them inner and outer circle for a given parameter t (on the curve). The inner and outer must differ a bit with regard the t value (see 4). So we have actually 6 t parameters and 3*2 circles (or some other shape).

3. Sweep1 the outer circles and join the brep with regions due to the "first" and "last" circle > resulting a closed brep (variable pipe can also cut the mustard). Do the same with the inner circles.

4. Since outer and inner circles differ a bit  (like "shifting" 2 breps "along" the same curve, so to speak)... if you subtract the inner from the outer brep you'll get the closed brep (with a "bottom") bottle that you are after.

And in case that the above sound a bit "Greek" to you (I'm Greek you know, he he) here's a small demo (in case that you want to do a transparent thingy where the differences in thickness ... er ... make(?) some(?) sense(??)).

Attachments:

And although the attached DOES NOT make anything solid (it could with a "few" mods) it is maybe useful for providing some ideas/ways with regard  controlling shapes et all (ignore the C# related with the tequila effect or assume that is some kind of "custom" component, he he).

Attachments:

PS: there's also the notorious  Alien Spine Cuppa (C)(TM)(US patent pending) case available ... but only for the brave (Alien stuff is not very friendly to handle). Ideal for planets Utopia, Pink, Zorg and UzuRuBuBu.

Notify if you want such a freaky thing (available in brushed bronze or solid gold):

Here is a fixed version.  I'd suggest you stay away from meshes because they don't have the accuracy of native Nurbs objects. What I did after exporting "This is it" was to use Rhino Join to join all 4 surfaces together. This is just 4 clicks and eliminates the problems caused by naked edges. Then the exported STL file can be sliced directly with no repairs.

The points you picked result in a bottom that is not horizontal - I did not try to fix this. IN general I try to use Grasshopper to create all the geometry - that makes for a neater GH project and only requires one saved file for future access.

Attachments:

Looks like your definition results in the same thing I was getting before - 4 separate surfaces rather than 1 solid object.

It seems that the BrepJoin component is not actually doing anything other than collecting the 4 surfaces passed into it and spitting out a List containing those four surfaces - it's not actually joining them into a single object like I expected.

On the plus side, your idea of using RuleSrf does produce the same data type as the Lofts to make the side walls, so they "should" be compatible (I would think) as per Peter's observations. They just aren't being stitched together for some reason.

I'd like to scale this up to hundreds or thousands of parametric barnacles, and eventually have them "grow" on existing mesh objects imported from elsewhere, so ideally I'd like to have the Grasshopper definition generate everything and not have to do any post-processing in Rhino. However, that's very good to know about in general.

Since I hope to attach these barnacles to existing mesh objects later on, I don't mind not having a horizontal bottom :) 

RSS

About

Translate

Search

Videos

  • Add Videos
  • View All

© 2024   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service