Locates positioning referent on the alignment curve, not the basis curve

This commit is contained in:
Richard Brice
2026-07-10 09:45:38 -07:00
parent 52d894298e
commit 47a20f0c7c
@@ -51,11 +51,11 @@ def add_positioning_referent(
ifcopenshell.api.alignment.add_positioning_referent(model,name="Pier 1 Sta 1+00",alignment=alignment,distance_along=0.0,station=100.0,positioned_product=pier) ifcopenshell.api.alignment.add_positioning_referent(model,name="Pier 1 Sta 1+00",alignment=alignment,distance_along=0.0,station=100.0,positioned_product=pier)
""" """
basis_curve = ifcopenshell.api.alignment.get_basis_curve(alignment) curve = ifcopenshell.api.alignment.get_curve(alignment)
object_placement = None object_placement = None
representation = None representation = None
if basis_curve and basis_curve.is_a("IfcCompositeCurve") and 0 < len(basis_curve.Segments): if curve and curve.is_a("IfcCompositeCurve") and 0 < len(curve.Segments):
object_placement = file.createIfcLinearPlacement( object_placement = file.createIfcLinearPlacement(
RelativePlacement=file.createIfcAxis2PlacementLinear( RelativePlacement=file.createIfcAxis2PlacementLinear(
Location=file.createIfcPointByDistanceExpression( Location=file.createIfcPointByDistanceExpression(
@@ -63,7 +63,7 @@ def add_positioning_referent(
OffsetLateral=None, OffsetLateral=None,
OffsetVertical=None, OffsetVertical=None,
OffsetLongitudinal=None, OffsetLongitudinal=None,
BasisCurve=basis_curve, BasisCurve=curve,
) )
), ),
) )