I have a 3D stp file of an electrical cabinet.
Most likely it was created in Inventor or Solidworks.
I am able to reconstruct this object from this file to breps, and I can then send it to Revit with directshapes.
The problem I have is that it fails on the creation of the object in Revit because Revit has some tolerances built in for edges etc. See image for Revit tolerances (These are in mm)
There are many small curves and elements (its quite detailed and has all the bolts and small objects modeled with it)
So I am wondering if there is a way to “fix” this by forcing the shape to conform to tolerances or to somehow exclude those objects containing the faces that are too small?
This is actually a common problem with Breps and other elements going to Revit.
Revit is not made to deal with fine detail small items but I really need a way to deal with this issue as its something that comes up repeatedly when trying to push breps into Revit.
These are difficult to automate due to the variety of ways geometry can be rejected by Revit.
Here is a cluster that can help identify microedges.
There is a difference between the Project Import and Family Import, by using the Add DirectShape geometry you can get more troublesome geometry into your Family document.
Perhaps you are already aware of this but an old technique for increasing tolerance where that option is not permitted by the application is to first scale the object or entity up by 10x or 100x, then perform the desired function(s), and then scale it back down.
I have no idea if that is relevant here, so if it is unhelpful, I’m sorry.
We played with this trick about three years ago, so in Revit 2022 and worked somehow on geometry pushed to families but not on DirectShapes.
I say somehow because several reasons:
The conversion is not consistent between DirectShapes and Family geometry.
Is several times slower.
Sometimes it works but then Revit fails to mesh this geometry and produce an invalid display.
Currently the only trick we apply is center the geometry at (0,0,0) before transfer and move after to the final position. This seems to improve the far from origin issue.