From 608abf2e55a14f9af8a1987ecec654863c5c06dd Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Tue, 10 Mar 2020 18:28:03 +1100 Subject: [PATCH] Calculate position of hidden lines in views in absolute coordinates Very useful for creating projection lines in axonometrics --- src/ifcblenderexport/blenderbim/cut_ifc.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/ifcblenderexport/blenderbim/cut_ifc.py b/src/ifcblenderexport/blenderbim/cut_ifc.py index 1c51521d12..71915abe88 100644 --- a/src/ifcblenderexport/blenderbim/cut_ifc.py +++ b/src/ifcblenderexport/blenderbim/cut_ifc.py @@ -775,10 +775,13 @@ class SvgWriter(): })) if self.ifc_cutter.hidden_obj: + matrix_world = self.ifc_cutter.hidden_obj.matrix_world for edge in self.ifc_cutter.hidden_obj.data.edges: classes = ['annotation', 'hidden'] - v0 = self.ifc_cutter.hidden_obj.data.vertices[edge.vertices[0]].co - v1 = self.ifc_cutter.hidden_obj.data.vertices[edge.vertices[1]].co + v0_global = matrix_world @ self.ifc_cutter.hidden_obj.data.vertices[edge.vertices[0]].co.xyz + v1_global = matrix_world @ self.ifc_cutter.hidden_obj.data.vertices[edge.vertices[1]].co.xyz + v0 = self.project_point_onto_camera(v0_global) + v1 = self.project_point_onto_camera(v1_global) start = Vector(((x_offset + v0.x), (y_offset - v0.y))) end = Vector(((x_offset + v1.x), (y_offset - v1.y))) vector = end - start