I’m looking for guidance on automating geometry conversion between Rhino and Revit using Rhino.Inside.Revit in a server side context. Here’s my current situation:
Current Setup:
I have a working Grasshopper script that handles geometry operations and data transfer
This script currently runs on Rhino.Compute successfully
The script now needs to incorporate Rhino.Inside.Revit components for Revit integration
Challenge: When trying to integrate Rhino.Inside.Revit components into my Rhino.Compute setup, I’m running into compatibility issues since RIR requires a Revit instance.
Potential Solution: I’m considering using Autodesk’s Design Automation API by:
Creating an AppBundle containing:
-Grasshopper script
-Rhino.Inside.Revit plugin
Running this through Design Automation’s headless Revit engine
Questions:
-Is this the recommended approach for automating Rhino-Revit conversion at scale?
-Has anyone successfully implemented a similar workflow using Design Automation API with Rhino.Inside.Revit?
-Are there alternative approaches I should consider?
-Any specific gotchas or best practices when packaging Rhino.Inside.Revit components for Design Automation?
Any insights or experiences would be greatly appreciated. Thank you
thank you @Japhy for pointing out the restrictions.
looking at the design automation api limitations:
“No access to Revit’s UI interfaces” -
does this mean rhino.inside.revit components that don’t require ui interaction could potentially work? for example, geometry conversion and parameter mapping components that operate purely at the revitdb level? i guess the underlying system still requires rhino’s core UI infrastructure to initialize.
“There is no access to the ActiveView or ActiveDocument property for AppBundles that run on Design Automation API for Revit”
this seems particularly challenging since rhino.inside.revit operations rely on document context. its not providing the necessary hooks for document access.
a more feasible approach can be like:
-Using Rhino.Compute for geometry operations
-Implementing a separate process for Revit operations using pure Revit API
-Creating a custom middleware to handle the data transfer between the two systems
Appreciate any guidance on this, as it seems like uncharted territory.