Dimension by element, Auto-dimension dynamo

Hello everyone,

I have a project which contain a lot of rooms and I’m trying to make a dynamo script that automatically place a dimension on each side of the room boundary but for unknown reason it doesn’t work… any advice

Second question a room boundary consists of a list of indices I used a slider to go through the list one by one because when I fed it all the list didn’t work either so how can I make it a function that goes through the list automatically one by one until it reach the end of the list, I tried loop node but didn’t work either

1 Like

I tried this other configuration also but the reference line only created for the first index and the rest not…Dimensions 2

Well thanks for the help guys , I was able to fix the issue to create dimension for each side of the room…
how can I make it into a function to go through each index in the list one by one …DimensionsAuto dimensions-v2.dyn (30.2 KB)

1 Like

Check first why GetItemAtIndex returns an error, fix it then see what’s next :slightly_smiling_face:

It does work I just set the boolean at the beginning to false so it doesn’t run automatically every time I want to open the file

Can you send a screenshot where Toogle is set to true showing where the issues lie?

ok here its

The issue when I give it the whole index list it doesn’t work so the alternative is to make the whole process as a function and the function goes through the index list one by one until it reaches the end of the list.

Like an if statement with a counter, but I don’t know how to make it as a function here

I would rather take a look at this GetItemAtIndex node first, since it means that your are not working on the whole list of boundaries…

I used get item at index node because its the only way I can make the dimensions work as I want , when I feed it the whole list it doesn’t work because the dimension by element node only need one line as an input.

I also was able to make it smaller

Auto dimensions-v3.dyn (24.7 KB)

OK, I get it. Did you try to create a custom node out of your graph? You could then optionally set the lacing to the appropriate setting to make it work on your curves one by one. See here if needed:
http://dynamoprimer.com/en/09_Custom-Nodes/9-1_Introduction.html
You will also see here how to use a custom node as a function:

Ya that is the idea but what I know about lacing that it only have 3 options short, longest, multiplication i’m unfamiliar or don’t know how to use it to make it go through the list one by one

See in the Github link I provided how to use a custom node as a function. But I currently get an issue with custom nodes similar to the one below, so I can’t be of much help for now unfortunately:
https://github.com/DynamoDS/Dynamo/issues/6574

You could also be interested in the Dimension Detail Line node (from truevis package), at least this one works correctly on my side :slightly_smiling_face:. I also used DetailCurve.ByCurve+ (from Clockwork) for this since it can handle the circles of my columns and I got no issues from that, just null values for non-created dimensions.

ok thanks I will try to check those

I tried to create a chart to feed back the list one by one as a loop based on the output but didn’t work due to cyclic independency anyway to avoid that

Auto dimension-v4.dyn (25.7 KB)

Be careful not to feed a node with a value that is calculated in following nodes and use Object.Type node to check that the input types are always correct.

I used this node but Unfounately its only generate one dimension from one detail line, so I edited the python code within it to generate mutli-dimensions and it worked

3 Likes

@gatum

Hi
I am trying to achieve the same thing here by dimensioning every room. I have followed your script from post 11 of this thread, and It only creates 1 dimension. I am curious why an integer slider is in this. Surely that is why it is only creating one dimension. I tried using all indexes, but it duplicates every dimension and also dimensions the wall thicknesses, etc.

I also created the script from the last post of this thread, and I recreated the multi dimension code and I get a null value. How is this applied to the previous script, or is it?
Did you manage to create a script to dimension every room?