From 6594445fa348df208e97f116c165d83e2d18e916 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Tue, 3 Jan 2023 17:31:23 +1100 Subject: [PATCH] Add new code example for creating a work schedule --- .../ifcopenshell-python/code_examples.rst | 76 +++++++++++++++++- .../images/simple-work-schedule.png | Bin 0 -> 56000 bytes 2 files changed, 73 insertions(+), 3 deletions(-) create mode 100644 src/ifcopenshell-python/docs/ifcopenshell-python/images/simple-work-schedule.png diff --git a/src/ifcopenshell-python/docs/ifcopenshell-python/code_examples.rst b/src/ifcopenshell-python/docs/ifcopenshell-python/code_examples.rst index 81b2e576f5..93700e9985 100644 --- a/src/ifcopenshell-python/docs/ifcopenshell-python/code_examples.rst +++ b/src/ifcopenshell-python/docs/ifcopenshell-python/code_examples.rst @@ -174,7 +174,7 @@ Get the distribution system of an element Copy an entity instance ----------------------------------------- -Copy an entity instance is possible in different ways, depending on the task. +Copy an entity instance is possible in different ways, depending on the task. .. code-block:: python @@ -192,7 +192,7 @@ This is for shallow copies. That is, associated things like the element's type, wall_deepgraph_copy = ifcopenshell.util.element.copy_deep(model, wall, exclude = None) -This is for deep graph copy. Like shallow copy, it does not copy over things like associated type/properties/quantities, but it does copy the representation and placement. +This is for deep graph copy. Like shallow copy, it does not copy over things like associated type/properties/quantities, but it does copy the representation and placement. Also note that ifcopenshell.file.add() can be used to copy instances from one file to the other. @@ -202,7 +202,7 @@ Also note that ifcopenshell.file.add() can be used to copy instances from one fi g = ifcopenshell.file(schema=f.schema) g.add(f.by_type(...)[0]) -Note that, in this case, it does copy over recursively, however, it does not make any other attempts at resulting in a valid file. Factor in things like length unit conversion if both files (f and g) have project length unit defined. +Note that, in this case, it does copy over recursively, however, it does not make any other attempts at resulting in a valid file. Factor in things like length unit conversion if both files (f and g) have project length unit defined. Create a simple model from scratch ---------------------------------- @@ -256,3 +256,73 @@ Create a simple model from scratch Here is the result: .. image:: images/simple-model.png + + +Create a work schedule constructing a building floor by floor +------------------------------------------------------------- + +.. code-block:: python + + import datetime + import ifcopenshell + from ifcopenshell.api import run + from ifcopenshell.util.element import get_decomposition + from ifcopenshell.util.placement import get_storey_elevation + + # Define a convenience function to add a task chained to a predecessor + def add_task(model, name, predecessor, work_schedule): + # Add a construction task + task = run("sequence.add_task", model, + work_schedule=work_schedule, name=name, predefined_type="CONSTRUCTION") + + # Give it a time + task_time = run("sequence.add_task_time", model, task=task) + + # Arbitrarily set the task's scheduled time duration to be 1 week + run("sequence.edit_task_time", model, task_time=task_time, + attributes={"ScheduleStart": datetime.date(2000, 1, 1), "ScheduleDuration": "P1W"}) + + # If a predecessor exists, create a finish to start relationship + if predecessor: + run("sequence.assign_sequence", model, relating_process=predecessor, related_process=task) + + return task + + # Open an existing IFC4 model you have of a building + model = ifcopenshell.open("/path/to/existing/model.ifc") + + # Create a new construction schedule + schedule = run("sequence.add_work_schedule", model, name="Construction") + + # Let's imagine a starting task for site establishment. + task = add_task(model, "Site establishment", None, schedule) + start_task = task + + # Get all our storeys sorted by elevation ascending. + storeys = sorted(model.by_type("IfcBuildingStorey"), key=lambda s: get_storey_elevation(s)) + + # For each storey ... + for storey in storeys: + + # Add a construction task to construct that storey, using our convenience function + task = add_task(model, f"Construct {storey.Name}", task, schedule) + + # Assign all the products in that storey to the task as construction outputs. + for product in get_decomposition(storey): + run("sequence.assign_product", model, relating_product=product, related_object=task) + + # Ask the computer to calculate all the dates for us from the start task. + # For example, if the first task started on the 1st of January and took a + # week, the next task will start on the 8th of January. This saves us + # manually doing date calculations. + run("sequence.cascade_schedule", model, task=start_task) + + # Calculate the critical path and floats. + run("sequence.recalculate_schedule", model, work_schedule=schedule) + + # Write out to a file + model.write("/home/dion/model.ifc") + +Here is the result: + +.. image:: images/simple-work-schedule.png diff --git a/src/ifcopenshell-python/docs/ifcopenshell-python/images/simple-work-schedule.png b/src/ifcopenshell-python/docs/ifcopenshell-python/images/simple-work-schedule.png new file mode 100644 index 0000000000000000000000000000000000000000..3e4779024c4383549d5324872fad0a1c0bd8e559 GIT binary patch literal 56000 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 WCAWe(T;dM+4|Bv&>yd_a;Qs+mBmflv literal 0 HcmV?d00001