gespiegeltes Profil | |
Mirrored Profile Def |
Item | SPF | XML | Change | Description | IFC2x3 to IFC4 |
---|---|---|---|---|
IfcMirroredProfileDef | ADDED |
The IfcMirroredProfileDef defines the profile by mirroring the parent profile about the y axis of the parent profile coordinate system. That is, left and right of the parent profile are swapped.
Notes:
IfcMirroredProfileDef is primarily useful together with IfcCShapeProfileDef, IfcLShapeProfileDef, IfcUShapeProfileDef, or IfcZShapeProfileDef as parent profile but can be used with other parent profile types as well.
Mirroring of an IfcParameterizedProfileDef is performed after translation and rotation according to its Position attribute. For example, if the parent profile's Position offsets it by half of its width to the right, then the mirrored profile will be offset by half of its width to the left.
Mirroring about the x axis, i.e. swapping top and bottom, can be achieved by mirroring about the y axis coupled with 180 degree rotation about the z axis. In general, rotation happens in a containing object such as IfcSweptAreaSolid, i.e. after mirroring by IfcMirroredProfileDef was performed. If the parent profile is an IfcParameterizedProfileDef, rotation can alternatively happen already in the parent profile by means of its Position attribute, i.e. before mirroring by IfcMirroredProfileDef was performed.
HISTORY New entity in IFC4.
# | Attribute | Type | Cardinality | Description | C |
---|---|---|---|---|---|
Operator := IfcRepresentationItem() || IfcGeometricRepresentationItem() || IfcCartesianTransformationOperator( -- Axis1 IfcRepresentationItem() || IfcGeometricRepresentationItem() || IfcDirection([-1., 0.]), -- Axis2 IfcRepresentationItem() || IfcGeometricRepresentationItem() || IfcDirection([ 0., 1.]), -- LocalOrigin IfcRepresentationItem() || IfcGeometricRepresentationItem() || IfcPoint() || IfcCartesianPoint([0., 0.]), -- Scale 1.) || IfcCartesianTransformationOperator2D() | IfcCartesianTransformationOperator2D | [1:1] | X |
# | Attribute | Type | Cardinality | Description | C |
---|---|---|---|---|---|
IfcProfileDef | |||||
1 | ProfileType | IfcProfileTypeEnum | [1:1] | Defines the type of geometry into which this profile definition shall be resolved, either a curve or a surface area. In case of curve the profile should be referenced by a swept surface, in case of area the profile should be referenced by a swept area solid. | X |
2 | ProfileName | IfcLabel | [0:1] | Human-readable name of the profile, for example according to a standard profile table. As noted above, machine-readable standardized profile designations should be provided in IfcExternalReference.ItemReference. | X |
HasExternalReference | IfcExternalReferenceRelationship @RelatedResourceObjects | S[0:?] | Reference to external information, e.g. library, classification, or document information, which is associated with the profile. | X | |
HasProperties | IfcProfileProperties @ProfileDefinition | S[0:?] | Additional properties of the profile, for example mechanical properties. | X | |
IfcDerivedProfileDef | |||||
3 | ParentProfile | IfcProfileDef | [1:1] | The parent profile provides the origin of the transformation. | X |
5 | Label | IfcLabel | [0:1] | The name by which the transformation may be referred to. The actual meaning of the name has to be defined in the context of applications. | X |
IfcMirroredProfileDef | |||||
Operator := IfcRepresentationItem() || IfcGeometricRepresentationItem() || IfcCartesianTransformationOperator( -- Axis1 IfcRepresentationItem() || IfcGeometricRepresentationItem() || IfcDirection([-1., 0.]), -- Axis2 IfcRepresentationItem() || IfcGeometricRepresentationItem() || IfcDirection([ 0., 1.]), -- LocalOrigin IfcRepresentationItem() || IfcGeometricRepresentationItem() || IfcPoint() || IfcCartesianPoint([0., 0.]), -- Scale 1.) || IfcCartesianTransformationOperator2D() | IfcCartesianTransformationOperator2D | [1:1] | X |
# | Concept | Model View |
---|---|---|
IfcProfileDef | ||
Property Sets for Objects | Common Use Definitions |
<xs:complexType name="IfcMirroredProfileDef-temp" abstract="true">
<xs:complexContent>
<xs:restriction base="ifc:IfcDerivedProfileDef">
<xs:sequence>
<xs:element name="ParentProfile" type="ifc:IfcProfileDef" nillable="true"/>
</xs:sequence>
</xs:restriction>
</xs:complexContent>
</xs:complexType>
<xs:element name="IfcMirroredProfileDef" type="ifc:IfcMirroredProfileDef" substitutionGroup="ifc:IfcDerivedProfileDef" nillable="true"/>
<xs:complexType name="IfcMirroredProfileDef">
<xs:complexContent>
<xs:extension base="ifc:IfcMirroredProfileDef-temp"/>
</xs:complexContent>
</xs:complexType>
ENTITY IfcMirroredProfileDef
SUBTYPE OF (IfcDerivedProfileDef);
DERIVE
SELF\IfcDerivedProfileDef.Operator : IfcCartesianTransformationOperator2D :=
IfcRepresentationItem() || IfcGeometricRepresentationItem() ||
IfcCartesianTransformationOperator(
-- Axis1
IfcRepresentationItem() || IfcGeometricRepresentationItem() ||
IfcDirection([-1., 0.]),
-- Axis2
IfcRepresentationItem() || IfcGeometricRepresentationItem() ||
IfcDirection([ 0., 1.]),
-- LocalOrigin
IfcRepresentationItem() || IfcGeometricRepresentationItem() ||
IfcPoint() || IfcCartesianPoint([0., 0.]),
-- Scale
1.) ||
IfcCartesianTransformationOperator2D();
END_ENTITY;