Ok, that makes sense.
How do I create a IfcHalfSpaceSolid
? I'm stuck here:
body = ifcopenshell.util.representation.get_context(model, "Model", "Body", "MODEL_VIEW")
vertices = [[(0.,0.,0.), (0.,2.,0.), (2.,2.,0.), (2.,0.,0.), (1.,1.,1.)]]
faces = [[(0,1,2,3), (0,4,1), (1,4,2), (2,4,3), (3,4,0)]]
representation = run("geometry.add_mesh_representation", model, context=body, vertices=vertices, faces=faces)
matrix = np.array(
(
(1, 0, 0, 0),
(0, 1, 0, 0),
(0, 0, 1, 0),
(0, 0, 0, 1),
)
)
half_space = ifcopenshell.api.run(
"geometry.add_boolean",
model,
representation = representation,
# # IfcHalfSpaceSolid, Mesh
type = "IfcHalfSpaceSolid",
# # The XY plane is the clipping boundary and +Z is removed.
matrix = matrix, # A matrix to define a clipping Ifchalfspacesolid.
)
File "/home/smr/Desktop/simple_truss/test.py", line 52, in <module>
half_space = ifcopenshell.api.run(
File "/home/smr/.config/blender/3.6/scripts/addons/blenderbim/libs/site/packages/ifcopenshell/api/__init__.py", line 66, in run
result = usecase_class(ifc_file, **settings).execute()
File "/home/smr/.config/blender/3.6/scripts/addons/blenderbim/libs/site/packages/ifcopenshell/api/geometry/add_boolean.py", line 44, in execute
result = self.create_half_space_solid()
File "/home/smr/.config/blender/3.6/scripts/addons/blenderbim/libs/site/packages/ifcopenshell/api/geometry/add_boolean.py", line 58, in create_half_space_solid
self.file.createIfcCartesianPoint(
File "/home/smr/.config/blender/3.6/scripts/addons/blenderbim/libs/site/packages/ifcopenshell/file.py", line 337, in create_entity
e[idx] = arg
File "/home/smr/.config/blender/3.6/scripts/addons/blenderbim/libs/site/packages/ifcopenshell/entity_instance.py", line 262, in __setitem__
self.method_list[idx](self.wrapped_data, idx, entity_instance.unwrap_value(value))
File "/home/smr/.config/blender/3.6/scripts/addons/blenderbim/libs/site/packages/ifcopenshell/ifcopenshell_wrapper.py", line 3814, in setArgumentAsAggregateOfDouble
return _ifcopenshell_wrapper.entity_instance_setArgumentAsAggregateOfDouble(self, i, v)
TypeError: Attribute of type AGGREGATE OF REAL needs a python sequence of floats