Hi, I have a few simple massing block geometries imported into Rhino, but they come in as trimmed surfaces or meshes. Because of this, performing operations on them in Grasshopper becomes difficult.
To make the workflow easier, I’m trying to recreate the geometry directly in Grasshopper and then continue working from there. I tested different methods of importing and referencing the geometry as meshes, trimmed surfaces, and blocks.
What I need is a way to extract the footprint and height of each referenced block so I can rebuild the geometry in Grasshopper and perform further operations on it. However, I haven’t been able to find a reliable process for doing this.
Could someone please explain the best workflow for this?
Off the computer, but I would probably get the area centroids of whatever comes in and get their point Z coordinates and apply smaller equal 0>cull pattern, assuming the footprints are on world 0.
For the height, get the bounds of all point Z and get domain end. If you have slanted top surfaces you will need to work on the brep edges instead of centroid.
Here’s something that might help you. I’ve left some simple notes for you to see what’s happening.
Summary: (1) Query your rhino objects, (2) distinguish blocks vs non-blocks, and (3) rely on bounding boxes you can evaluate—this lets you set pivots (ground planes) per bounding box as well as measure their heights:
Note/Question for you:
Your blocks are stacked boxes, which I’ve interpreted as sets of objects that belong together, so I’ve measured their heights as such (1 height per stack). Did you intend to get individual height measurements per each individual block?