Link to Index Page

 IDL Definition for IfcGeometryResource 

Link to Documentation Link to EXPRESS-G Diagram Link to EXPRESS Definition

module IfcGeometryResource{


#include "IfcMeasureResource


IfcBooleanOperator


enum IfcBooleanOperator {Union, Intersection, Difference} ;


IfcTransitionCode


enum IfcTransitionCode {Discontinuous, Continuous, ContSameGradient, ContSameGradientSameCurvature} ;


IfcTrimmingPreference


enum IfcTrimmingPreference {Cartesian, Parameter, Unspecified} ;


IfcAxis2Placement_select


enum IfcAxis2Placement_select  {
    IfcAxis2Placement__IfcAxis2Placement2D,
    IfcAxis2Placement__IfcAxis2Placement3D
    };


IfcAxis2Placement


union IfcAxis2Placement switch (IfcAxis2Placement_select) {
    case IfcAxis2Placement__IfcAxis2Placement2D : I_Axis2Placement2D c1 ;
    case IfcAxis2Placement__IfcAxis2Placement3D : I_Axis2Placement3D c2 ;
    };


IfcBooleanOperand_select


enum IfcBooleanOperand_select  {
    IfcBooleanOperand__IfcSolidModel,
    IfcBooleanOperand__IfcHalfSpaceSolid,
    IfcBooleanOperand__IfcBooleanResult
    };


IfcBooleanOperand


union IfcBooleanOperand switch (IfcBooleanOperand_select) {
    case IfcBooleanOperand__IfcSolidModel : I_SolidModel c1 ;
    case IfcBooleanOperand__IfcHalfSpaceSolid : I_HalfSpaceSolid c2 ;
    case IfcBooleanOperand__IfcBooleanResult : I_BooleanResult c3 ;
    };


IfcCsgSelect_select


enum IfcCsgSelect_select  {
    IfcCsgSelect__IfcBooleanResult
    };


IfcCsgSelect


union IfcCsgSelect switch (IfcCsgSelect_select) {
    case IfcCsgSelect__IfcBooleanResult : I_BooleanResult c1 ;
    };


IfcTrimmingSelect_select


enum IfcTrimmingSelect_select  {
    IfcTrimmingSelect__IfcCartesianPoint,
    IfcTrimmingSelect__IfcParameterValue
    };


IfcTrimmingSelect


union IfcTrimmingSelect switch (IfcTrimmingSelect_select) {
    case IfcTrimmingSelect__IfcCartesianPoint : I_CartesianPoint c1 ;
    case IfcTrimmingSelect__IfcParameterValue : IfcParameterValue c2 ;
    };


IfcVectorOrDirection_select


enum IfcVectorOrDirection_select  {
    IfcVectorOrDirection__IfcVector,
    IfcVectorOrDirection__IfcDirection
    };


IfcVectorOrDirection


union IfcVectorOrDirection switch (IfcVectorOrDirection_select) {
    case IfcVectorOrDirection__IfcVector : I_Vector c1 ;
    case IfcVectorOrDirection__IfcDirection : I_Direction c2 ;
    };


IfcProfileTypeEnum


enum IfcProfileTypeEnum {Curve, Area} ;


I_Direction__bounded_list


typedef sequence<I_Direction> I_Direction__bounded_list;


IfcLengthMeasure__bounded_list


typedef sequence<IfcMeasureResource::IfcLengthMeasure> IfcLengthMeasure__bounded_list;


I_CompositeCurveSegment__list


typedef sequence<I_CompositeCurveSegment> I_CompositeCurveSegment__list;


I_CompositeCurve__set


typedef sequence<I_CompositeCurve> I_CompositeCurve__set;


I_Face__set


typedef sequence<I_Face> I_Face__set;


I_2DCompositeCurve__set


typedef sequence<I_2DCompositeCurve> I_2DCompositeCurve__set;


double__bounded_list


typedef sequence<double> double__bounded_list;


I_FaceBound__set


typedef sequence<I_FaceBound> I_FaceBound__set;


I_ClosedShell__set


typedef sequence<I_ClosedShell> I_ClosedShell__set;


I_CartesianPoint__list


typedef sequence<I_CartesianPoint> I_CartesianPoint__list;


IfcTrimmingSelect__bounded_set


typedef sequence<IfcTrimmingSelect> IfcTrimmingSelect__bounded_set;


I_AttDrivenExtrudedSegment__list


typedef sequence<I_AttDrivenExtrudedSegment> I_AttDrivenExtrudedSegment__list;


I_HalfSpaceSolid__list


typedef sequence<I_HalfSpaceSolid> I_HalfSpaceSolid__list;


I_AttDrivenRevolvedSegment__list


typedef sequence<I_AttDrivenRevolvedSegment> I_AttDrivenRevolvedSegment__list;


I_Axis1Placement

Link to Documentation

interface I_Axis1Placement  : I_Placement {
    attribute I_Direction Axis ;
    attribute I_Direction Z ;
    }; 


I_Axis2Placement2D

Link to Documentation

interface I_Axis2Placement2D  : I_Placement {
    attribute I_Direction RefDirection ;
    attribute I_Direction__bounded_list P ;
    }; 


I_Axis2Placement3D

Link to Documentation

interface I_Axis2Placement3D  : I_Placement {
    attribute I_Direction Axis ;
    attribute I_Direction RefDirection ;
    attribute I_Direction__bounded_list P ;
    }; 


I_BooleanResult

Link to Documentation

interface I_BooleanResult  : I_GeometricRepresentationItem {
    attribute IfcBooleanOperator Operator ;
    attribute IfcBooleanOperand FirstOperand ;
    attribute IfcBooleanOperand SecondOperand ;
    attribute IfcDimensionCount Dim ;
    }; 


I_BoundedCurve

Link to Documentation

interface I_BoundedCurve  : I_Curve {
    attribute IfcDimensionCount Dim ;
    }; 


I_BoundingBox

Link to Documentation

interface I_BoundingBox  : I_GeometricRepresentationItem {
    attribute I_CartesianPoint Corner ;
    attribute IfcMeasureResource::IfcPositiveLengthMeasure XDim ;
    attribute IfcMeasureResource::IfcPositiveLengthMeasure YDim ;
    attribute IfcMeasureResource::IfcPositiveLengthMeasure ZDim ;
    attribute IfcDimensionCount Dim ;
    }; 


I_BoxedHalfSpace

Link to Documentation

interface I_BoxedHalfSpace  : I_HalfSpaceSolid {
    attribute I_BoundingBox Enclosure ;
    }; 


I_CartesianPoint

Link to Documentation

interface I_CartesianPoint  : I_Point {
    attribute IfcLengthMeasure__bounded_list Coordinates ;
    attribute IfcDimensionCount Dim ;
    }; 


I_Circle

Link to Documentation

interface I_Circle  : I_Conic {
    attribute IfcMeasureResource::IfcPositiveLengthMeasure Radius ;
    }; 


I_ClosedShell

Link to Documentation

interface I_ClosedShell  : I_ConnectedFaceSet {
    }; 


I_CompositeCurve

Link to Documentation

interface I_CompositeCurve  : I_BoundedCurve {
    attribute I_CompositeCurveSegment__list Segments ;
    attribute Logical SelfIntersect ;
    attribute long NSegments ;
    attribute Logical ClosedCurve ;
    }; 


I_2DCompositeCurve

Link to Documentation

interface I_2DCompositeCurve  : I_CompositeCurve {
    }; 


I_CompositeCurveSegment

Link to Documentation

interface I_CompositeCurveSegment  : I_GeometricRepresentationItem {
    attribute IfcTransitionCode Transition ;
    attribute Bool SameSense ;
    attribute I_Curve ParentCurve ;
    attribute IfcDimensionCount Dim ;
    readonly attribute I_CompositeCurve__set UsingCurves ;
    }; 


I_Conic

Link to Documentation

interface I_Conic  : I_Curve {
    attribute IfcAxis2Placement Position ;
    attribute IfcDimensionCount Dim ;
    }; 


I_ConnectedFaceSet

Link to Documentation

interface I_ConnectedFaceSet  : I_TopologicalRepresentationItem {
    attribute I_Face__set CfsFaces ;
    }; 


I_CsgSolid

Link to Documentation

interface I_CsgSolid  : I_SolidModel {
    attribute IfcCsgSelect TreeRootExpression ;
    }; 


I_Curve

Link to Documentation

interface I_Curve  : I_GeometricRepresentationItem {
    }; 


I_CurveBoundedPlane

Link to Documentation

interface I_CurveBoundedPlane  : I_Surface {
    attribute I_Plane BasisSurface ;
    attribute I_2DCompositeCurve OuterBoundary ;
    attribute I_2DCompositeCurve__set InnerBoundaries ;
    attribute IfcDimensionCount Dim ;
    }; 


I_Direction

Link to Documentation

interface I_Direction  : I_GeometricRepresentationItem {
    attribute double__bounded_list DirectionRatios ;
    attribute IfcDimensionCount Dim ;
    }; 


I_ElementarySurface

Link to Documentation

interface I_ElementarySurface  : I_Surface {
    attribute I_Axis2Placement3D Position ;
    attribute IfcDimensionCount Dim ;
    }; 


I_Ellipse

Link to Documentation

interface I_Ellipse  : I_Conic {
    attribute IfcMeasureResource::IfcPositiveLengthMeasure SemiAxis1 ;
    attribute IfcMeasureResource::IfcPositiveLengthMeasure SemiAxis2 ;
    }; 


I_ExtrudedAreaSolid

Link to Documentation

interface I_ExtrudedAreaSolid  : I_SweptAreaSolid {
    attribute I_Direction ExtrudedDirection ;
    attribute IfcMeasureResource::IfcPositiveLengthMeasure Depth ;
    }; 


I_Face

Link to Documentation

interface I_Face  : I_TopologicalRepresentationItem {
    attribute I_FaceBound__set Bounds ;
    }; 


I_FaceBound

Link to Documentation

interface I_FaceBound  : I_TopologicalRepresentationItem {
    attribute I_PolyLoop Bound ;
    attribute Bool Orientation ;
    }; 


I_FaceOuterBound

Link to Documentation

interface I_FaceOuterBound  : I_FaceBound {
    }; 


I_FacetedBrep

Link to Documentation

interface I_FacetedBrep  : I_ManifoldSolidBrep {
    }; 


I_FacetedBrepWithVoids

Link to Documentation

interface I_FacetedBrepWithVoids  : I_ManifoldSolidBrep {
    attribute I_ClosedShell__set Voids ;
    }; 


I_GeometricRepresentationItem

Link to Documentation

interface I_GeometricRepresentationItem  {
    }; 


I_HalfSpaceSolid

Link to Documentation

interface I_HalfSpaceSolid  : I_GeometricRepresentationItem {
    attribute I_Surface BaseSurface ;
    attribute Bool AgreementFlag ;
    attribute IfcDimensionCount Dim ;
    }; 


I_Line

Link to Documentation

interface I_Line  : I_Curve {
    attribute I_CartesianPoint Pnt ;
    attribute I_Vector Dir ;
    attribute IfcDimensionCount Dim ;
    }; 


I_ManifoldSolidBrep

Link to Documentation

interface I_ManifoldSolidBrep  : I_SolidModel {
    attribute I_ClosedShell Outer ;
    }; 


I_Placement

Link to Documentation

interface I_Placement  : I_GeometricRepresentationItem {
    attribute I_CartesianPoint Location ;
    attribute IfcDimensionCount Dim ;
    }; 


I_Plane

Link to Documentation

interface I_Plane  : I_ElementarySurface {
    }; 


I_Point

Link to Documentation

interface I_Point  : I_GeometricRepresentationItem {
    }; 


I_Polyline

Link to Documentation

interface I_Polyline  : I_BoundedCurve {
    attribute I_CartesianPoint__list Points ;
    }; 


I_PolyLoop

Link to Documentation

interface I_PolyLoop  : I_GeometricRepresentationItem {
    attribute I_CartesianPoint__list Polygon ;
    attribute IfcDimensionCount Dim ;
    }; 


I_RevolvedAreaSolid

Link to Documentation

interface I_RevolvedAreaSolid  : I_SweptAreaSolid {
    attribute I_Axis1Placement Axis ;
    attribute IfcMeasureResource::IfcPlaneAngleMeasure Angle ;
    attribute I_Line AxisLine ;
    }; 


I_SolidModel

Link to Documentation

interface I_SolidModel  : I_GeometricRepresentationItem {
    attribute IfcDimensionCount Dim ;
    }; 


I_Surface

Link to Documentation

interface I_Surface  : I_GeometricRepresentationItem {
    }; 


I_SweptAreaSolid

Link to Documentation

interface I_SweptAreaSolid  : I_SolidModel {
    attribute I_CurveBoundedPlane SweptArea ;
    }; 


I_TopologicalRepresentationItem

Link to Documentation

interface I_TopologicalRepresentationItem  {
    }; 


I_TrimmedCurve

Link to Documentation

interface I_TrimmedCurve  : I_BoundedCurve {
    attribute I_Curve BasisCurve ;
    attribute IfcTrimmingSelect__bounded_set Trim1 ;
    attribute IfcTrimmingSelect__bounded_set Trim2 ;
    attribute Bool SenseAgreement ;
    attribute IfcTrimmingPreference MasterRepresentation ;
    }; 


I_Vector

Link to Documentation

interface I_Vector  : I_GeometricRepresentationItem {
    attribute I_Direction Orientation ;
    attribute IfcMeasureResource::IfcLengthMeasure Magnitude ;
    attribute IfcDimensionCount Dim ;
    }; 


I_AttDrivenExtrudedSolid

Link to Documentation

interface I_AttDrivenExtrudedSolid  : I_SolidModel {
    attribute I_AttDrivenExtrudedSegment__list Segments ;
    attribute I_Polyline Path ;
    }; 


I_AttDrivenClippedExtrudedSolid

Link to Documentation

interface I_AttDrivenClippedExtrudedSolid  : I_AttDrivenExtrudedSolid {
    attribute I_HalfSpaceSolid__list ClippingHalfSpaces ;
    }; 


I_AttDrivenExtrudedSegment

Link to Documentation

interface I_AttDrivenExtrudedSegment  : I_ExtrudedAreaSolid {
    attribute I_Axis2Placement3D Position ;
    attribute I_AttDrivenProfileDef ProfileDef ;
    attribute I_CurveBoundedPlane SweptArea ;
    attribute I_Direction ExtrudedDirection ;
    readonly attribute I_AttDrivenExtrudedSolid PartOfSolid ;
    }; 


I_AttDrivenTaperedExtrudedSegment

Link to Documentation

interface I_AttDrivenTaperedExtrudedSegment  : I_AttDrivenExtrudedSegment {
    attribute IfcMeasureResource::IfcPositiveRatioMeasure TaperingFactor ;
    }; 


I_AttDrivenMorphedExtrudedSegment

Link to Documentation

interface I_AttDrivenMorphedExtrudedSegment  : I_AttDrivenExtrudedSegment {
    attribute I_AttDrivenProfileDef EndProfileDef ;
    attribute I_CurveBoundedPlane EndSweptArea ;
    }; 


I_AttDrivenRevolvedSolid

Link to Documentation

interface I_AttDrivenRevolvedSolid  : I_SolidModel {
    attribute I_AttDrivenRevolvedSegment__list Segments ;
    attribute I_TrimmedCurve Path ;
    }; 


I_AttDrivenClippedRevolvedSolid

Link to Documentation

interface I_AttDrivenClippedRevolvedSolid  : I_AttDrivenRevolvedSolid {
    attribute I_HalfSpaceSolid__list ClippingHalfSpaces ;
    }; 


I_AttDrivenRevolvedSegment

Link to Documentation

interface I_AttDrivenRevolvedSegment  : I_RevolvedAreaSolid {
    attribute I_Axis2Placement3D Position ;
    attribute IfcMeasureResource::IfcPlaneAngleMeasure StartAngle ;
    attribute I_AttDrivenProfileDef ProfileDef ;
    attribute I_CurveBoundedPlane SweptArea ;
    readonly attribute I_AttDrivenRevolvedSolid PartOfSolid ;
    }; 


I_AttDrivenTaperedRevolvedSegment

Link to Documentation

interface I_AttDrivenTaperedRevolvedSegment  : I_AttDrivenRevolvedSegment {
    attribute IfcMeasureResource::IfcPositiveRatioMeasure TaperingFactor ;
    }; 


I_AttDrivenMorphedRevolvedSegment

Link to Documentation

interface I_AttDrivenMorphedRevolvedSegment  : I_AttDrivenRevolvedSegment {
    attribute I_AttDrivenProfileDef EndProfileDef ;
    attribute I_CurveBoundedPlane EndSweptArea ;
    }; 


I_AttDrivenProfileDef

Link to Documentation

interface I_AttDrivenProfileDef  {
    attribute I_Axis2Placement2D Position ;
    attribute IfcProfileTypeEnum ProfileType ;
    }; 


I_ArbitraryProfileDef

Link to Documentation

interface I_ArbitraryProfileDef  : I_AttDrivenProfileDef {
    attribute I_BoundedCurve CurveForSurface ;
    attribute I_Axis2Placement2D Position ;
    }; 


I_CircleProfileDef

Link to Documentation

interface I_CircleProfileDef  : I_AttDrivenProfileDef {
    attribute IfcMeasureResource::IfcPositiveLengthMeasure Radius ;
    attribute I_TrimmedCurve CurveForSurface ;
    }; 


I_RectangleProfileDef

Link to Documentation

interface I_RectangleProfileDef  : I_AttDrivenProfileDef {
    attribute IfcMeasureResource::IfcPositiveLengthMeasure XDim ;
    attribute IfcMeasureResource::IfcPositiveLengthMeasure YDim ;
    attribute I_Polyline CurveForSurface ;
    }; 


I_TrapeziumProfileDef

Link to Documentation

interface I_TrapeziumProfileDef  : I_AttDrivenProfileDef {
    attribute IfcMeasureResource::IfcPositiveLengthMeasure BottomXDim ;
    attribute IfcMeasureResource::IfcPositiveLengthMeasure TopXDim ;
    attribute IfcMeasureResource::IfcPositiveLengthMeasure YDim ;
    attribute IfcMeasureResource::IfcLengthMeasure TopXOffset ;
    attribute I_Polyline CurveForSurface ;
    }; 


}; // end module IfcGeometryResource