Grasshopper

algorithmic modeling for Rhino

I adapted some medial axis lines created from an outline and various hole curves to 3D puffing or inflating akin to the Rhino logo or the sort of output Delcam Artcam or RhinoRelief can produce, but it's a bit clunky. I offset the medial axis separately on both sides to create points along them that I then simply found the shortest closest point to any curve and used the distance to raise the points up out of the plane and then created arcs between the two points which I then in turn populated with points and created a mesh with those points. The offset, even a slight one made sure that points really routed to both sides of each medial line regularly, rather than having whole series of medial points preferring one side or the other of the medial line as it wanders a bit off true center. I would like a much more elegant way to do this with good control over my 3D profile shapes rather than just arcs. The point is that it gets steeper as it gets wider, aware of the overall shape of the boundary area around it. Given that Artcam is a multi-thousand dollar program, it would be nice to offer more people this very simple creative tool. It's fairly fast despite the big Grasshopper layout, this three inch wide example taking two seconds to update when the base curves are point edited. I always thought this should be a normal Rhino command or at least a highly controllable Grasshopper element.

Related thread about medial lines: http://spacesymmetrystructure.wordpress.com/2009/10/05/medial-axes-...

Views: 6287

Replies to This Discussion

Hi Daniel

V2 offers a lot of options on that matter (screenshots shown ... are... with the boundaries joined [ freaky things are welcome] AND no joined meshes [ditto]).

I'll post the thing soon but it requires some more ISO9000 certified test cases (like "the Merciless" or "the SardineKing" etc etc).

I hear you: but these @^%@^ random Anchor points options mean that the Lord is unstable. Well truth is that ... er ... that's the truth.

best, The Lord

OMG thank you two, including the developer! Trade secrets, basically. I was having much trouble with MeshMachine failing for meshes with sharp holes.

I often prefer breps since my original meshes are uneven and cause MeshMachine artifacts, often 3D noise when I'm using solids.

Given that MeshMachine is the only controllable adaptive remesher I know of in Grasshopper, when it fails I can really suffer.

There may still be a jumping problem where corners can't be defined but very sharp curves still exist in holes. I supposed I could fix those on purpose by measuring curvature to find them.

I made little distinction between fixed curves vs. vertices and it was all trial and error, mostly just error until I gave up. When something worked half way or in some cases I might develop a rule of thumb that actually causes problems in other cases.

Despite having similar inner corner knife edges, the 'd' is fine but the 'r' wants to break the mesh.

This is solved by using custom meshing settings for the input:

Adapt = 0 is essential to retain a result, given infinite curvature at knife edges.

Attachments:

New challenges added for the brave: big prize for the winner > the usual stuff [in pure mineral oil], he he.

For the very brave:

  • Write a C# (I do hope) that gets a closed Brep > decomposes it and then inflates a specific BrepFace (or some) > then > joins the BrepFaces > ...
  • Write a C# (ditto) that allows you to pick interactively the anchors that you want (per mesh).
  • Inflate a Mobius strip.

PS: V2 works with the initial Rhino file.

Attachments:

Here I have used it again, to cap extrusions, and converted the Kangaroo output mesh back to NURBS surfaces, that if done fine enough in mesh edge length (a bit slow) can be joined into closed polysurfaces. The Starling plugin afforded a regular enough mesh to begin with. Instead of a silly timer I used the Kangaroo Sequence component.

Alas, the effect of a given pressure setting changes the result when you make the mesh finer, so you don't get a fast preview of the real result, and have to play around.

It's fun how it leaves the middle flat at first, before the curvature creeps up on it, depending on how many sequence steps you use.

It's still not a replacement for ArtCAM, RhinoArt (Mecsoft who makes RhinoCAM), RhinoEmboss (by the makers of Clayoo), RhinoGold, or Gemvision Matrix etc. for geometric capping, but very expensive Matrix or RhinoGold also leave nasty artifacts in concave curve locations and give a flat ends for caps, though Matrix it does have some sort of ArtCAM like puffing too. So far any old copy of ArtCAM is still best for fairly precise control.

I also cannot readily achieve tangency of the caps to the extrusion ends. Nor can I do much in the way of engineering control over geometry, such as height or profile shape etc.

Attachments:

The Rhino Patch command will do this but only with major manual tweaking, by creating a raised and then offset-smaller edge curve and using the tangency option then you get a gap left that you can use the blend command to fill in and join everything together:

The beauty of the Patch command is how you can just add points in space to smartly and easily tweak the dome heights, using Rhino history to do it parametrically:

It's not a simple routine step though, like it very much should be. The solid menu in Rhino should have a rounded capping command that allows all manner of control over the profile and amount of puffing etc. If Patch really would patch instead of leave gaps, it would be a much better alternative.

Using Unary Force gave a faster and workable result for extremely complex collections of many flat meshes made from scanned graphic art:

http://www.grasshopper3d.com/photo/kangaroo-unary-force-puffing-of-...

Another approach using simple overlay bounding box mesh and closest distance to outline curves is here:

http://www.grasshopper3d.com/forum/topics/2d-tracing-of-an-image?co...

RSS

About

Translate

Search

Videos

  • Add Videos
  • View All

© 2024   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service