From 3264f338c73c99bf01da190d96cb4e0ea335013e Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Sat, 23 Apr 2022 11:10:02 +1000 Subject: [PATCH] #1153 Section RLs now show storey names or custom descriptions --- .../blenderbim/bim/data/styles/default.css | 1 + .../bim/module/drawing/annotation.py | 2 +- .../bim/module/drawing/svgwriter.py | 26 +++++++++---------- 3 files changed, 15 insertions(+), 14 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/data/styles/default.css b/src/blenderbim/blenderbim/bim/data/styles/default.css index 4d52799fb2..b3f0017b48 100644 --- a/src/blenderbim/blenderbim/bim/data/styles/default.css +++ b/src/blenderbim/blenderbim/bim/data/styles/default.css @@ -28,6 +28,7 @@ text { fill: black; stroke: none; } .PredefinedType-MISC { stroke: black; stroke-width: 0.25; } .PredefinedType-BACKGROUND { stroke: black; stroke-width: 0.18; } .PredefinedType-GRID { marker-start: url(#grid-marker); marker-end: url(#grid-marker); } +.PredefinedType-SECTION { stroke-dasharray: 12.5, 3, 3, 3; } .PredefinedType-SECTIONLEVEL { marker-start: url(#section-level-marker); stroke-dasharray: 12.5, 3, 3, 3; } .PredefinedType-PLANLEVEL { marker-end: url(#plan-level-marker); } .PredefinedType-DIMENSION { marker-start: url(#dimension-marker-start); marker-end: url(#dimension-marker-end); } diff --git a/src/blenderbim/blenderbim/bim/module/drawing/annotation.py b/src/blenderbim/blenderbim/bim/module/drawing/annotation.py index 63fa0c4225..e89e4db636 100644 --- a/src/blenderbim/blenderbim/bim/module/drawing/annotation.py +++ b/src/blenderbim/blenderbim/bim/module/drawing/annotation.py @@ -157,7 +157,7 @@ class Annotator: obj = bpy.data.objects.new(object_type, None) collection.objects.link(obj) return obj - elif object_type == "TEXT_LEADER": + elif object_type in ("TEXT_LEADER", "SECTION_LEVEL"): data = bpy.data.curves.new(object_type, type="CURVE") data.dimensions = "3D" data.resolution_u = 2 diff --git a/src/blenderbim/blenderbim/bim/module/drawing/svgwriter.py b/src/blenderbim/blenderbim/bim/module/drawing/svgwriter.py index 3665b4b537..d7fa9768c7 100644 --- a/src/blenderbim/blenderbim/bim/module/drawing/svgwriter.py +++ b/src/blenderbim/blenderbim/bim/module/drawing/svgwriter.py @@ -180,6 +180,9 @@ class SvgWriter: y_offset = self.raw_height / 2 matrix_world = obj.matrix_world classes = self.get_attribute_classes(obj) + element = tool.Ifc.get_entity(obj) + storey = tool.Drawing.get_annotation_element(element) + tag = storey.Name if storey else element.Description for spline in obj.data.splines: points = self.get_spline_points(spline) projected_points = [self.project_point_onto_camera(matrix_world @ p.co.xyz) for p in points] @@ -203,19 +206,16 @@ class SvgWriter: rl = helper.format_distance(rl) else: rl = "{:.3f}m".format(rl) - self.svg.add( - self.svg.text( - "RL +{}".format(rl), - insert=tuple(text_position), - **{ - "font-size": annotation.Annotator.get_svg_text_size(2.5), - "font-family": "OpenGost Type B TT", - "text-anchor": "start", - "alignment-baseline": "baseline", - "dominant-baseline": "baseline", - }, - ) - ) + text_style = { + "font-size": annotation.Annotator.get_svg_text_size(2.5), + "font-family": "OpenGost Type B TT", + "text-anchor": "start", + "alignment-baseline": "baseline", + "dominant-baseline": "baseline", + } + self.svg.add(self.svg.text(f"RL +{rl}", insert=tuple(text_position), **text_style)) + if tag: + self.svg.add(self.svg.text(tag, insert=(text_position[0], text_position[1] - 5), **text_style)) def draw_stair_annotation(self, obj):