diff --git a/src/ifcblenderexport/blenderbim/bim/cut_ifc.py b/src/ifcblenderexport/blenderbim/bim/cut_ifc.py
index 929a25f88c..1d6a94ac30 100644
--- a/src/ifcblenderexport/blenderbim/bim/cut_ifc.py
+++ b/src/ifcblenderexport/blenderbim/bim/cut_ifc.py
@@ -714,6 +714,7 @@ class SvgWriter():
self.add_stylesheet()
self.add_markers()
+ self.add_symbols()
self.add_patterns()
self.draw_background_image()
self.draw_background_elements()
@@ -740,6 +741,12 @@ class SvgWriter():
for child in root.getchildren():
self.svg.defs.add(External(child))
+ def add_symbols(self):
+ tree = ET.parse('{}templates/symbols.svg'.format(self.ifc_cutter.data_dir))
+ root = tree.getroot()
+ for child in root.getchildren():
+ self.svg.defs.add(External(child))
+
def add_patterns(self):
return
tree = ET.parse('{}templates/patterns.svg'.format(self.ifc_cutter.data_dir))
@@ -906,11 +913,23 @@ class SvgWriter():
'dominant-baseline': 'middle'
}))
+ self.draw_text_annotations()
+
+ def draw_text_annotations(self):
+ x_offset = self.raw_width / 2
+ y_offset = self.raw_height / 2
+
for text_obj in self.ifc_cutter.text_objs:
loc, rot, scale = self.ifc_cutter.camera_obj.matrix_world.decompose()
pos = (text_obj.location - self.ifc_cutter.camera_obj.location) @ rot.to_matrix()
text_position = Vector(((x_offset + pos.x), (y_offset - pos.y)))
+ if text_obj.data.BIMTextProperties.symbol != 'None':
+ self.svg.add(self.svg.use(
+ '#{}'.format(text_obj.data.BIMTextProperties.symbol),
+ insert=tuple(text_position * self.scale)
+ ))
+
if text_obj.data.align_x == 'CENTER':
text_anchor = 'middle'
elif text_obj.data.align_x == 'RIGHT':
diff --git a/src/ifcblenderexport/blenderbim/bim/data/templates/markers.svg b/src/ifcblenderexport/blenderbim/bim/data/templates/markers.svg
index c3477a77d8..02e3cd6473 100644
--- a/src/ifcblenderexport/blenderbim/bim/data/templates/markers.svg
+++ b/src/ifcblenderexport/blenderbim/bim/data/templates/markers.svg
@@ -26,8 +26,8 @@
-
-
+
+
diff --git a/src/ifcblenderexport/blenderbim/bim/data/templates/symbols.svg b/src/ifcblenderexport/blenderbim/bim/data/templates/symbols.svg
new file mode 100644
index 0000000000..60a3a1283e
--- /dev/null
+++ b/src/ifcblenderexport/blenderbim/bim/data/templates/symbols.svg
@@ -0,0 +1,6 @@
+
+
diff --git a/src/ifcblenderexport/blenderbim/bim/prop.py b/src/ifcblenderexport/blenderbim/bim/prop.py
index 4e866d64ea..e600141f90 100644
--- a/src/ifcblenderexport/blenderbim/bim/prop.py
+++ b/src/ifcblenderexport/blenderbim/bim/prop.py
@@ -404,6 +404,10 @@ class BIMTextProperties(PropertyGroup):
('5.0', '5.0', ''),
('7.0', '7.0', ''),
], update=refreshFontSize, name='Font Size')
+ symbol: EnumProperty(items=[
+ ('None', 'None', ''),
+ ('rectangle-tag', 'Rectangle Tag', ''),
+ ], update=refreshFontSize, name='Symbol')
class DocumentInformation(PropertyGroup):
diff --git a/src/ifcblenderexport/blenderbim/bim/ui.py b/src/ifcblenderexport/blenderbim/bim/ui.py
index 6c004bb7e0..c57361a46f 100644
--- a/src/ifcblenderexport/blenderbim/bim/ui.py
+++ b/src/ifcblenderexport/blenderbim/bim/ui.py
@@ -660,6 +660,9 @@ class BIM_PT_text(Panel):
row = layout.row()
row.prop(props, 'font_size')
+ row = layout.row()
+ row.prop(props, 'symbol')
+
class BIM_PT_owner(Panel):
bl_label = "Owner History"