Breps/Nurbs to Revit Families with subcategory and material assigned

Hey, I just want to share some information about the workflow regarding nurbs in revit families. I wondered why my geometry works as a direct shape, but not within a family. I checked information about that topic and it was always like: Set tolerance values in Rhino and Revit to be the same; Seems like this is only half the truth. Its just a guess, but it seems like we’ve to model in discrete values from the very beginning in Rhino, to be able to use this geometry in revit families. So we cant simply model and be happy when the geometry works in Rhino or can be transfered as direct shape, in fact weve to model by typing in each length and angles sticking to the set tolerance. For example today i modeled a staircase in Rhino, a quick job, i tried to transfer this geometry to a revit familiy with a little working node setup in grasshopper; i started modelling the staircase by dividing a line in z-direction by 20, and this seems to be the fundamental difference between modelling in Rhino compared to Revit. The divisions gives us values that can be infinite, like 0.1697374848 and so on, Rhino seems to accept that, but revit doesnt accept that kind of behaviour. So it seems like, to make sure it works in revit families, weve to set the values to discrete values by typing 0.169 and starting from that. But modelling like that seems to be exhausting, especially when you model from point Cloud scans of old buildings. I guess its the same for angles, so if we draw something in Rhino we cant rotate freely like snapping to a point or something, weve to type in: rotate by 0.1°. Im not able to describe this to very last Detail, because of my lack of understanding those 3D Systems entierly, maybe someone knows more or has witnessed the same behaviour within revit. After all this struggle I would really need something like a drawing toolset in rhino that emulates revits conditions… to me those limitations in revit, that arent documented for the public, seem like a way of excluding interobarability by sheer disapointment when you try to find a way to get rhino nurbs into revit. It works once and crashes the next time you try “almost the same”. Im really trying to find a way people are used to revit can still work with my geometry coming from rhino, but hell thats such a dissapointing way. After all this i wonder what we need revit for, its simply makes every kind of interoperability annoying as hell and forces you to work in revit, with native revit elements, but oh my gosh thats like playing with duplo when youre used to carve digital wood like Rhino does… revit simply feels outdated and undeveloped throughout the whole software, why didnt they develop a 3D AutoCad, ah wait, thats what mcneel did in the beginning, right? and that turned into rhino, right? xD Cheerio!

Hi Jakob,

You are correct, the Revit’s tolerances can be frustrating.

We do have some recommendations. Rhino.Inside®.Revit

As you noticed the DirectShape is the best way to get out of range objects as Revit elements. It tries to create native revit geometry before stepping down several levels, the lowest quality being stl mesh.

The Family Editor uses a different geometry api than the project, so there are differences in how each environment treats small objects.

Ive read the documentation about revit (the link you posted) a while ago, right now im sitting at my desk and modeled the Staircase from yesterday according to my observations; I modeled the staircase by discrete values, so by typing in: 0.169/0.3 for the stairs and so on and it worked first try to get this geometry to revit, into an editable family with materials and subcategories;

So this little difference, ive found out about by try and error, has a huge impact for my Rhino/Revit Workflow.

I also found out that the Add Form Node behaves differently, compared to the Family Form Node; Could someone please write this little “discovery” i made down like: Try to keep NURBS Geometry as Simple as Possible in Rhino, only use discrete Values to Model (According to the set tolerances); For example: Dont use curves coming from _divide directly, for example, use the value and draw/Model from that value; Really, Im an working Architect, i can only use stick and stone methods to find out about those limitations in revit, and how to deal with it; Could someone at Rhino investigate further and write a precise guidline on “how to model” for Rhino.Inside.Revit?

This little Information i shared would have spared me a lot of words like: FUCK; ARRRRGHHHHHH; AFLDHGIHFIHDAIFAFABHS AFPHIADFJBDAFJBAFSHJO; I mean I Still dont like revit, and wouldnt recommend it for any architect, Archicad is ways better, but this little tiny itzziieeeeebittzzzyyy miniwinieee information would have saved me from so much frustration, anger, coffee and cigarettes; Thanks anyway, have a nice day; Greetings from Germany :slight_smile:

Thats my little Nodesetup: It looks like shit, but theres no need for me to layout it nicely because currently im the only one at the firm working with rhino.inside.revit; And well im used to those messy wires because of a few years in TouchDesigner xD