mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-09-19 06:39:13 +00:00
IfcPatch now uses the new facet selector syntax.
This commit is contained in:
@@ -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
|
$ cat output.ifc
|
||||||
|
|
||||||
Here is a minimal example of how to use IfcPatch as a library:
|
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",
|
"input": "input.ifc",
|
||||||
"file": ifcopenshell.open("input.ifc"),
|
"file": ifcopenshell.open("input.ifc"),
|
||||||
"recipe": "ExtractElements",
|
"recipe": "ExtractElements",
|
||||||
"arguments": [".IfcWall"],
|
"arguments": ["IfcWall"],
|
||||||
})
|
})
|
||||||
ifcpatch.write(output, "output.ifc")
|
ifcpatch.write(output, "output.ifc")
|
||||||
|
|
||||||
|
|||||||
@@ -37,13 +37,13 @@ class Patcher:
|
|||||||
.. code:: python
|
.. code:: python
|
||||||
|
|
||||||
# Extract all walls
|
# Extract all walls
|
||||||
ifcpatch.execute({"input": model, "recipe": "ExtractElements", "arguments": [".IfcWall"]})
|
ifcpatch.execute({"input": model, "recipe": "ExtractElements", "arguments": ["IfcWall"]})
|
||||||
|
|
||||||
# Extract all slabs
|
# Extract all slabs
|
||||||
ifcpatch.execute({"input": model, "recipe": "ExtractElements", "arguments": [".IfcSlab"]})
|
ifcpatch.execute({"input": model, "recipe": "ExtractElements", "arguments": ["IfcSlab"]})
|
||||||
|
|
||||||
# Extract all walls and slabs
|
# 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.src = src
|
||||||
self.file = file
|
self.file = file
|
||||||
@@ -59,8 +59,7 @@ class Patcher:
|
|||||||
self.owner_history = self.new.add(owner_history)
|
self.owner_history = self.new.add(owner_history)
|
||||||
break
|
break
|
||||||
self.add_element(self.file.by_type("IfcProject")[0])
|
self.add_element(self.file.by_type("IfcProject")[0])
|
||||||
selector = ifcopenshell.util.selector.Selector()
|
for element in ifcopenshell.util.selector.filter_elements(self.file, self.query):
|
||||||
for element in selector.parse(self.file, self.query):
|
|
||||||
self.add_element(element)
|
self.add_element(element)
|
||||||
self.create_spatial_tree()
|
self.create_spatial_tree()
|
||||||
self.file = self.new
|
self.file = self.new
|
||||||
|
|||||||
Reference in New Issue
Block a user