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

Extra arrows on leader lines #4487

Open
theoryshaw opened this issue Mar 30, 2024 · 3 comments
Open

Extra arrows on leader lines #4487

theoryshaw opened this issue Mar 30, 2024 · 3 comments

Comments

@theoryshaw
Copy link
Member

As outlined:
https://community.osarch.org/discussion/1945/

Can't find a way to replicate, but happens relatively frequently.

@Moult
Copy link
Contributor

Moult commented Mar 31, 2024

This only happens in the SVG, right? Can you share a problematic SVG?

@theoryshaw
Copy link
Member Author

theoryshaw commented Mar 31, 2024

I think it happens in BB--that is, extra vertices get added for some reason.

As a random example. if you try and print FLOOR PLAN - ROOF on the following file, there's a few examples.
https://hub.openingdesign.com/OpeningDesign/Highland_Haven/src/commit/f7b97cef762a76d16684e1df52b4a510731d038b/Open/Models_and_CAD/BlenderBIM/Highland_Haven.ifc

image

@Moult
Copy link
Contributor

Moult commented Apr 10, 2024

@aothms is this perhaps related to #887 ?

import ifcopenshell
import ifcopenshell.geom
import ifcopenshell.util.shape

ifc_file = ifcopenshell.open('./Highland_Haven.ifc')
element = ifc_file.by_id(4540642)
for e in ifc_file.traverse(element):
    print(e)

settings = ifcopenshell.geom.settings()
settings.set(settings.INCLUDE_CURVES, True)
settings.set(settings.WELD_VERTICES, True)
shape = ifcopenshell.geom.create_shape(settings, element)

geometry = shape

verts = geometry.verts
print(verts)

edges = geometry.edges
print(edges)

faces = geometry.faces
print(faces)

This outputs:

#4540642=IfcGeometricCurveSet((#4540641))
#4540641=IfcIndexedPolyCurve(#4540640,$,$)
#4540640=IfcCartesianPointList2D(((1.01334154605865,0.503362596035004),(0.0456077717244625,0.503362596035004),(-6.31875371932983,2.5830409526825)))
(0.3088665032386765, 0.15342491927146923, 0.0, 0.013901248821616197, 0.15342491927146923, 0.0, 0.01390124882161617, 0.15342491927146923, 0.0, -1.9259561336517323, 0.787310882377626, 0.0)
(0, 1, 2, 3)
()

i.e. the polycurve should only have 3 verts, but 4 verts are returned. Shouldn't the polycurve remain chained somehow?

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

No branches or pull requests

2 participants