ifcopenshell.transition_curve#

Module Contents#

class ifcopenshell.transition_curve.IfcTransitionCurveType#

Bases: enum.Enum

IFC 4.1 Section 8.9.2.9 [https://standards.buildingsmart.org/IFC/RELEASE/IFC4_1/FINAL/HTML/schema/ifcgeometryresource/lexical/ifctransitioncurvetype.htm]

The IfcTransitionCurveType indicates the curvature of a transition curve.

BIQUADRATICPARABOLA = 1#
BLOSSCURVE = 2#
CLOTHOIDCURVE = 3#
COSINECURVE = 4#
CUBICPARABOLA = 5#
SINECURVE = 6#
class ifcopenshell.transition_curve.TransitionCurve#

A curve that transitions between a straight line and a circular arc (or the reverse).

EndRadius :float#
IsEndRadiusCCW :bool#
IsStartRadiusCCW :bool#
SegmentLength :float#
StartDirection :float#
StartPoint :tuple#
StartRadius :float#
TransitionCurveType :IfcTransitionCurveType#
_calc_biquadratic_parabola_point(self, lpt, L, R, ccw)#
_calc_bloss_curve_point(self, lpt, L, R, ccw)#
_calc_clothoid_curve_point(self, lpt, L, R, ccw)#
_calc_cosine_curve_point(self, lpt, L, R, ccw)#
_calc_cubic_parabola_point(self, lpt, L, R, ccw)#
_calc_sine_curve_point(self, lpt, L, R, ccw)#
_calc_transition_curve_point(self, lpt, L, R, ccw, trans_type)#
to_wire(self, stroking_interval=5.0)#

convert IfcTransitionSegment2D to OCC wire

Parameters

stroking_interval (float) – maximum curve length between points to be calculated

Returns

OCC wire containing interpolated points