Calculation of wall formwork surfaces

Translated by moderator. See below the line for original post.


Hi everyone, I just started using dynamo and I need help with a script I’m working on.
I want to create a script to calculate the formwork surfaces of walls and which returns the value in an instance parameter in revit. So far I have managed to obtain the total value of the vertical surfaces for each wall. The next step, which I cannot achieve, is to make sure that the surfaces of the walls with the same keynote (WLC for example) match each other (example of two walls placed “in a T”, therefore with one of the short surfaces of the wall which touches one of the long surfaces of the other wall) are excluded from the total sum. I don’t know how to proceed and which knots to use, can anyone help me? Thanks in advance


Original post below


Ciao a tutti, ho iniziato ad usare dynamo da poco e ho bisogno di aiuto per uno script su cui sto lavorando.
Voglio creare uno script per calcolare le superfici casserabili dei muri e che restituisca il valore in un parametro di istanza in revit. Fino ad ora sono riuscita ad ottenere il valore totale delle superfici verticali per ogni muro. Lo step successivo, che non riesco a raggiungere, è fare in modo che le superfici dei muri con stesso keynote (WLC ad esempio) che combaciano tra loro (esempio di due muri messi “a T”, quindi con una delle superfici corte del muro che tocca una delle superfici lunghe dell’altro muro) vengano escluse dalla somma totale. Non so come procedere e quali nodi utilizzare, qualcuno può aiuarmi? Grazie in anticipo

Welcome to the forum @f.cataldo9M79Z!

The official language is English, which sadly is a function to make search work (otherwise all my replies would be in Swedish so I could get some practice in). Please translate so that search will continue to work, keeping your native language around under a divide as I did in the edit if you would like.

If you paint the vertical surfaces does the overlapping area count for a material takeoff?

@jacob.small Hi Jacob, thanks for the suggestion!

The attempt is to avoid additional steps in revit, in this case painting the walls, but get value directly with dynamo, both for a reason of practicality and speed of execution, but also for “limitations” dictated by company standards and usual work team procedures

I realize the extra step isn’t fun, but the execution time to remove overlapping solids from a polysurface won’t be fast executing - in fact it’ll be slower than painting those vertical surfaces with Dynamo, getting the area, and then rolling back the transaction (assuming the function works in Revit).

and in this case what nodes should I use to implement the script?

I am not aware of any nodes for this and doubt you’ll find any - it’s a rather unique process. I’ve talked with a few dozen companies interested in automating this and most (all?) have wanted the actual forms applied to the surfaces so they can find the required stock for the project. I do see value in the area number, but less overall.

Since there isn’t a node you’ll likely need to build some custom code for the task in either C# or Python.

However before you try such you need to know if the method works correctly in Revit so start there. Build a simple model - a pair of walls 1 m long, 1m tall and 0.1m wide arranged in a T shape. Get the area of the vertical surfaces (4.4m2 I believe) and subtract 0.2 m2 (as you have a 0.1m2 end face overlapping with a face of the adjacent wall) - that is the target (4.2m2 if my math was correct). Then paint the surfaces with any material you’d like and see if that area is correct - if so you can move into writing some code, and if not we’re back and the drawing board having not spent a few hours building something which won’t get where you need it to.