From becbfccae9c774f505fc700ee2c94681ec7f5aef Mon Sep 17 00:00:00 2001 From: Andrej730 Date: Wed, 12 Jul 2023 10:23:06 +0500 Subject: [PATCH] PLAN/SECTION_LEVEL consistency between viewport and svg before - https://i.imgur.com/bwYbozz.png after - https://i.imgur.com/7BlmQIg.png NOTE that if you're using markers.svg that was created before this update you won't see the changes for the section-/plan-level markers. --- src/blenderbim/blenderbim/bim/data/assets/markers.svg | 4 ++-- src/blenderbim/blenderbim/bim/module/drawing/svgwriter.py | 8 +++++++- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/data/assets/markers.svg b/src/blenderbim/blenderbim/bim/data/assets/markers.svg index 28ac7f2d5b..96a171b3b0 100644 --- a/src/blenderbim/blenderbim/bim/data/assets/markers.svg +++ b/src/blenderbim/blenderbim/bim/data/assets/markers.svg @@ -75,7 +75,7 @@ - + @@ -84,7 +84,7 @@ - + diff --git a/src/blenderbim/blenderbim/bim/module/drawing/svgwriter.py b/src/blenderbim/blenderbim/bim/module/drawing/svgwriter.py index ba0f53c654..898914e499 100644 --- a/src/blenderbim/blenderbim/bim/module/drawing/svgwriter.py +++ b/src/blenderbim/blenderbim/bim/module/drawing/svgwriter.py @@ -242,6 +242,8 @@ class SvgWriter: d = "M{}".format(d[1:]) path = self.svg.add(self.svg.path(d=d, class_=" ".join(classes))) text_position = projected_points_svg[0] - Vector((0, base_offset_y)) + vector = projected_points_svg[0] - projected_points_svg[1] + angle = math.degrees(vector.angle_signed(Vector((1, 0)))) # TODO: allow metric to be configurable rl_value = (matrix_world @ points[0].co.xyz).z @@ -269,6 +271,7 @@ class SvgWriter: text_tags += self.create_text_tag( text, text_position, + angle=angle, class_str="SECTIONLEVEL", line_number_start=line_number_start, fill_bg=fill_bg @@ -898,6 +901,8 @@ class SvgWriter: d = "M{}".format(d[1:]) path = self.svg.add(self.svg.path(d=d, class_=" ".join(classes))) text_position = projected_points_svg[0] - Vector((0, base_offset_y)) + vector = projected_points_svg[1] - projected_points_svg[0] + angle = math.degrees(vector.angle_signed(Vector((1, 0)))) # TODO: allow metric to be configurable rl_value = (matrix_world @ points[0].co).z @@ -927,6 +932,7 @@ class SvgWriter: text_tags += self.create_text_tag( text, text_position, + angle=angle, class_str="PLANLEVEL", line_number_start=line_number_start, box_alignment=box_alignment, @@ -1325,7 +1331,7 @@ class SvgWriter: self, text, text_position, - angle=0, + angle=0.0, box_alignment="bottom-left", class_str="", text_format=lambda x: x,