ifcpatch.recipes.MergeProjects

Module Contents

class ifcpatch.recipes.MergeProjects.Patcher(file: ifcopenshell.file, logger: logging.Logger, filepaths: list[str | ifcopenshell.file])

Merge two or more IFC models into one

Note that other than combining the two (or more) IfcProject elements into one, no further processing will be done. This means that you may end up with duplicate spatial hierarchies (i.e. 2 sites, 2 buildings, etc).

Will automatically convert length units in the second model to the main model’s unit before merging.

Parameters:

filepaths – The filepath(s) of the second (, third, …) IFC model to merge into the first. The first model is already specified as the input to IfcPatch.

Filter_glob filepaths:

.ifc;.ifczip;*.ifcxml

Example:

ifcpatch.execute({"input": "input.ifc", "file": model, "recipe": "MergeProjects", "arguments": ["/path/to/model2.ifc"]})
get_equivalent_existing_context(added_context: ifcopenshell.entity_instance) ifcopenshell.entity_instance | None
get_unit_name(ifc_file: ifcopenshell.file) str
merge(other: ifcopenshell.file) None
patch()
reuse_existing_contexts() None
file
filepaths
logger