Andy, can you comment on this issue being apparently considered as a “feature” ?
How do you expect to replace a tool like Elefront made by people who actually understand blocks if you make such an obvious mistake ?
Please include block names as a filtering criteria for instances.
Just do it already !
Sorry for the delay. As I’ve stated in the past, the issue that you’ve reported is on our todo list and it’s something that we will most definitely fix. Part of job is trying to juggle which bugs fixes and feature requests should take priority… and unfortunately when we prioritize one thing, it sometimes pushes other requests back a bit. Rest assured that we are aware of this issue and we will address this as soon as we can.
I do want to note that our goal with this project is not to displace Elefront as a tool. Our goal was to add as many (if not all) of the native Rhino data types (Layers, Linetypes, Blocks, etc.) into Grasshopper and expose them in an intuitive way. Prior to Rhino 8, Grasshopper had primarily been used for strict geometry creation/manipulation. With these added data types, Grasshopper has the capability to add completely new workflows and we’re excited about these opportunities. It’s obvious that we don’t always hit the mark and we need to continue to add new features and fix things when they’re broken. We always appreciate feedback on what items need fixing… so I wanted to thank you for posting your observations.
The orverarching goal, even if you are not aware of it, is to make Rhino relevant in a BIM era.
And you don’t do BIM if you don’t do blocks.
You guys have been extremely late to the game, it’s time to get it right.
Am I missing something? I can’t find a way to reference instances by block definition. Did you find it, in the end? (Elefront is buggy as regards mesh objects.)
R
TY Japhy, that works smoothly as a temporary solution. But I was trying to find something more solid, less verbose: I need the transforms of hundreds/thousands of blocks to place the families (generated from Rhino into Revit in another block of code) as components in REVIT in the right places of the REVIT model. And I need to automate the process, as we work with Rhino for Interior Design and with Revit for Architecture. So I was investigating Elefront and Rhino 8 components. But Elefront is buggy and slooooow when I use the Block Name (it fails on badly formed meshes), and Rhino 8 Model Block Instance component (native Rhino components would my choice, compared to Elefront which is much more slow) has a behavior that I do not understand (see third group). Could you help me in clarifying its use? Thanks, Rob
I think I have the same issue; I receive large Revit files and need to find specific panels that have block instance names from Revit, but no Rhino name… I would like to find them with a simple " * _PV* " in the dynamic geometry pipeline or the new rh8 tools, but it completely opaque to me how to achieve this.
That’s not a native Grasshopper component. It must be coming from another 3rd Party Plugin (maybe Elefront)? Have you tried using the native “Explode Content” component?
This is possible to accomplish. Do you have an example file that is not too big?
There are two strategies:
Find the specific Revit Instance using its index parameters etc. with Grasshopper and then bring that into Rhino to operate on.
Or, bring in all the panel instances in Rhino along with all the metadata needed to make the selection in Grasshopper from Rhino. For instance the PV name etc… There is very simple sample below on the filtering.
I can show and example if we can get a part of the panel wall in Revit and then we can show the workflow.
Using the Rhino 8 explode, here is how to do it. Filter for the block name from all the block instances in the model. Grouping Sorting and Filtering Guide
The top explode component is the default. It will simply take a Block instance and explode it once. If there are nested blocks as in the sample above they result will include the nested blocks.
The bottom explode uses the recursive option. Right-Click on the component and set Recursive. Then it will explode all of the blocks.
Happy to answer any questions about this, we know it is all quite new.
Here is a small subsection of a wall.
I get these daily and the naming pattern is rarely the same, but my goal is always the same (I rarely get the Revit file). To extract the front surface for simulation and engineering. This is critical to me and very labor intensive to do manually with explode and manual selection when there usually are thousands…
.
thanks
With all the new tools it will be interesting to see if the BIM information can be held as usertext and not only in the Block name? Unless of course each on of those blocks are actually different in shape.
Or even if they have different widths and heights but are part of the same Family or Type if userdata can be used as parameter data.
I’d like to ask - why did you use this rather long expression for filtering? Are there any tips / hints how to construct these anywhere? Are they related to Rhinocommon?
That setting focuses in a certain data location to search. Right clicking there will show all the different areas that can be searched. In this specific case the information to complete the search is contained in the Block definition name, so that is what we limit the search to.