mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-09-20 23:36:20 +00:00
Fix #1653. Walls grow or shrink from their origin point.
This commit is contained in:
@@ -924,15 +924,19 @@ class DumbWallPlaner:
|
|||||||
IfcStore.edited_objs.add(obj)
|
IfcStore.edited_objs.add(obj)
|
||||||
|
|
||||||
def thicken_face(self, face, delta_thickness):
|
def thicken_face(self, face, delta_thickness):
|
||||||
slide_magnitude = abs(delta_thickness) / 2
|
slide_magnitude = abs(delta_thickness)
|
||||||
for vert in face.verts:
|
for vert in face.verts:
|
||||||
slide_vector = None
|
slide_vector = None
|
||||||
for edge in vert.link_edges:
|
for edge in vert.link_edges:
|
||||||
other_vert = edge.verts[1] if edge.verts[0] == vert else edge.verts[0]
|
other_vert = edge.verts[1] if edge.verts[0] == vert else edge.verts[0]
|
||||||
if delta_thickness > 0:
|
if delta_thickness > 0:
|
||||||
potential_slide_vector = vert.co - other_vert.co
|
potential_slide_vector = vert.co - other_vert.co
|
||||||
|
if potential_slide_vector.y < 0:
|
||||||
|
continue
|
||||||
else:
|
else:
|
||||||
potential_slide_vector = other_vert.co - vert.co
|
potential_slide_vector = other_vert.co - vert.co
|
||||||
|
if potential_slide_vector.y > 0:
|
||||||
|
continue
|
||||||
if abs(potential_slide_vector.x) > 0.9 or abs(potential_slide_vector.z) > 0.9:
|
if abs(potential_slide_vector.x) > 0.9 or abs(potential_slide_vector.z) > 0.9:
|
||||||
continue
|
continue
|
||||||
slide_vector = potential_slide_vector
|
slide_vector = potential_slide_vector
|
||||||
|
|||||||
Reference in New Issue
Block a user