Rhino To Revit - GH RevitWallByFace fails to import to Revit

Hello all! So, I’ve encountered some problems while importing some SubD Geometry into Revit, and the thing is that I don’t really understand why sometimes it works, and why sometimes (most of the times actually) it doesn’t. I’ll explain in more detail what I’m trying to do:

I have a cave shape in Rhino, modelled as a SubD that I’m trying to import into Revit to produce plans. I have imported them in the past as a mesh, brep, and then as a generic model family, with no major issues in the past, but still, there’s the problem that I am unable to tag or assigb materials that are not good for the deliverables.

Yesterday I’ve encountered the option to create them directly as a native revit wall element using the component RevitFaceWall in grasshopper. So, for this I would need to either recreate the cave shape with single surfaces (with commands such as sweep2 and loft) or to run the command “toNURBS” on the SubDs as this will create a patchwork of single surfaces that recreate the shape accurately.

I’ve tried both methods, but for some reason, some walls are importing, and some are not. I can’t tell why. I’ve tried with rebuild surface and the same thing, sometimes it works, sometimes it doesn’t. I would really like to succeed with this method as the representation with single elements looks really good, as I can assign patterns to the walls, tag them, etc.

Here are some screenshots:

Grasshopper routine:

Revit output:
When succesful:


“Patchwork method”:

When it’s unsuccessful just nothing gets imported, or gets imported as a generic model as a single surface.
Another thing I’ve noted is that when I import the missing pieces, some of the existing one disapear (the one I imported prior to the new one).

As I mentioned before, I’d love to make it using the “single surface” (sweep / loft) method, but it fails a lot and I need to understand why to see if I can fix it somehow or if this is a viable path, considering that I still need to make some holes in it.

If you have better ideas please share them with me!

Here are the rhino and grasshopper files, to test you can just open a blank revit file

Speckle_WallbyFace_Test_share.gh (11.2 KB)
Cave_test_Speckle.3dm (4.4 MB)

THANKS A LOT !

Hey @DavorPantoja,

Sorry for the later reply. I just had some time to take a closer look and try few thing with your model.

Unfortunately, converting this geometry into a single surface is a bit tricky. It really depends on the Revit API. I tried different methods, such as simplifying the surface and regenerating it from isocurves, but nothing worked well. The Revit API is throwing an exception:

2024-09-04 09:41:32.030 +02:00 [ERR] Method named FaceWallToNativeV2 threw an error of type Autodesk.Revit.Exceptions.InternalException
Autodesk.Revit.Exceptions.InternalException: Document regeneration failed.
   at Autodesk.Revit.DB.FaceWall.Create(Document document, ElementId wallType, WallLocationLine locationLine, Reference faceReference)
   at Objects.Converter.Revit.ConverterRevit.FaceWallToNativeV2(RevitFaceWall speckleWall)

The only solution I think is worth trying, in order for you to be able to assign materials uniformly and map them nicely, is to split the tunnel into smaller slices.

I tried that below:



I think if you try different sizes you can optimise and reduce the number of pieces.

To answer your question:

Try and use Create when you receiving “new” pieces.
image

I hope this is helpful, and sorry again for the late reply!

2 Likes

Thanks a lot Nikos! This is helpful, I really appreciate it.
I will keep trying and ask here if something new comes up. Thanks again.

Also, maybe I’m not making the right question. Is it possible to assign materials to Generic models with speckle? Because I’ve managed to import the cave just fine as a generic model, but it needs materials =).