I’m using the AddDirectShape.ByGeometry component in grasshopper to translate geometry from Rhino to Revit. When I modify the geometry in Rhino it creates new geometry in Revit, and leaves the old geometry in place. In the past I use plugins like Lyrebird, Hummingbird etc. which did a decent job at updating existing geometry rather than fully replacing, or creating new geometry.
Full replacing would be one step in the right direction, but modifying the geometry while retaining tags, dimensions, etc would be even better.
P.S.
Rhino inside is amazing, the potential is incredible! Keep up the great work everyone!
This is the behaviour I have here, but you know, things always work in the developer PC .
Could you please share a gh and a 3dm file that shows the problem, please?
It looks like if we close Revit, and then re-open, the connection of model elements is lost. So if you update the geometry in Rhino, it just adds geometry in Revit, it does not replace it.
I agree, it would be extremely helpful if the rhino/grasshopper connection to Revit can be maintained even when Revit or RiR have been closed & reopened.
I believe this is stemming from the way the GUID’s are being assigned or read (haven’t had the time to dig deep into the source code). In the same session, all id’s are maintained hence Revit/RiR understands what to update vs model from scratch.
Not sure how this could be fixed or if there is a workaround as guids are automatically assigned and cannot be reassigned programmatically (to my knowledge).
I have done some additional research and Dynamo seems to successfully maintain guid’s using element bindings. Would it be possible for RiR to implement this or have an equivalent?
Dynamo forum post explaining element bindings in detail.
In Revit an object must be added to the database before it can be read. This means that sometimes the object cannot be accessed until a second iteration of grasshopper script. A couple strategies to deal with this is to:
Use rhino geometry to make the actual calculations and simply set the Revit elements at the end. This is my preferred method.
Set a timer on a component in grasshopper to fire off a second of third recalculation on the grasshopper definition to push thru all the Revit updates needed. The timer component can help.
When adding multiple Rhino Breps by direct shape as shown in Wlsgmlk17’s post; is there a way to then edit those objects in Revit individually? Because when you click on them in Revit they are one grouping. The Breps I have are columns in a building and I would like to adjust there location directly in Revit. Thanks.
Here the Column, footing and bracket happen to be placed in a family as Brep forms. It is a Column family. Then a series of instances are placed along a path. The result is a model that can be edited in the Revit Family editor. Limited editing by dragging the handles.
If one column is edited, all the columns update. And the graphic properties as section line and hatch can be edited in Revit for that specific Family/Type.
Even if you have one object that only appears once in the project it still might be worth creating a Family and inserting it as an instance. Then you can edit the form a little in the Revit Family editor if you want.