Definition from ISO/CD 10303-42:1992: A trimmed curve
(IfcTrimmedCurve) is a bounded curve which is created by taking a
selected portion, between two identified points, of the associated basis curve.
The basis curve itself is unaltered and more than one trimmed curve may
reference the same basis curve. Trimming points for the curve may be identified
by:
- parametric value
- geometric position
- both of the above
At least one of these shall be specified at each end of the curve. The
SenseAgreement makes it possible to unambiguously define any segment of
a closed curve such as a circle. The combinations of sense and ordered end
points make it possible to define four distinct directed segments connecting
two different points on a circle or other closed curve. For this purpose cyclic
properties of the parameter range are assumed; for example, 370 degrees is
equivalent to 10 degrees.
The IfcTrimmedCurve has a parameterization which is inherited
from the particular basis curve reference. More precisely the parameter s of
the trimmed curve is derived from the parameter of the basis curve as follows:
- if SenseAgreement is TRUE: s = t - t1
- if SenseAgreement is FALSE: s = t2 - t
In the above equations t1 is the value given by Trim1
or the parameter value corresponding to point 1 and t2 is the value
given by Trim2 or the parameter value corresponding to point 2. The
resultant IfcTrimmedCurve has a parameter ranging from 0 at the first
trimming point to |t2 - t1| at the second trimming point.
NOTE In case of a closed curve, it may be necessary to
increment t1 or t2 by the parametric length for consistency with the sense
flag.
NOTE Corresponding STEP entity:
trimmed_curve; As a further IFC restriction, an IfcTrimmedCurve should only
trim a IfcLine or IfcConic. Please refer to ISO/IS 10303-42:1994, p. 54 for the
final definition of the formal standard.
HISTORY New class in IFC Release 1.0
Informal Propositions:
- Where both the parameter value and the Cartesian point exist for
Trim1 and Trim2 they shall be consistent. (i.e., the
BasisCurve evaluated at the parameter value shall coincide with the
specified point.
- When a Cartesian point is specified by Trim1 or by
Trim2 it shall lie on the BasisCurve.
- Except the case of a closed BasisCurve where both parameter 1
and parameter 2 exist, they shall be consistent with the sense flag, i.e.,
(sense = parameter 1 < parameter 2). Or, for every
open curve where both parameter 1 and parameter 2 exist, they shall be
consistent with the SenseAgreement, i.e., SenseAgreement =
(parameter 1 < parameter 2).
- If both parameter 1 and parameter 2 exist, than parameter 1 <>
parameter 2.
- When a parameter value is specified by Trim1 or Trim2
it shall lie within the parametric range of the BasisCurve.
Additional illustration from IAI:
 |
| The figure above shows the four arcs (dashed blue and green lines
with arrow showing different orientations) that can be defined by the same
BasisCurve (of type IfcCircle) and the same trimming points
(given by Cartesian points and parameter values) by using different assignments
to Trim1 and Trim2 and SenseAgreement. |