The shape builder can now create half space solids for convenience

This commit is contained in:
Dion Moult
2025-01-30 18:44:38 +11:00
parent eaaec4a12d
commit 4e17a2d6de
3 changed files with 17 additions and 11 deletions
@@ -912,6 +912,16 @@ class ShapeBuilder:
"""
return self.file.createIfcBlock(self.create_axis2_placement_3d(position), x_length, y_length, z_length)
def half_space_solid(
self, plane: ifcopenshell.entity_instance, agreement_flag: bool = False
) -> ifcopenshell.entity_instance:
"""
:param plane: The IfcPlane representing the half space.
:param agreement_flag: False if +Z represents the void
:return: IfcHalfSpaceSolid
"""
return self.file.createIfcHalfSpaceSolid(plane, AgreementFlag=agreement_flag)
def extrude(
self,
profile_or_curve: ifcopenshell.entity_instance,