Grasshopper

algorithmic modeling for Rhino

Dear all,

I looking for a way to mesh a volume (let's say a cube 1x1x1m) and get all meshed components in a list (lets say little cubes of 1x1x1cm). Of course I am not interested in primitive geometries like cubes. I intend to continue with the "little cubes" in finite element analysis.

I thought of using some external mesh generating software, but then importing the meshed geometry back into rhino, I guess it is going to be unified or re-meshed or whatever.

Do you have any suggestions?

Thanks in advance

jm

Views: 3326

Replies to This Discussion

You want to "chop" a given thing (Brep :Split/Trim and/or Mesh: Split(Plane)) into small pieces? right?

Thus I would suggest to extract a bounding box (either World:BBox or preferably User defined: Box)  > define a myriad of planes in x,y,z and start the massacre. This is really very easy with code (that could check each iterative division and report back to you invalid bool ops blah blah) but it's also doable with components.

Fist make the "big" slices "along" z > then slice them "along", say, x > then finish "along" y.

By "along" I mean a Plane who's normal lies in x/y/z.

PS: obviously you need a DataTree to manage the pieces with 3 dimensions.

Since Rhino is not a solid modeller this kind of stuff may take a lot of time.

Dear Peter,

thanks for your reply, but that is not what i m looking for. It is not a chopping problem. I have a feeling though that you can help me. The process described would definitely work for a box no matter how time consuming could be.But for the case of the egg presented above, that is not the case. Remember, I would like to use it for finite element analysis. So, even for geometries like egg, I still need quadrilateral bricks that could probably follow the isocurves. Do you get me?

Yes I get you but I'm not talking about a box (box described is used as an "envelope"/tmp/help thingy in order ... blah blah) ... anyway ... post some data (something/whatever) and have faith.

Wait a minute: you want to get the mesh faces in some sort of datatree/list and make little "standardized" mini boxes out of these in some other sort of datatree/list? 

PS: what FEA do you use?

I have this subdivision.Based on that, I want to create a list of brick elements

You mean that you want to "pixalize" the skin of a 3d thing?

Starting with something like this and then perform bool ops as regards the "overlaps"?

Attachments:

The result is quite impressive, but...no. Can this be done for the volume of the object? So,do not generate bricks not from the faces of the mesh, but turn the mesh into bricks. What I am looking for is the mesh generation command running in FEM software. Just looking out, if that is possible to be done in GH (sure it is!!!)

Yikes! but that's exactly what I've proposed in my first reply.

more, soon

Hmm...er...and then what?

Attachments:

You need this instead of the other thing  - not sure if it's available as component but we can access this easily via code (where Plane = the Plane from your Curves, but you should [As I said on my first reply] use Planes defined using a [tmp] BBox or Box):

I'll add some lines of C# into your def (but all these components are not required):

1. First split the potato into slices.

2. Then split slices into ... potato "sticks".

3. Then split "sticks" into stick-pieces.

4. Then Box the stick-pieces > elementary my dear Watson.

PS: by potato I mean the Skin of the thing and NOT, say, a Brep out of the mesh (meaning that we deal with skin-stick-pieces and not closed-brep/mesh-stick-pieces).

more soon

Bad news: All GH components gone > C# only.

Good news: Deals with Lists/Trees of items (meshes/breps) and any imaginable coordinate system > for defining the tmp brep (as Box AND not BBox) > for defining the potato slicing planes > for ...

Ugly news: I need at least 15 minutes on that to finish it (but where can I find them?).

Progress report (15 minutes found ... but er ... I need "some" more, see 2 below):

1. Using a brep (TSplines) > mesh (via Daniel's wonder MeshMachine) that covers all possible topological issues (and they are many).

2. At some stage I thought using this [in green]: splitting mesh against all planes (in fact tmp meshes made by these planes and the Box boundaries) at once:

but unfortunately this yields solid meshes NOT only related with the skin (i.e. divides the solid mesh into internal pieces as well) meaning that the initial idea:  Split mesh with Plane is our only option: BTW since this Method it does not accept Arrays/Lists of "splitters" it requires some recursive iteration approach. 

Shown the 1st recursive (against planes deployed along Z) mesh split (skin only: we don't need anything else):

RSS

About

Translate

Search

Videos

  • Add Videos
  • View All

© 2024   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service