Flawed projection of Rhino geometry in Revit sections

I have been modeling a bridge deck in GH for a project in Revit. This took me days of trial&error, trying out different approaches, because I wanted to get a robust result that could be used in drawings without any special treatment. I wanted a single piece of solid that would be placed in Revit as a component family instance, without any warnings.

I got a seemingly good result in GH that can be baked in Rhino and looks nice. I tried running the ShowEdges command and didn’t find any naked or non-manifold edges. I call this object the “default solid”. When I try to place the default solid in a component family, I get warnings/errors (though the object still gets created) and I can see missing faces in a Revit 3D view at first glance.

I came up with a technique I call “split’n’join”. I split the default solid with straight lines into 3 parts and simply join them together again. The result is a single solid again, with extra edges (“seams”) visible in Rhino at the splitting locations. Creation of the component family seems successfull, there’s just a grey message saying “using SAT”. The seams even aren’t visible in Revit in any context, which is great.

This is where the issue comes in - when I make a section in Revit, the geometry sometimes displays incorrectly. What happens is seemingly that the whole object gets projected onto the section plane, regardless of the section depth and direction. This is the opposite of my goal of a robust result, i.e. it’s totally useless. My main issue is with the unpredictability, because some sections are fine and others are not (see abutment south). I can deal with clear boundary conditions, like the minimum allowed edge length in Revit, but here I’m at my wits’ end.

Good section (split solid, abutment south):

Bad section (split’n’join solid, abutment south):

There’s always a workaround (how I hate this word). If I don’t join the solid pieces and I put them into the family as they are, there’s not even a grey message and if there’s a problematic section plane I couldn’t find it. But now I have extra edges I always have to hide, which is not something I’m willing to accept.

This issue may be caused by Revit, and I’m filing a support request with Autodesk, too (I have actually encountered this with native Revit geometry before, it was with a strongly shape-edited Floor). I’m hoping to get any feedback here that could help me understand and, possibly, solve the problem. I’m posting all the relevant resources. There’s a bunch of questions that I see, but I’m hoping other people will see more:

  • What is the relevant difference between the split’n’join and split family? Why does the issue occur with one, but not the other? Are there some other diagnostics tools in Rhino besides ShowEdges that could help me get to the bottom of this?
  • What’s Revit’s problem with the default solid? Why does a simple addition of seams make such a dramatic difference when it’s practically still the same solid?
  • What is the meaning of this “using SAT” message? I thought that it’s grey so it’s not a problem, but I’d rather have no messages.
  • Will Rhino 8 help? I’ll get it either way, but I highly doubt it will change anything in this regard.

rvt24_bridge_deck.rvt (1.6 MB)
RH7_revitFamilyInput.gh (10.8 KB)
RH7_bridge_deck.3dm (1.3 MB)

I take a deeper look into your files but it appears that you are still getting issues with the geometry importing (using Sat). Roughly the geometry importer tries to create Revit native forms, then attempts again with lesser tolerance, and lastly it bails out and uses the .sat importer.

Are you assigning to a cuttable category?

Yes, I’m creating a Generic model family. The distinction between cuttable and non-cuttable was unknown to me, though, so thanks for that info.