The recent change from an IfCartesianPoint to an IfcPoint for the type of the IfcPlacement.Location parameter breaks the WHERE rule AxisStartInXY of the IfcRevolvedAreaSolid entity (Line 10128 of the EXPRESS file):
ENTITY IfcRevolvedAreaSolid
SUPERTYPE OF (ONEOF
(IfcRevolvedAreaSolidTapered))
SUBTYPE OF (IfcSweptAreaSolid);
Axis : IfcAxis1Placement;
Angle : IfcPlaneAngleMeasure;
DERIVE
AxisLine : IfcLine := IfcRepresentationItem() || IfcGeometricRepresentationItem () || IfcCurve() || IfcLine(Axis.Location,
IfcRepresentationItem() || IfcGeometricRepresentationItem () || IfcVector(Axis.Z,1.0));
WHERE
AxisStartInXY : Axis.Location.Coordinates[3] = 0.0;
AxisDirectionInXY : Axis.Z.DirectionRatios[3] = 0.0;
END_ENTITY;
Since the Axis.Location might be something else than an IfcCartesianPoint, this rule should be modified accordingly.
The recent change from an
IfCartesianPointto anIfcPointfor the type of theIfcPlacement.Locationparameter breaks the WHERE ruleAxisStartInXYof theIfcRevolvedAreaSolidentity (Line 10128 of the EXPRESS file):Since the
Axis.Locationmight be something else than anIfcCartesianPoint, this rule should be modified accordingly.