mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-09-19 22:50:21 +00:00
Fix bug where a voided element by OCC will be considered non-manifold. Remove doubles with a very small distance fixes it.
This commit is contained in:
@@ -572,8 +572,8 @@ class CreateDrawing(bpy.types.Operator):
|
|||||||
|
|
||||||
lines = []
|
lines = []
|
||||||
for edge in edges:
|
for edge in edges:
|
||||||
start = [round(o, 5) for o in (camera_matrix_i @ Vector(verts[edge[0]])).xy]
|
start = [o for o in (camera_matrix_i @ Vector(verts[edge[0]])).xy]
|
||||||
end = [round(o, 5) for o in (camera_matrix_i @ Vector(verts[edge[1]])).xy]
|
end = [o for o in (camera_matrix_i @ Vector(verts[edge[1]])).xy]
|
||||||
coords = [start, end]
|
coords = [start, end]
|
||||||
d = " ".join(
|
d = " ".join(
|
||||||
[
|
[
|
||||||
@@ -1035,6 +1035,7 @@ class CreateDrawing(bpy.types.Operator):
|
|||||||
|
|
||||||
bm = bmesh.new()
|
bm = bmesh.new()
|
||||||
bm.from_mesh(obj.data)
|
bm.from_mesh(obj.data)
|
||||||
|
bmesh.ops.remove_doubles(bm, verts=bm.verts, dist=0.000001)
|
||||||
for edge in bm.edges:
|
for edge in bm.edges:
|
||||||
if not edge.is_manifold:
|
if not edge.is_manifold:
|
||||||
bm.free()
|
bm.free()
|
||||||
|
|||||||
Reference in New Issue
Block a user