Wall.ByFace / FaceWall.Create doesn't work

Hi everybody!
I ran into this problem in several different cases. I am importing geometry (in this case from rhino) and I try to create walls by the geometry’s faces. When I do it through the UI it works. But from dynamo/python it doesn’t.
I tried different approaches for the import:

  • Importing directly into the project using Springs.Family instance by geometry (Using the “Mass” category and a Mass family template);

  • Importing in a mass family with springs’ Form by Geometry;

  • and finally importing in mass family with the native import by geometry (which is using SATs)


I added IsValidFaceReferenceForFaceWall() in the python to check the references:

And tried to create walls from In place mass (in the picture it’s just a box, but it works on double curved surfaces too)


This is the result I get with the imported geometry:

These are the manually created walls:

So I decided to try one more thing. I opened the family where I had imported the geometry via Springs Form By geometry and exported the geometry as SAT. Then I opened a new In place mass and imported this SAT inside.
This is the result I got:

There is something funny going on and if someone knows more about it, it would be nice to share here.

Hi @viktor_kuzev

Similar issue was discussed here in this post Rhino to Revit Via Dynamo v.1.1.0 / Rhynamo 2016.5.3 So the workaround is to extract points from rhino and then create surfaces in Dynamo and then create walls. It would be better if you can drop here your rhino file so that we can provide you possible solutions. Thanks :slight_smile:

Hi @Kulkul
Actually the geometry I used here is taken directly from the post you are referring to. Since I’ve had this problem before with different geometries, I decided to create a post about that. I am actually more curious about the problem itself than the workarounds. I am wondering if this is happening when the surfaces were created as breps in rhino or is there a problem with the references that are tagged to the geometry or something else.

Also recreating non-vertical surfaces could be really difficult and I guess that if someone is about to use Wall By Face he’s going for these.

Thank you for your reply, though.
Cheers!

Hahahaha I was thinking i saw that geometry which your using somewhere :smile:
I think when you extract geometry from rhino(Which your using).It is properly not enclosed its breaking due to some reason. But i see you imported that in to Revit using springs package still its not working. Try using standard “OOTB” nodes Wall.ByCurveHeight.

May be @Zach_Kron @Michael_Kirschner @Racel can put some light on this.

I am mainly concerned that it works (at least in this case) when I place the walls through the UI, but it doesn’t when I use FaceWall.Create.

This came up recently in another post as well:

And in an issue on the Clockwork repo:

For the second case, the solution was to switch to Manual execution mode. For the first case, my suspicion is that this is due to a bug in Dynamo:

Hi @Andreas_Dieckmann
and thanks for your reply

I am actually familiar with the other post. Interesting thing in that post is that I couldn’t create walls by face even through the UI. Actually walls were created but all of them were only on a single surface (and that was my result both through the UI and through Dynamo).
In my case I can successfully create walls by the UI, but not through Dynamo, and I’m running on Manual execution mode all the time.
Also it seems that the references are created: