How to create walls off of dynamo surfaces


I’ve been struggling with this for the past few days and cannot find an answer to a question, which in my mind should be quite straightforward

I’m generating a surface between 2 polylines using the PolySurface.ByLoft node and I want to create a wall off of that. I’m NOT using an existing mass or selecting an existing surface. It doesn’t work for either an list of surfaces or a single surface.

Everything work fine until it physically needs to create the wall, then an warning pops up saying: “Warning: One or more of the input types are not matching. Couldn’t find a version of ByFace that takes arguments of type (System.Object,Revit.Elements.WallType,Autodesk.DesignScript.Geometry.Surface)”

Below a screenshot of my node code. Would appreciate any help

I think the FrontFaceExterior is a face, not a line. Try using the actual location line instead, or check the object type of that output.

I say this because in the error, it is saying you are feeding Wall.ByFace a System.Object for the location line input.

Edit: I just checked Wall.ByFace, for locationline it wants a string? I can’t find any more info from the dictionary so I am actually confused.

Hi Thanks for the feedback.

I’m using the same input and basic node construction as

All that should be different is that I’m not selecting my face, I’m creating it

I think Revit will only accept the face of a mass when using WallByFace

Ok, if that is the case, do you know of a method where I can create a wall that I can choose the end-face of the wall as opposed to the centreline of the wall? The default wall placement is centreline. How do I change that?


Although I’m managing to create the wall, it’s still creating it according to ‘wall centerline’ I’ve tried different and other spelling in the string input but it doesn’t budge. As you can see from my 2nd screenshot. I’d like the wall to be created flushed to the floor.

Nevermind - My string input was incorrect. Issue has been resolved!

One last question, What is the input unit? feet? inches? I’m struggling to make sense of the weird heights I’m getting

Dynamo’s Units are mostly the Revit Units you use

I understand, but in this case something else is happening There is no correlation between the units I input and the eventual height of the wall

Try a value of 10, i think wall height has a minimum

input of 10 just gives me a wall height of 929030.4mm Around the 300 input mark I get an error message saying:

Warning: Wall.ByCurveAndLocation operation failed.
The given value for height must be greater than 0 and no more than 30000 feet.
Parameter name: height

I calculated that I’ll have to divide my actual height by a factor of 92902.8 to get the correct input. Fortunately the relationship is linear, so it’ll work for all heights, but I’d still like to know what is going on inside the node?

You will have to ask the maker of the Wombat Package

1 Like