Door Numbering _by floor, by function, segregating and rejoining

hey guys, i was trying to renumber the Door by its Level and by its function as illustrated.


On each floor I want to renumber it by it’s function (exterior/interior)
e.g
GF-001-INT
GF-002-INT

GF-001-EXT
GF-002-EXT


on my graph, i managed to dissect the prefix and suffix by it’s levels, but not with functions. For the running numbers (functions) I did manage to dissect it by floor, then by function but the problem is I cannot join them in to get the index properly. I’ve attached the graph. Hope someone can help me. thanks.
DoorNumFunc.dyn (57.6 KB)

Hi, on your screen, we did not see your node titles
I suddenly tried something
It should work as long as you don’t have an interior patio.

otherwise, it would be necessary to create a room with volume defined by the levels up and down at the level of the patios and outside and filter by these elements present then the rest would be the interior doors
here is script if you want to go in that direction
Forum english 19 aout 2023.dyn (37.0 KB)

edit: without raybounce
with room surface limit (if patio or not)
it should be clearer like this



Forum english 19 aout 2023_v2.dyn (60.5 KB)

Sincerely
christian.stan

hi @christian.stan i should’ve zoomed in more before exporting. here’s the view where you can see the node. hopefully it says something.


thanks for replying. will test your code when i get to office.

1 Like

Hi, I forgot to mention that node 4 of the 1st branch is from the Clockwork Package

I had created the rooms (in lazy mode) but here Mr. Jacob explained everything well, if you want to follow his protocol here for the automation of this one (the outer room)

The potential patios could be the subject of another subject (may already be present, should I look)

Cordially
christian.stan

Hi Stan, just an update, i was trying to build your script node by node but then I can’t find the node RayBounce.ByOriginDirection i don’t think it is included in my Dynamo build. Hence, I cannot grasp the idea on how to get it by geometry. I’ll make sure I’ll take into it once I got lesser things on my plate. Thanks for the idea.

dynamobuild

Anyway, I went back to my script and reassess what causing me the trouble, and that was the segregation of function to renumber (exterior, interior) and putting back together to their original indices. So what i did is I just manipulated the list, augment the running numbers and return them to their original indices. That way I will eliminate the problem of putting it back together.

element_list = IN[0]

result = []


for item in element_list:
	mod_list = []  
	int_num = 0
	ext_num = 0
	for element in item:
		if element == 0:
			int_num += 1
			mod_list.append(int_num)
		else:
			ext_num += 1
			mod_list.append(ext_num)
	result.append(mod_list)
	
	
OUT = result

updated script:
DoorNumFunc.dyn (58.1 KB)

1 Like

Hi @jmark if you cant find the ootb raybounce when you search,in the library, try search on the canvas iand i think you will find it,…you could try datashapes raybouunce as well

2 Likes

ahhhh thanks @sovitek saw via canvas search, how come it wasn’t on the palette :thinking:
anyway thanks again, will try now christian’s graph