-
-
Notifications
You must be signed in to change notification settings - Fork 824
Make Door / Window Tool place doors on the correct side of a wall #6986
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
very cool! |
Will take a look at this :) |
Cool I will try too... |
I already thought about adding a separate "door mirror" operator that changes the handedness and actually mirrors the door instead of rotating it. However, this should probably be a separate PR to keep this one concise. |
This might play into it as well, to have a more generic solution... |
yes, seems to work great! thank you. |
I just opened another PR (#7003) that further builds on this PR and allows mirroring doors and other products. |
I defer to @Andrej730 on the ultimate pull here. |
The other aspect (and I don't even think the original functionality accomodated) is when flipping a door/window/etc, it would be nice if the attached IfcOpeningElement flipped as well. There are a lot of times in design, the IfcOpeningElement is multi-faceted, and not just a simple extrusion. test file: 20250808_1251.2.mp4 |
Did not think about this yet. I will work on that :) |
Awesome. |
Just for my understanding, how do you associate a custom opening with an object type? |
I just pushed a commit that copies the flipped objects matrix to the opening. This will result in it having the same position. For your test file this seems to work well. I am not quite sure if always setting the same position is correct though. |
The only way i know how, is to convert an extrusion to a tessellation... 20250808_1512.mp4 |
Ok I think I just found out how you do it. You just edit the opening and bonsai reuses this edited opening even for newly placed windows of the same type, correct? |
correct. |
Ok I just tested a bit more, the opening positioning seems to work ok for all cases I could think of... |
The only other thing i can think of is accomodating sloped walls or slabs, but what's here is awesome enough. Thanks! |
I would need to get familiar with sloped walls first, but I could try to add this in the future... |
Is there anything that needs to be done before this PR can be merged? |
I think this is great, but differ to @Andrej730 for the ultimate review, and pull. |
Looks good to me. A few notes:
|
Thanks for the feedback, the suggested changes should now be included. |
Thank you. |
Changes
This PR makes the door and window tools place objects on the side of a wall that was actually clicked on.
Previously, the door / window would always be placed on the baseline of the wall, which seems unintuitive to me.
The door/window will also be oriented in a way that always makes the same side protrude out of the wall side.
The flip tool (shift + f) now also moves doors and windows to the other side of a wall when flipping them. For example, if a door protudes 1cm out of the wall, flipping it will make it protude 1cm out of the other side of the wall, instead of flipping it in place.
This could also be split out into a new tool if the behavior of the flip tool should stay unchanged.
The occurrence preview was also updated to match the actual orientation of the created occurrence (at least for every edge case I could think of). This also applies to non-door/window elements.
Door / Window Tool
BuildingStorey display
This PR also fixes displaying the door/window on the default storey height, even if snapped to another storey.
Flip tool