mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-08-21 04:32:23 +00:00
Fix #3040. View title template variables now have access to sheet attributes prefixed with "Sheet".
This commit is contained in:
@@ -208,7 +208,7 @@ class SheetBuilder:
|
|||||||
|
|
||||||
self.build_titleblock(root, sheet)
|
self.build_titleblock(root, sheet)
|
||||||
self.build_drawings(root, sheet)
|
self.build_drawings(root, sheet)
|
||||||
self.build_schedules(root)
|
self.build_schedules(root, sheet)
|
||||||
|
|
||||||
with open(sheet_path, "wb") as output:
|
with open(sheet_path, "wb") as output:
|
||||||
tree.write(output)
|
tree.write(output)
|
||||||
@@ -261,6 +261,7 @@ class SheetBuilder:
|
|||||||
if view_title is not None:
|
if view_title is not None:
|
||||||
foreground_path = self.get_href(foreground)
|
foreground_path = self.get_href(foreground)
|
||||||
data = reference.get_info()
|
data = reference.get_info()
|
||||||
|
data.update({"Sheet" + k: v for k, v in sheet.get_info().items()})
|
||||||
if not data["Name"]:
|
if not data["Name"]:
|
||||||
data["Name"] = ntpath.basename(foreground_path)[0:-4]
|
data["Name"] = ntpath.basename(foreground_path)[0:-4]
|
||||||
data["Scale"] = tool.Drawing.get_drawing_human_scale(drawing)
|
data["Scale"] = tool.Drawing.get_drawing_human_scale(drawing)
|
||||||
@@ -269,7 +270,7 @@ class SheetBuilder:
|
|||||||
for image in images:
|
for image in images:
|
||||||
view.remove(image)
|
view.remove(image)
|
||||||
|
|
||||||
def build_schedules(self, root):
|
def build_schedules(self, root, sheet):
|
||||||
for view in root.findall('{http://www.w3.org/2000/svg}g[@data-type="schedule"]'):
|
for view in root.findall('{http://www.w3.org/2000/svg}g[@data-type="schedule"]'):
|
||||||
reference = tool.Ifc.get().by_id(int(view.attrib["data-id"]))
|
reference = tool.Ifc.get().by_id(int(view.attrib["data-id"]))
|
||||||
schedule = tool.Ifc.get().by_id(int(view.attrib["data-schedule"]))
|
schedule = tool.Ifc.get().by_id(int(view.attrib["data-schedule"]))
|
||||||
@@ -291,6 +292,7 @@ class SheetBuilder:
|
|||||||
if view_title is not None:
|
if view_title is not None:
|
||||||
path = self.get_href(table)
|
path = self.get_href(table)
|
||||||
data = reference.get_info()
|
data = reference.get_info()
|
||||||
|
data.update({"Sheet" + k: v for k, v in sheet.get_info().items()})
|
||||||
if not data["Name"]:
|
if not data["Name"]:
|
||||||
data["Name"] = schedule.Name or "Unnamed"
|
data["Name"] = schedule.Name or "Unnamed"
|
||||||
view.append(self.parse_embedded_svg(view_title, data))
|
view.append(self.parse_embedded_svg(view_title, data))
|
||||||
|
|||||||
Reference in New Issue
Block a user