That link that you sent is the PERFECT combination of theory and practicality… Perfect for a new Revit user like myself.
By “Assemblies” I actually wasn’t referring to any Revit lingo, just plain old construction speak. I work at a landscape architecture firm, and while Revit is still not ideal for our design and documentation workflow, RhinoInside is making our collaborations with architects much smoother!
Attached, you will find an example of a block with multiple objects (differentiated in Rhino by material and layer). With the definition I sketched, this imports into Revit as a generic model that acts like a block, as you can select the whole thing with one click. I am using Human to manage the block in Grasshopper, but it would be nice if Elefront Extended Geometry worked as well (for some reason, it doesn’t).
One challenge with this is when you intend to use a block within a block, which is not done in the example here.
AaronRhino to Revit exporter -Block.3dm (1.3 MB) RHINO-IN-REVIT-EXPORTER-Block.gh (14.8 KB)
I am glad it is working for you so far. You are right at where I am also in this process, so I will try to address some of the issues:
Since you are a Landscape Architecture firm, have you looked at the newest Lands Design? I would think it would be quite interesting to have those tools running inside Rhino.Inside.Revit.
I still need time to follow up on the blocks. Hopefully we can work something out on it.
Elefront is a real goldmine in this process. I use it for a lot of things. I need to post a tutorial or two in the Elefront Forum that uses Rhino.Inside.Revit and Elefront together. This is work I been experimenting with in just the last few weeks. I have both a basic demonstration and a more sophisticated workflow as examples. I am sure @krahimzadeh will have something to say about all this too.
I have a few questions about state on this model in Rhino. There are a number of issues that make this more challenging then it needs to be.
- It seems the block is scaled to 25.4? I expect this is because the original model was in inches? I will work in inches to limit the number of transformations that needs to be done.
- The transformation in both X and Y is a negative value. This would mean a mirrored transformation would be needed. Can Revit Types handle a Mirrored transformation?
For this sample I will try to remove these two challenges. Reversing scale and transformation information is possible but takes a bit more math.
Does this make sense?
OK, here it is. Very interesting. There are some tricks. For instance reversing the transform on the original objects.
Now that I get the scaling, you could use any combination of scaling needed.
Wow Scott, this is tremendously helpful… and instructive. I want to apologize for grabbing such a wonky block for my example (mirrored, scaled), but perhaps you wouldn’t have arrived on such an elegant solution!
Also, I suspect that somewhere along the way, a change in units may have triggered some of the tolerance/Brep recognition issues that you identified above.
Thanks for this!