Inventor brep to Rhino brep - possible?

I would appreciate some advice.

We have hundreds of existing legacy parametric models in Autodesk Inventor.
The intent is that our future models will be Rhino/Grasshopper from the ground up, but we need some mechanism to make use of our existing legacy library.

I am thinking a solution might be to have a small add-in running in Inventor that, once an Inventor model has updated it’s geometry for any new parameter values, that it then :

  • obtains the brep object(s) in Inventor’s memory and translates them to Rhino brep objects so that they can take part in downstream operations using Rhino.Compute.

I don’t know if there are any existing libraries to facilitate this, or perhaps whether I would have to convert the Inventor breps to Inventor mesh objects and translate to a Rhino mesh (lossy).

Can someone suggest how to convert a foreign brep object to a Rhino brep object? I don’t really want to go through saving of files unless i have to. I’d much rather simply translate in memory and send on to Rhino.Compute.

Any suggestions?

Hi @MonkeyFace,

Doesn’t Inventor have any IGES or STEP export capability?

– Dale

Hi Dale - yes it does but they tend to be closed-source translators that export to file - I’d like to skip IO and convert in memory and stream a rhino class object directly back to our calling code.

Automating one of the translators such as STEP, IFC, would be a fall back.

Hi @MonkeyFace,

Converting Breps from one application to another can be challenging. I guess you’ll need to see how much of Invertor’s Brep is exposed to a usable API.

– Dale

Agreed it probably will be challenging and Inventor tends to be quite locked down – I was thinking that Inventor may allow me to obtain its geometry as a mesh which might be easier for me to traverse and translate to equivalent Rhino mesh class. I’ll have to think through whether we could live with mesh geometry.

…Regarding IGES and STEP do you happen to know if Rhino recreates nurbs geometry from those file types or whether it would result in mesh geometry?


Hi @MonkeyFace,
You can have a look at the “SurfaceBody” object in Inventor API. It is basically a Brep with Faces, Edges, Vertices, Loops etc. With this information you will have to create the Rhino Brep from scratch. This could be tedious.
If all of your faces are planar, then you could probably translate only the Edges from the Faces of Inventor “SurfaceBody” to curves, and then Create Planar Breps in Rhino and join them.

The easiest way would be to export to STEP.

1 Like

Thanks @Darryl_Menezes , and everyone else for your advice. I’ll heed the advice and go with one of the built in exporters.

Inventor can use the STEP file format to export the following data schemas:

In addition, I believe that IFC is another alternative data schema that can be saved to file using the STEP file encoding method. IFC is a data schema that is gaining ground in the AEC industry that I work in. Can anyone advise me regarding Rhino’s ability to read these alternative data schemas that can be saved in the STEP format? I assume that Rhino cannot be equally proficient with each?

@chuck - can you help with this?

If all you are doing is sending breps, the 3 STEP formats are identical as far as Rhino is concerned. 203 is very basic. 214 has colors and layers. 242 has some additional non-geometry entities that Rhino will ignore at this point. But the representation of any geometry types (points, curves, surfaces, breps) is the same in all. Rhino will not read a mesh out of a STEP file.


@chuck - thank you very much for that info.