Placing Railings

Hey I am trying to place some railings on some balconies. Some balconies are more alcoves

Some walls will intersect with the railings and of course I don’t want my railings to go around ALL edges of the floors. So I managed to filter away some lines, but now I am stuck on how to retrieve levels of the lines for my railings to be placed

(and yeah sure I can do them manually, but I am using this to learn more about Dynamo)

Hi,

Good work, just incase you didn’t know, if you hit the camera symbol on the top right of your screen, it’ll pull the names of your nodes to help us see what’s going on in your screen grab :slight_smile:
image

I think in your example, you want to extract the level from the element, then keep that flow of data consistant with your filters.

If you use the element.parameters node you’ll be able to check what the parameter is called in your floor elements
image

Hope that helps,

Mark

That’s what I used, must’ve glitched

I am currently stuck on how to re-associate the Z value of the lines that have been filtered back onto the correct levels so the node Railing.ByPathTypeAndLevel works again

Hi,

I don’t think you want the Flatten node, because you want to keep the curves you’ve extracted from each floor in a list to help you identify which curves belong which floor, which belong to it’s level.

This is probably easiest if you keep the curves from the floor in a list, and the extracted level in a list.

If you look at this graph, you’ll see how I am aligning the data structures, to put each set of curves in a consistant list depth with the set of levels…

Then set the ‘create Railing’ node (apologies I don’t have that one) at Level 2 for the levels and the curves, but you don’t need it for the Type.

image

image

‘Level 2’ tells the node to act on the 2nd order depth for the particular data input.

Hope that helps,

Mark

I always find a simple example is the best way to think about it…

1 Like

Yeah I really struggle with all the levels in lists and how to sort them. Your explanation helps a lot in that regard.

However I am using the List.FilterByBoolMask so I’m not sure how I can keep the lists aligned then

I think you’ll need to keep the 1 list per curves, 1 list per floor level structure… have a look at your nodes as you go, e.g. you might need to chop your ‘list is empty’ and use levels on your boolean filter… you can play around and see what comes out :slight_smile:

Best of luck,

Mark


Did you mean like this?

Yes and no. It’s not precise enough. I need walls to cut away parts of a curve. I also draw balconies as separate floors.

The bottom ones I did manually after correcting them. As you can see I only got them to just offset away from the floor boundary lines, related to the levels of the grabbed floors. I can’t chip away the lines that have walls (near them).