IfcPatch now uses the new facet selector syntax.

This commit is contained in:
Dion Moult
2023-08-23 17:09:51 +10:00
parent 899056f929
commit a3fd169bb6
2 changed files with 6 additions and 7 deletions
+2 -2
View File
@@ -47,7 +47,7 @@ In this example, we'll extract out all `IfcWall` elements.
::
$ ifcpatch -i input.ifc -o output.ifc -r ExtractElements -a ".IfcWall"
$ ifcpatch -i input.ifc -o output.ifc -r ExtractElements -a "IfcWall"
$ cat output.ifc
Here is a minimal example of how to use IfcPatch as a library:
@@ -60,7 +60,7 @@ Here is a minimal example of how to use IfcPatch as a library:
"input": "input.ifc",
"file": ifcopenshell.open("input.ifc"),
"recipe": "ExtractElements",
"arguments": [".IfcWall"],
"arguments": ["IfcWall"],
})
ifcpatch.write(output, "output.ifc")
@@ -37,13 +37,13 @@ class Patcher:
.. code:: python
# Extract all walls
ifcpatch.execute({"input": model, "recipe": "ExtractElements", "arguments": [".IfcWall"]})
ifcpatch.execute({"input": model, "recipe": "ExtractElements", "arguments": ["IfcWall"]})
# Extract all slabs
ifcpatch.execute({"input": model, "recipe": "ExtractElements", "arguments": [".IfcSlab"]})
ifcpatch.execute({"input": model, "recipe": "ExtractElements", "arguments": ["IfcSlab"]})
# Extract all walls and slabs
ifcpatch.execute({"input": model, "recipe": "ExtractElements", "arguments": [".IfcWall|.IfcSlab"]})
ifcpatch.execute({"input": model, "recipe": "ExtractElements", "arguments": ["IfcWall, IfcSlab"]})
"""
self.src = src
self.file = file
@@ -59,8 +59,7 @@ class Patcher:
self.owner_history = self.new.add(owner_history)
break
self.add_element(self.file.by_type("IfcProject")[0])
selector = ifcopenshell.util.selector.Selector()
for element in selector.parse(self.file, self.query):
for element in ifcopenshell.util.selector.filter_elements(self.file, self.query):
self.add_element(element)
self.create_spatial_tree()
self.file = self.new