Grasshopper

algorithmic modeling for Rhino

I think I have a sample problem that many Grasshoppers would benefit from seeing solved…

I submit the enclosed .3dm and .gh files for your consideration. But just know that I believe vase.gh is completely self-contained. As the name implies, I’m using a vase-like design to learn Grasshopper.

My shape consists of 5 surfaces:
* Exterior side
* Interior side
* Exterior base (floor)
* Interior base
* Top (joining interior side to exterior side)

I *think* I’ve generated Brep geometries for each successive surface, beginning with the exterior side, using the edges that I’ve gotten from those surfaces already generated. I *think* that this should result in a collection of adjacent surfaces that can be joined together to create a solid. The problem is that GH is in fact unable to create a solid from these surfaces, and I don’t understand why.

Thanks for any help,
- Bob

Views: 4404

Attachments:

Replies to This Discussion

'Srf | Util | Brep Join' instead of 'JoinFaces' (a custom cluster?):

Attachments:

You're my hero Joseph. 

I see you pulled the surface edges out and worked with them directly. Truth is, you're also using some component modifiers that I haven't delved into yet. I'll research your solution tomorrow and try to summarize what I understand of the approach you took.

Thanks,

- Bob

I could have delved deeper...  Your two 'TopSurfaces' were useless to me, could have obtained the two edges earlier I needed to make the closing surface.  Maybe fixed a curve direction earlier so I didn't have to reverse a branch list in one tree...

Attachments:

So about that top surface... It's flat now. And that's okay because the wall thickness is only 1mm. But I could also imagine somebody wanted a 20mm wall and for the top to be filleted. How would you lift the top? Is there a Pull Surface component?

Thanks again Joseph. You've obviously been doing this for awhile.

- Bob

Lost a post edit...  Something to the effect that I haven't looked at all your clusters so can't say I would do the same things, from scratch.

The "top surface" I created using 'Loft' on two edge curves is a truncated cone.  The last piece need to close the Brep that is the 3D vase "shell".

So, lost a post edit...  I see anomalies that seem to be due to un-exmined clusters.

This is the old "thickness" issue, as seen in plastic bottle tutorials.  I would look at offset surface from joined side+bottom to get the interior.  Then close the shell as I did by lofting the top edges of the exterior and interior.

For a thicker bottom, as you have done...  I have to look closer at your clusters and not sure I have time for that.

Here is a very simple "closed Brep" vase, with thickness.

Things to note:

  1. The profile line includes the bottom, which determines the center of revolution.
  2. The profile line is offset for thickness and also passed to 'RevSrf'.
  3. The 'En (Naked Edges)' of inner and outer surfaces are lofted to close the gap.

FYI, the output of 'RevSrf' is a Brep, not a surface!  Treating it as a surface will lead to unexpected results.  'Offset' surface, for example, yields a disk-like cover for the top end of the vase, not an offset Brep surface.

Attachments:

Hi Bob - Joseph,
how about just joining the bits of the profile curve to revolve? I copied only your sliders and curve. The input curve could use some cleaning up (400 points!). Maybe this is a different approach than you used, but I too didn't have the 'time' (;)) to check what is going on in all your clusters. Still, hope this helps.

Attachments:

Yes, another line connecting the original profile curve to its offset saves the lofting of edges later.  But unless there is to be a hole in the bottom, one must leave the profile curve open at the bottom center.  A closing line in the profile curve there will yield an "Invalid Brep".

Attachments:

Thank you Joseph and Pieter. Not only did my solution not work, but I also see that it was overly complex -- which I knew it was.

Joseph, I see that in order for surfaces to really fit that I need to use the edge geometry of adjacent surfaces in the definitions of the other surfaces. I can't just estimate.

But I have a question (for anyone really): I haven't been able to find a clear description of what flattening does. It seems to change the interpretation of inputs so that a component runs once with all the given inputs instead of running multiple times, once for each input. What I don't understand is what happens to the inputs organizationally in order to affect that change. When does a component get invoked multiple times each with a different input, and when does it get invoked once with all inputs?

Pieter, thanks for showing your version of a solution that creates a single profile that's then revolved. I'd intended that to me my next challenge. Now you've given us a good example of how this can be accomplished.

I've enclosed an updated version of my solution that builds up surfaces that meet all the requirements that I'd laid down for myself...

* a circular vase-like shape that follows a configurable profile curve

* a configurable side wall thickness

* a separately configurable base thickness

* a configurable radius

* the ability to scale the shape while retaining the defined wall and base thicknesses

The next challenge I've set out for myself is one that meets all the above requirements but that also revolves around a given closed loop that's not necessarily a perfect circle. -- A square perhaps. or a wavy oval. Whatever.

Thanks.

- Bob

Attachments:

Bob - I've designed quite a few vase/bowl shaped parts for 3D printing using GH. If this is what you are planning on doing feel free to let me know.  Here's an example:

http://www.thingiverse.com/thing:981121

I just peeked at your collection up on pinshape. Very nice. Impressive really. Do you use Grasshopper for your designs?

In truth, I really am developing these vase-like shapes to learn GH -- and to test out the capabilities of my new gMax printer. That said, the current focus of my art centers around modern lighting.

Thanks for connecting.

Bob

RSS

About

Translate

Search

Videos

  • Add Videos
  • View All

© 2024   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service