Skip to content
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

sb correction with inversed openings #759

Open
MDHering opened this issue Dec 9, 2024 · 2 comments
Open

sb correction with inversed openings #759

MDHering opened this issue Dec 9, 2024 · 2 comments
Assignees

Comments

@MDHering
Copy link

MDHering commented Dec 9, 2024

In one of my models, the normales of space boundarie areas of openings were inverse relative to the corresponding wall space boundary. In my understanding, the function fix_surface_orientation should handle this issue of my model. However, this function did check if the wall orientation is correct and then did correct the wall with all corresponding openings. In this special case, the openings should not be turned.

I did attach the example .ifc file. Github doesn't allow .ifc files as attachements, therefore the file is saved as .txt.
Example with inversed sb.txt

@MDHering
Copy link
Author

MDHering commented Dec 9, 2024

My local workaround is changing lines 250 - 254 of file bim2sim/tasks/bps/sb_correction.py

# complement openings if parent holds openings
if bound.opening_bounds:
    op_bounds = bound.opening_bounds
    for op in op_bounds:
        op.bound_shape.Complement()

to

# complement openings if parent holds openings
if bound.opening_bounds:
    op_bounds = bound.opening_bounds
    for op in op_bounds:
        # only complement openings of face normal if needed
        if bound.bound_normal.Dot(op.bound_normal) < 0:
            op.bound_shape.Complement()

@DaJansenGit
Copy link
Member

@veronikarichter could you have a look into this?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants