Fallback to C++ impl of IfcAxis2PlacementLinear #4565

This commit is contained in:
Thomas Krijnen
2024-04-21 11:27:22 +02:00
parent 0793ae539e
commit 71c9066dc7
@@ -69,12 +69,11 @@ def get_axis2placement(placement: ifcopenshell.entity_instance) -> MatrixType:
if coordinates := getattr(location, "Coordinates", None):
o = coordinates
else:
ifc_class = location.is_a("IfcPointByDistanceExpression")
print(
f'WARNING. Placement location of type "{ifc_class}" '
f'is not yet supported and placement {placement} may be placed incorrectly.'
)
o = (0.0, 0.0, 0.0)
import ifcopenshell.geom
st = ifcopenshell.geom.settings()
st.set('convert-back-units', True)
shp = ifcopenshell.geom.create_shape(st, placement)
return np.array(shp.matrix).reshape((4,4))
elif ifc_class == "IfcAxis2Placement2D":
z = np.array((0, 0, 1))