mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-09-29 19:51:00 +00:00
standalone_drawer.py: dont require drawing elements to be speified on cli
This commit is contained in:
@@ -16,10 +16,10 @@ class LineworkContexts(NamedTuple):
|
|||||||
|
|
||||||
class Drawer:
|
class Drawer:
|
||||||
def execute(self):
|
def execute(self):
|
||||||
if len(sys.argv) < 5:
|
if len(sys.argv) < 4:
|
||||||
print(f"Expected 4 arguments, got {len(sys.argv) - 1}. Example usage:")
|
print(f"Expected 3 or 4 arguments, got {len(sys.argv) - 1}. Example usage:")
|
||||||
print(
|
print(
|
||||||
"python standalone_drawer.py drawing.ifc drawing_guid drawing_element_guid1,drawing_element_guid2,drawing_element_guid3 output.svg"
|
"python standalone_drawer.py drawing.ifc drawing_guid [drawing_element_guid1,drawing_element_guid2,drawing_element_guid3] output.svg"
|
||||||
)
|
)
|
||||||
exit(1)
|
exit(1)
|
||||||
|
|
||||||
@@ -30,7 +30,10 @@ class Drawer:
|
|||||||
# Get all representation contexts to see what we're dealing with.
|
# Get all representation contexts to see what we're dealing with.
|
||||||
target_view = ifcopenshell.util.element.get_psets(self.camera_element)["EPset_Drawing"]["TargetView"]
|
target_view = ifcopenshell.util.element.get_psets(self.camera_element)["EPset_Drawing"]["TargetView"]
|
||||||
contexts = self.get_linework_contexts(ifc, target_view)
|
contexts = self.get_linework_contexts(ifc, target_view)
|
||||||
drawing_elements = set([ifc.by_guid(g) for g in sys.argv[3].split(",")])
|
if len(sys.argv) == 6:
|
||||||
|
drawing_elements = set([ifc.by_guid(g) for g in sys.argv[3].split(",")])
|
||||||
|
else:
|
||||||
|
drawing_elements = set(ifc.by_type('IfcElement'))
|
||||||
|
|
||||||
self.setup_serialiser(ifc, target_view)
|
self.setup_serialiser(ifc, target_view)
|
||||||
|
|
||||||
@@ -55,7 +58,7 @@ class Drawer:
|
|||||||
results = self.svg_buffer.get_value()
|
results = self.svg_buffer.get_value()
|
||||||
print("results", results)
|
print("results", results)
|
||||||
|
|
||||||
with open(sys.argv[4], "w") as svg:
|
with open(sys.argv[-1], "w") as svg:
|
||||||
svg.write(results)
|
svg.write(results)
|
||||||
|
|
||||||
def get_linework_contexts(self, ifc, target_view) -> LineworkContexts:
|
def get_linework_contexts(self, ifc, target_view) -> LineworkContexts:
|
||||||
|
|||||||
Reference in New Issue
Block a user