How can i put aligned dimension and angular dimensions in floors?

After First line, they are in reverse order.

I am at the loss now, something is broken, it makes multiple sets of same dimension too. And when you select another element it tries to draw dimensions from old element positions.

Floor Dim.dyn (38.3 KB)

  • Here is a workaround to get the edges in the same order as the references :

Floor Dimensions V2.dyn (33.9 KB)

  • It’s possible to dimension several slabs at the same time with appropriate list levels and lacing.

It’s called element binding. Use the Dynamo Player or close the graph between each run.

1 Like

Hi Alban,

It works great on all of the floor previously drawn, but it seems to once again miss order the references if a void is applied to a floor. I assume the ordering is at fault again?

Hi Jonas,

Yes, you must reorder the curves and references once again and the graph starts to become more complex.


1 Like

Hello people! Great topic, great script.

@Alban_de_Chasteigner could you explain how does your “Dimension ByReferences” node work? Or actually, what do I need to feed in the Reference input to get the dimensions?

I would like to apply this script on more elements simultaneously? When I use the “Select Model Elements” node to select more Elements I get null values in the output. I’m guessing I have to rearrange the references somehow?

Hi Alban,

This is Jasiukas, I came back to finish what we started and trying to pick up where we left off but seems that even the old v2 version of the script is broken. Do you have any idea why dimension by reference is returning null? The dimension type is set to default btw.

Regards,

Jonas Blazinskas

Hi Jonas,

Please upload your DYN and a sample RVT file to test it.
There could be a lot of reasons for this error, the most obvious is that there is a lacing problem somewhere.

Hi Alban,

Here is the revit file I am using and the same script that you have attached previously so there should be no reason why it’s not working anymore. Once I have caught up with the other posts where you resolved the opening issues. I want to make this into script that handles multiple instances of floor like the other guy has been enquiring about in the post above. Floor Dimensions V2.dyn (33.9 KB)
https://tmpfiles.org/download/33163/floordims.rvt
P.S Had to attach the file in a temp host site because there is a limit to file size on these forums.

Sorry about the confusion with the account it keeps forcing me to log in with my work account. Please see the reply from my normal account above.

Alban,

Ok so I caught up with your latest version and everything seems to work great, for some reason I am getting duplicate dimensions. Aside that I think instead of the manual opening we could put together a check for an opening by joining the curves together to form closed curves and then check back to which curves have joined into closed curves to separate them into lists. But I can’t seem to find a command to join curves, the only available command polycurve.byjoinedcurves freaks out if there is more than one looping curve. Any ideas how to check if curves form closed curves?
Please find the definition attached so far…

Thank you for your help in advance!

Jonas Blazinskas
Floor Dimensions V3.dyn (47.3 KB)

FYI, manage to find a way to find closed curves via using archi-lab group components. Not sure how to use this group information to reference back to vertical references and get them in the same group order.
image

As I thought, it’s a matter of lacing to dimension several floors.

Dimension several Floors at once.dyn (34.3 KB)

2 Likes

Hi Alban,

Awesome, thank you for your help. Have you had a chance to look into somehow mimicking the grouping of horizontal edges with “group curves” node. So we could use that information to reorder information as per your post number 19 instead of manually identifying the amount of curves are within an opening or even further if there is multiple openings?

Regards,

Jonas Blazinskas

Hi,

The Group Curves node is a good beginning.
You can take inspiration from this post which shows how to rearrange a list of references according to a list of curves (List.AllIndicesOf and List.GetItemAtIndexOf nodes)

Alban,

Thanks for the help, I manage to do it for single floor, then started struggling with lacing once it came to multiple floors so for now I just flattened everything to lose multiple floor information and it worked, but it’s a shame that I could not figure out the lacing properly. Maybe you could have a look at the lacing?Dimension several Floors at once.dyn (75.2 KB)

Thank you for all the help given, this was a great introduction to dynamo for a beginner like me.

Regards,

Jonas Blazinskas

1 Like

Here is the graph for multiples floors with opening. It’s the same as in post 19 with the addition of the Goup Curves node and the appropriate lacings and list@level.



Dimension floors edges with openings.dyn (51.6 KB)

3 Likes

I am getting this once I ran your graph. How come did you not include list all indices of and get item at index as per my graph? Seems that is why I get misaligned lines and references.

hi Jonas,

You have several options :

  • Either create a consequent graph with many conditional statements (if there is a floor, if there are several floors, if there is a floor with an opening, if there are several floors with several openings in each…)

  • Use Dynamo Player with a different graph for each case.

  • Find an addin that does the same thing (if it exists)

  • Write a python script that would work with one or more floors

For my part, I don’t personally have the problem of dimensioning floors. I’m more interested in checking the good behavior of the nodes of my package.
So the graphs provided are just a part of a more global solution and need to be deepened.

Hi Alban,

Apologies, about how I came across and that I haven’t spent more time dissecting this one myself. I was pretty happy with the solution I had in post 29, so I have parked it and went to the wall battening script that I am working on.

Speaking of it, and this one would interest you because it involves the behaviour of the nodes in genius loci package. Would you be so kind and look at the post below about the wall edges reference behaving weirdly and reversing edge direction when an opening is cutting through the edge of the wall.

Thank you for your help!

Regards,

Jonas Blazinskas