Grasshopper

algorithmic modeling for Rhino

Hi,

I need a meshing tool able to consider specific points ("emitters", like corners or other user-defined points) around which it is possible to densify the mesh. See example below (Delaunay + Kang method).

Is it possible to do this with GH components ?

Did anyone already work on creating specific meshing components for GH integrating this kind of options ?

Where could I find meshing algorithms to develop this (documentation, references,...) ?

Thanks

Guillaume

Views: 4837

Replies to This Discussion

Would you happen to have a link to Kang/Coons meshing, I can't find anything online about it.

--

David Rutten

david@mcneel.com

Poprad, Slovakia

David,

I actually don't. Those meshing methods are proposed in Robot Structural Analysis (Autodesk), the  software I use at work to design structures (FEA software). I know their name, but I don't have access to the theory behind it.

To make it quick, with the Delaunay + Kang Method, you build a mesh defining :

- the edge

- the mesh type (triangles, quads or a mix)

- the average mesh size

- specific points, called "emitters", around which the mesh will be denser. You define the minimal mesh size close to those points, and also the distance ratio between two adjacent points. The higher this ratio is, the faster the mesh density will decrease from the emitters to the center of the surface.

See option window of this  method in the attached file.

The result is quite interesting (see image in previous post).

Maybe it is possible to do this using Delaunay Component and Populate, but we have to find a way to densify points around "emitters". I don't know how to do that with GH components...

Attachments:

well...this certainly doesn't use any sort of rigorous method, but I think the results should at least get you started.  I was curious about how this process  might work...the trick I think is to set up concentric rings around each emitter, and have each successive set of circles tested against each other for region inclusion (the bit of code is a start for a component in a group of data management components I've been thinking about...basically it looks at a data structure and creates two new data structures...one is simply a grafted list of each value in the original, but the second is a corresponding data structure that contains all of the other items in the same path...very useful here for testing the circle region inclusions).  Then density of curve subdivision and density of rings can allow for you to refine your mesh as you like.  The mechanics include a lot of tests for containment, proximity, etc for cleaning up the convex hull from the delaunay triangulation and other things.  the definition along these lines is a bit messy because I just was trying to get it to work, but perhaps it can be useful for you nonetheless...

...here's the def

Attachments:

came back to this briefly and made a couple of quick changes...rotated the points on each alternate concentric circle and added in a little weaverbird laplacian smoothing.  In there is a type-neutral vb component for matching each object in a list against all other objects.

Attachments:

Pretty impressive. I was worried about the complexity of the algorithm and whether it was do-able in GH.

--

David Rutten

david@mcneel.com

Poprad, Slovakia

David,

Thank you very much !

This is exactly what I wanted to do ! I thought it would not be possible to do this without vb components.

I'll have to take the time to fully understand  your GH file, but it looks really great !

For your information, here is the reference book used by Autodesk to develop their meshing tool on Robot Structural Analysis (see attached file).

Guillaume

Attachments:

Got around the VB part. Adapted your rotation scheme a little bit.

Attachments:

Hi Hannes,

It's been a while since you posted this but I am trying to recreate your solution. I am just stuck/baffled by the part where you divide the circles just before the shift path component. I really would like to get this working. Any help would be appreciated.

Thank you,

Oliver

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