Automatic Dimension Walls

Hi Everyone,

I was inspired by the new build-in node for dimensioning elements in Revit.
I tried to dimension few walls with this build-in node but it dimensions the walls only from center line to center line.
That don’t works for me so I dig a little bit and made a python script that dimensions the walls from face to face.
But my goal is to make the python script to dimension both faces of the wall, not only the right one ( in this example).
Can anyone help me in the python scripting so the reference faces for the dimension to be the both faces of the wall ?
The result has to be a single dimension which gives the distance between the walls and the wall widths as well.

Here is my progress so far:

and the script - >https://drive.google.com/file/d/0B5Srrp8d3ZYCYm14NWwyZTFPUW8/view?usp=sharing

5 Likes

Check this out:

3 Likes

Hi @Petar_Penchev1

I am really interested in this topic, can you tell what is the names of these new nodes ?

Thank you

Hi @Mohammad_Nawar I was talking about Dimension by Element node in the new 1.2 version of Dynamo.
It is build-in node.

And thank you @viktor_kuzev for the reply! I founded this workflow but I was unable to use it with python script. Very nice ! Thank you! There is room for different approaches here to made a node that auto dimension all the openings in the wall also or to be universal for multiple elements. Thank you!

To be able to dimension openings in walls you have to do some filtering.
First you need to take the vertical faces of the wall which you can do with Surface.FilterByOrientation from Clockworks package:

Then you need the faces that are perpendicular to the dimension line. You can filter them like that(this is the principle for the filtering inside Surface.FilterByOrientation too):


Then you need the references of the actual wall faces. I did this with this little node I found inside Wall.ByFace (Clockwork again):

And finally create the dimension with a simple Python node feeding the line and the references to it:

And you’re done.
This of course works only in plan views. The method could be refined to work in sections and I think all of this could be done in Python for better performance.

6 Likes

Nice work! I’ll try it! Thank you!

Hi @viktor_kuzev,

In IN(0) what the element that you have chosen, also the python code did you write it or this build in node if is what the name of this node because I couldn’t find these nodes.

Regards

Hi @Petar_Penchev1

Sry for asking again but I couldn’t find these nodes can you show a picture for that node or the name of the package to download it.

Regards

@Mohammad_Nawar In the IN[0] you should connect a selected model curve from the revit model. First you draw a model line in the model, where you want to locate the dimension line and than you select it trough the Select Element node.

As for the dynamo node which is build in, here is a screen shot. You don’t need to install special package, you need only to download dynamo 1.2. That’s all. Hope this is enough = )

HI @Petar_Penchev1

Thank you man this more than enough, just am wondering I already installed 1.2 version and it’s not showing this node don’t know why.

Check your Revit version. You should use Revit 2016 or later.

1 Like

Heey everyone,

I have a little question, maybe a very stupid question :flushed:
But i’m very interrested in Dynamo, but i don’t realy know how it works.
And a co-worker ask me how he can annotate a pile foundation with dimensions.
we have more than 15.000 of them.

My question is witch nodes you all used? and in witch order.
I have the script now, thank you for that @Petar_Penchev1

Hi @Jasperbru. Can you be more specific of what you need?
Do you need to dimension the pile foundation in plan ? I believe yes, but this is importnant.
Also what dimension you need for the piles, may be only overall dimensions(width and length) ?
You should clear this up and as long as you have all the needed information to dig up a little bit more in Dynamo and
make a custom script for you. I hope all the information here could be used by you in this creation.
I suggest you to try making your own script for your custom needs.
If you have further questions, please make separete post in the forum. Thank you!

Hi @Petar_Penchev1
This is just the problem, I haven’t the time with this project to dive into Dynamo.
But if I have time I watch tutorials of Dynoma.

Yes we need to dimension the pile foundation in plan. But to draw a the dimension separately takes to many time.
The only thing what my co-worker want are de dimensions; the widths and the spaces between them.

Yea i could make another topic. But i thought this was easier:wink:

@Petar_Penchev1, @Jasperbru

This method currently works on system families only. You can’t get the faces of the other families like that since they don’t get the referencing tag while converting to Dynamo geometry.

For dimensioning other families we need a different approach.

HI! @viktor_kuzev @Petar_Penchev1
I follow your code to run, but an error. With how to solve this problem.

help me pls.

Did you use spaces, tabs or both for the indents?

I tried to do it but I failed , can someone tell me what is wrong

Hi @Petar_Penchev1

I’ve been trying for a while now to figure out how this node works. Any ideas?

I’ve attached my dynamo file to show you my intent. (Dimension Gridlines)

GridLineDimensions.dyn (24.6 KB)

Hi,

This node works pretty straight forward - you should connect all the elements you want to be dimensioned ( the grids) and just that. Optionally you can define curve to be used as location of the dimension line. Here I’ve attached two basic scripts - one simple and one with included curve input for the location of the dimension. When you run the one with the curve option you should first pick the line in revit, click finish from the options bar, then select all the grids you want to dimension and clokc finish from the options bar again. That is all. It works really well with grids. It is up to you how you will define the curve if you use the method with curve which define the location of the dimension line.
Hope this helps
.Dimension Grids With Curve.dyn (7.8 KB)
Dimension Grids.dyn (3.1 KB)
Use Simple revit file with couple of grids to test the scripts. Draw Detail Line to use it like curve to select and define the location of the dimension line.