If I want to create wall base with Dynamo, how can I deduct the length of door opening from the room boundary? If the wall base is generated only based on the room boundary, the wall base is all around the room. And a lot modifying work is required to trim the wall base to fit.
How to fix this ?
find which doors belong to which room - query whatever parameters control the width you’d like to exclude - subtract them from the perimeter
@Dornan_Luke you can try this solution. It basically retrieve the host wall length and deduct the hosted door length to get the final wall length.Final Wall Length.dyn (11.2 KB)
Thank you for all your feedbacks.
I figured out the way to identify the range of the door frame.
But I still need to split the line segment and delete redundant ones.
The picture as follows:
TSF-0253-Q1.dyn (27.1 KB)170428-Q1.rvt
I’ve checked your script…the approach is valid but your are making it more complicated… i do not know whats your end goal in doing this but i assumed two things :
if you are seeking only to get the perimeter of each room with the doors subtracted then you can do this like @rexfrancojesse proposed… but use the room boundary instead of
Get Host Element because get host would only calculate the walls which host doors and ignore the others…
if you want to get these base lines as dynamo elements and use them for further development then you can do this
i hope this helps
sounds like you want the curves of the room perimeter with segments at the doors removed… not just deducted (which I took to mean subtracted, as in you were looking for a total length) – in that case, one approach is;
- find the perimeter of the room
- find the doors that belong to the room
- find a common point on the door (perhaps it’s centroid) and project it down to the same plane as the curves (not technically necessary, but easier)
- find the vector of the curve that hosted the door and draw a new line the width of the door and parallel to the vector based around the point you found for the door (if you picked the centroid, you’ll need to draw/offset the line in one direction, and then back the other way)
- take the end points of this line and project them back to the host line
- use these new points to split the host line and remove the segment
phew! i did this recently to create floor finishes going so far as to have the flooring push into the door opening so that the break between floors occurred midway under the door leaf - quite the task
You are right.
This is what I want.
I want the result.
Greg, what you describe with creating floor finishes that push into the door opening is exactly what I am trying to do right now. Would you care to elaborate on that a little bit ?
It’s a beast and customized for our doors but should be reworkable for others. I think there are a couple custom nodes that aren’t on the PM but I don’t recall offhand which ones. I can share them too if you point them out.
Floor from Room.dyn (207.0 KB)
I understand this is an OLD post but am curious if Dornan_Luke managed to resolve this as I’m looking for something similar.
Hi @Greg_McDowell how to achieve this part all other I did. I know it is an older post, but looking for same as @Dornan_Luke asked.
Thanks in advance
@Dornan_Luke How you area achieved it, can yo please help
Thanks in advance