mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-09-11 22:31:55 +00:00
Copying an opening now tracks it as a special objects in the scene
This commit is contained in:
@@ -86,7 +86,7 @@ class TestCopyClass:
|
||||
root.link_object_data("type_obj", "obj").should_be_called()
|
||||
collector.assign("obj").should_be_called()
|
||||
root.is_opening_element("element").should_be_called().will_return(True)
|
||||
root.add_dynamic_opening_voids("element", "obj").should_be_called()
|
||||
root.add_tracked_opening("obj").should_be_called()
|
||||
subject.copy_class(ifc, collector, geometry, root, obj="obj")
|
||||
|
||||
|
||||
|
||||
@@ -29,30 +29,12 @@ class TestImplementsTool(NewFile):
|
||||
assert isinstance(subject(), blenderbim.core.tool.Root)
|
||||
|
||||
|
||||
class TestAddDynamicOpeningVoids(NewFile):
|
||||
class TestAddTrackedOpening(NewFile):
|
||||
def test_run(self):
|
||||
ifc = ifcopenshell.file()
|
||||
tool.Ifc.set(ifc)
|
||||
|
||||
obj = bpy.data.objects.new("Object", bpy.data.meshes.new("Mesh"))
|
||||
element = ifc.createIfcOpeningElement()
|
||||
tool.Ifc.link(element, obj)
|
||||
|
||||
wall_obj = bpy.data.objects.new("Object", bpy.data.meshes.new("Mesh"))
|
||||
wall_element = ifc.createIfcOpeningElement()
|
||||
tool.Ifc.link(wall_element, wall_obj)
|
||||
|
||||
ifcopenshell.api.run("void.add_opening", ifc, opening=element, element=wall_element)
|
||||
|
||||
subject.add_dynamic_opening_voids(element, obj)
|
||||
|
||||
modifier = wall_obj.modifiers[0]
|
||||
assert modifier.type == "BOOLEAN"
|
||||
assert modifier.name == "IfcOpeningElement"
|
||||
assert modifier.operation == "DIFFERENCE"
|
||||
assert modifier.object == obj
|
||||
assert modifier.solver == "EXACT"
|
||||
assert modifier.use_self is True
|
||||
obj = bpy.data.objects.new("Object", None)
|
||||
subject.add_tracked_opening(obj)
|
||||
props = bpy.context.scene.BIMModelProperties
|
||||
assert props.openings[0].obj == obj
|
||||
|
||||
|
||||
class TestDoesTypeHaveRepresentations(NewFile):
|
||||
|
||||
Reference in New Issue
Block a user