mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-08-14 03:14:23 +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:
|
||||
def execute(self):
|
||||
if len(sys.argv) < 5:
|
||||
print(f"Expected 4 arguments, got {len(sys.argv) - 1}. Example usage:")
|
||||
if len(sys.argv) < 4:
|
||||
print(f"Expected 3 or 4 arguments, got {len(sys.argv) - 1}. Example usage:")
|
||||
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)
|
||||
|
||||
@@ -30,7 +30,10 @@ class Drawer:
|
||||
# Get all representation contexts to see what we're dealing with.
|
||||
target_view = ifcopenshell.util.element.get_psets(self.camera_element)["EPset_Drawing"]["TargetView"]
|
||||
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)
|
||||
|
||||
@@ -55,7 +58,7 @@ class Drawer:
|
||||
results = self.svg_buffer.get_value()
|
||||
print("results", results)
|
||||
|
||||
with open(sys.argv[4], "w") as svg:
|
||||
with open(sys.argv[-1], "w") as svg:
|
||||
svg.write(results)
|
||||
|
||||
def get_linework_contexts(self, ifc, target_view) -> LineworkContexts:
|
||||
|
||||
Reference in New Issue
Block a user