Rhino Brep to Revit with Add Form fails


I am wondering if it’s possible that direct shape and add form have produce the same geometry. If I try to insert the referenced Rhino Breps to Revit it fails via AddForm but produces the right geometry (no meshes) with direct shape. I’d rather like to use AddForm for the flexibilty of material adjustments in Revit…

200703_SolidImport_AddFormFail.3dm (4.5 MB)

Hi Tom,

Routines to convert from Brep to Form and DirectShape share most of the code the difference is what is acceptable for Form and for DirectShape.

DirectShape accepts closed Solids, collections of unconnected faces, and meshes. When we convert to DirectShape first try to keep closed Breps as closed Solids, if this fails try converto to a collection of faces and do meshes as a last resort.
Form is diferent it do not accept meshes or collections of faces. So if your Brep is closed and the first approach fails it fails.

In this case if having exploded faces in four family is acceptable you can deconstruct your Brep in faces and move these faces as diferent forms.

On any case it will help to us if you can share part of this geometry that fails.

1 Like

Hi Kike,

I included the geometry in the original post. How can I distinguish in GH between Solid and Brep when I have closed geomtry anyway? The goal whould always be to produce Forms with closed Breps but I don’t see the parameter I could tweak to get the Form to work, when I have all Breps closed.
This is the other case I am still wondering how this happens:

Hi, I used Rhino Inside with “directshape” component in Revit 2019 few month ago and it worked. It recognised all the closed Brep without any problems. Now I need to update model in Revit 2020 and I have some troubles. I checked and all the rhino Brep are “closed Breps”, however items 1 and 4 give me some problems passing trought rhino inside.
I read that could be a problem of tolerances smaller than 1mm. Unfortunately I can not change geometry or tolerances. Is there a solution to solve the item? Is it possible to add the area parameter to the directshape from gh?

20210708-2020P016-DIOR-Esportazione Rhino Inside.gh (609.3 KB)

Hi @paolo.colombo,

Have not tried yet your file, but I see on your screenshot that the fourth Brep is invalid.

Are you using same geometry as few months ago?
If is the same geometry, have you scaled that geometry? If you scale it up without scaling the tolerance it may become invalid if you modify it in Rhino.

Rhino.Inside will not try to transfer geometry Rhino says is invalid.
Without more details the only solution I see is repairing that Brep using 1mm tolerance. Revit requires this to consider a Solid as closed.

About area parameter, currently we don’t have a component to create those kind of parameters but you can create a project or shared instance-parameter and bind it to the category you plan to assign to your DirectShape from the Revit UI.
Once the parameter is created you can compute the Area and assign the value to this parameter from Grasshopper with no problem.

Many thanks Kike,
geometries are a bit different from ones used few month ago, anyway they were modelled with the same approach. I fix the problem scaling the model, passing from mm to m.

About Area parameter I was thinking to create a shared instance-parameter and assign values automaticly using gh-excell-dynamo…there is an easiest way to assign values to these shared parameters?

Sorry but I started learning rhino inside now

best regards

If you split your geometry into Mullions and Panels, you can compute the area of the panels using the biggest face of each panel, if this value is accurate enough, and assign it to “Custom-Area” previously created from the Revit UI.

Following this thread…
I created a piece of furniture in Rhino that did not seamlessly transition into a Revit family using RiR.
To tackle this, I used a code snippet sourced from the following location to identify potential short edges: GitHub link.
Despite the absence of short edges, the ‘add form’ node continued to encounter difficulties when converting the geometry. Interestingly, when I scaled up the polysurface, no errors were encountered.

So, I opted to follow a workaround involving the enlarged furniture, and scaled it back down, as detailed in this tutorial:
YouTube link.
However, one downside of this approach was the cluttered appearance due to the increased line weight.

An alternative solution that yielded just some improvement was converting the geometry to SubD and subsequently plugging it in as a Brep.

Insights and suggestions would be greatly appreciated.
TEST RiR-FindShortEdges.gh (479.1 KB)

Hi Clive, What units are you using in Revit? It looks like the edges fail tolerance in MM.

Hi Japhy.
That was right. I was using MM in both Revit and Rhino, and I should have checked that. My bad!
Nonetheless, in feet there are no edges failing the tolerance, yet the geometry is not generated in Revit.
Or am I still missing something?

Thanks, I’ll look at this closer when i get a chance.

Are you adding to a family or a project? The add form is for Family Documents.

1 Like

Yes, I am trying to create a Family, hoping to preserve the parameters such as Visibility/Graphics and Material in place.
Thanks a lot,

All the Short Edges highlighted are less than a MM, even though the absolute tolerances are smaller than 1 mm Revit isn’t going to let you draw some less than 1/32 or 1 mm for instance.


In the link you provided there is a trick to make things work within Revit:
" Solution : If you intend to make the element that small, try zooming in the view…"

But, what is the best strategy to create geometries like this in Revit using RiR?
I tried using a SubD instead of a Polysurface and there were slight improvements.
If I could solve the cluttered outline when “Thin Line” is off, and keep the file size small, it would be a go for me.