Log In   View a printable version of the current page.
Represent Trimmed Curve (FP)
Added by Janice Wix, last edited by Janice Wix on Feb 21, 2007  (view change)
Labels: 
(None)


Represent Trimmed Curve

Overview

Identifies the information requirements for the provision of a trimmed curve.
A trimmed curve (IfcTrimmedCurve) is a bounded curve which is created by taking a selected portion, between two identified points, of an 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 is specified at each end of the curve.

Results

Specification of a trimmed curve with end points and trim conditions specified.

Description Entity/Pset/Functional Part MAN REC OPT
Select the curve that is to form the basis of the trimmed curve.
A basis is a curve that is a line or conic subtype of IfcCurve.
For further information, refer to the functional parts describing representation of such curves namely:
  • fp_represent_line
  • fp_represent_polyline
  • fp_represent_conic (not yet defined)
IfcTrimmedCurve.BasisCurve::IfcCurve (subtypes IfcLine, IfcPolyline, IfcConic)    
Specify the first trimming point for the curve IfcTrimmedCurve.Trim1::IfcTrimmingSelect    
Specify the second trimming point for the curve IfcTrimmedCurve.Trim2::IfcTrimmingSelect    
Selection of the trimming points may be either Cartesian points or parameter values or a mixture of the two.
A parameter value is a REAL number defining a value within the parametric range of the curve
IfcCartesianPoint.Coordinates
IfcParameterValue
   
The space dimensionality for a Cartesian point is derived from the number of coordinates specified. IfcCartesianPoint.Dim    
Identify whether the trimmed curve has the same sense (direction) as the basis curve.
The value is set to TRUE or FALSE.
Sense is used to indicate whether the direction of the trimmed curve agrees with or is opposed to the direction of the basis curve.
IfcTrimmedCurve.SenseAgreement::BOOLEAN    
Where both parameter and point are present at either end of the curve, indicates the preferred form.
Values may be set as:
  • Cartesian: Indicates that trimming by Cartesian point is preferred.
  • Parameter: Indicates the preference for the parameter value.
  • Unspecified: Indicates that no preference is communicated.
IfcTrimmedCurve.MasterRepresentation::IfcTrimmingPreference    
The space dimensionality for the trimmed curve is derived from its 2 or 3 dimensional context. IfcTrimmedCurve.Dim    

IFC Entities Required

  • IfcBoundedCurve
  • IfcCartesianPoint
  • IfcCurve
  • IfcGeometricRepresentationItem
  • IfcPoint
  • IfcRepresentationItem
  • IfcTrimmedCurve

IFC Datatypes Required

  • IfcDimensionCount
  • IfcLengthMeasure
  • IfcParameterValue
  • IfcTrimmingPreference
  • IfcTrimmingSelect

IFC Functions Required

  • -

IDM Functional Parts Required

  • -

EXPRESS-G

EXPRESS Schema

SCHEMA FP_REPRESENT_TRIMMED_CURVE;

  TYPE IfcDimensionCount = INTEGER;
    WHERE
      WR1 : { 0 < SELF <= 3 };
  END_TYPE;

  TYPE IfcLengthMeasure = REAL;
  END_TYPE;

  TYPE IfcParameterValue = REAL;
  END_TYPE;

  TYPE IfcTrimmingPreference = ENUMERATION OF
    (CARTESIAN,
     PARAMETER,
     UNSPECIFIED);
  END_TYPE;

  TYPE IfcTrimmingSelect = SELECT
    (IfcCartesianPoint,
     IfcParameterValue);
  END_TYPE;

  ENTITY IfcGeometricRepresentationItem
    ABSTRACT SUPERTYPE OF (ONEOF(IfcCurve, IfcPoint))
    SUBTYPE OF(IfcRepresentationItem);
  END_ENTITY;

  ENTITY IfcRepresentationItem
    ABSTRACT SUPERTYPE;
  END_ENTITY;

  ENTITY IfcCartesianPoint
    SUBTYPE OF(IfcPoint);
      Coordinates : LIST [1:3] OF IfcLengthMeasure;
    DERIVE
      Dim         : IfcDimensionCount := HIINDEX(Coordinates);
    WHERE
      WR1 : HIINDEX(Coordinates) >= 2;
  END_ENTITY;

  ENTITY IfcPoint
    ABSTRACT SUPERTYPE
    SUBTYPE OF(IfcGeometricRepresentationItem);
  END_ENTITY;

  ENTITY IfcCurve
    ABSTRACT SUPERTYPE
    SUBTYPE OF(IfcGeometricRepresentationItem);
    DERIVE
      Dim : IfcDimensionCount := IfcCurveDim(SELF);
  END_ENTITY;

  ENTITY IfcBoundedCurve
    ABSTRACT SUPERTYPE
    SUBTYPE OF(IfcCurve);
  END_ENTITY;

  ENTITY IfcTrimmedCurve
    SUBTYPE OF(IfcBoundedCurve);
      BasisCurve           : IfcCurve;
      Trim1                : SET [1:2] OF IfcTrimmingSelect;
      Trim2                : SET [1:2] OF IfcTrimmingSelect;
      SenseAgreement       : BOOLEAN;
      MasterRepresentation : IfcTrimmingPreference;
    WHERE
      WR41 : (HIINDEX(Trim1) = 1) OR (TYPEOF(Trim1[1]) <> TYPEOF(Trim1[2]));
      WR42 : (HIINDEX(Trim2) = 1) OR (TYPEOF(Trim2[1]) <> TYPEOF(Trim2[2]));
      WR43 : NOT('IFC2X2_FINAL.IFCBOUNDEDCURVE' IN TYPEOF(BasisCurve));
  END_ENTITY;

END_SCHEMA;

Powered by Atlassian Confluence, the Enterprise Wiki. (Version: 2.1.3 Build:#408 Jan 23, 2006) - Bug/feature request - Contact Administrators