IFCファイルを作る/(14)アプリケーションソフトでデータを生成する
2003年6月24日作成、2024年1月1日変更
三木(作成時、IAI設備FM分科会に所属)
(注)利用したIFCのバージョンは2.0。以降のバージョンでは差異がある。
◆IFCの利用
IFCの利用方法の一つとして、計算等の処理結果をIFCで表現することが考えられる。
IFCで表現すれば、結果の表示や修正はIFC対応ソフトでおこなえば良いため、開発効率の向上が期待される。
IFCで表現するにあたっては、IFC対応ソフトが実際にデータをどのように扱っているかを知ることがまず重要である。
そこで今回、IFC対応ソフト(Microsofft VISIO 2002 IFC対応開発版)を使用してIFCデータを生成し、その内容を調査してみた。
◆モデル
下記にモデルを示す。
4個の壁(高さ2600)だけからなる極めて単純なものである。
◆IFCデータ
下記に生成したデータ(注釈を付記)を列記する。
↑
Part21形式のファイルは、「ISO-10303-21;」で始まり「END-ISO-10303-21;」で終わる。
この間には、「HEADER;」で始まり「ENDSEC;」で終わるHEADERセクションと、「DATA;」で始まり「ENDSEC;」で終わるDATAセクションが含まれる。
HEADER;
/* Generated by software containing ST-Developer
* from STEP Tools, Inc. (www.steptools.com)
*/
↑
Part21形式のファイルでは、データの区切りは「;」で示される。
改行はデータの区切りではない。
また「/*」と「*/」で囲まれた部分はコメントである。
FILE_DESCRIPTION(
/* description */ (''),
/* implementation_level */ '2;1');
FILE_NAME(
/* name */ 'wall',
/* time_stamp */ '2003-06-10T10:23:12+09:00',
/* author */ ('ma-korai'),
/* organization */ ('\X\90{\X\89\X\EA\X\8DH\X\8B\X\C6\X\8A\X\94\X\8E\X\AE
\X\89\X\EF\X\8E\X\D0'),
/* preprocessor_version */ 'ST-DEVELOPER v7',
/* originating_system */ 'Microsoft(R) Visio(R) 10 Professional',
/* authorisation */ 'ma-korai');
FILE_SCHEMA (('IFC20_LONGFORM'));
ENDSEC;
↑
Part21形式のファイルでは、データは線型リストで表現される。
線型リストとは、いくつかの要素をカンマ「,」で区切って一列に並べたものをカッコ「()」で囲ったものである。
また、線型リストの要素に線型リストを含める(入れ子にする)こともできる。
DATA;
#10=IFCMATERIALLAYERSETUSAGE(#16,0.,.F.);
#11=IFCMATERIALLAYERSETUSAGE(#16,0.,.F.);
#12=IFCMATERIALLAYERSETUSAGE(#16,0.,.F.);
#13=IFCMATERIALLAYERSETUSAGE(#16,0.,.F.);
↑
「IfcMaterialLayerSetUsage」は材料の層の組み合わせの使い方を表わすもので、3個の属性「ForLayerSet」(材料の層の組み合わせ)、「MlsOffsetFromBaseline」(オフセット寸法)、「MlsSenseLtoR」(層の方向)を持つ。
ENTITY IfcMaterialLayerSetUsage;
ForLayerSet : IfcMaterialLayerSet;
MlsOffsetFromBaseline : IfcLengthMeasure;
MlsSenseLtoR : BOOLEAN;
DERIVE
(略)
END_ENTITY;
#14=IFCMATERIAL('See layers for construction type',$,(),());
↑
「IfcMaterial」は材料を表わすもので、4個の属性「MaterialName」(名称)、「MaterialClassification」(分類)、「MaterialFinishes」(仕上げ)、「Properties」(特性)の属性を持つ。
ENTITY IfcMaterial;
MaterialName : STRING;
MaterialClassification : OPTIONAL IfcClassificationList;
MaterialFinishes : SET [0:?] OF IfcMaterialFinish;
Properties : SET [0:?] OF IfcMaterialPropertySelect;
END_ENTITY;
#15=IFCMATERIALLAYER(#14,0.,150.);
↑
「IfcMaterialLayer」は材料の層を表わすもので、3個の属性「Material」(材料)、「OffsetFromMLSBase」(オフセット寸法)、「LayerThickness」(厚さ)を持つ。
ENTITY IfcMaterialLayer;
Material : IfcMaterial;
OffsetFromMLSBase : IfcLengthMeasure;
LayerThickness : IfcPositiveLengthMeasure;
INVERSE
(略)
END_ENTITY;
#16=IFCMATERIALLAYERSET((#15),.F.);
↑
「IfcMaterialLayerSet」は複数の材料の層の組み合わせを表わすもので、2個の属性「HasMaterialLayers 」(材料の層)、「IsVentilated」(中空層換気/非換気の区別)を持つ。
ENTITY IfcMaterialLayerSet;
HasMaterialLayers : LIST [1:?] OF IfcMaterialLayer;
IsVentilated : BOOLEAN;
END_ENTITY;
↑↑↑材料↑↑↑
#17=IFCRELCONNECTSPATHELEMENTS('qYnvH.yTE#sU|+30e6Ih',#146,$,.F.,.F.,$,#87,
#90,(),(),.START.,.ATEND.);
#18=IFCRELCONNECTSPATHELEMENTS('pAgKNbn??Ehi_VgfdvV7',#146,$,.F.,.F.,$,#87,
#88,(),(),.ATEND.,.START.);
#19=IFCRELCONNECTSPATHELEMENTS('Y+E*U!T^0<qi!2`o>.T6',#146,$,.F.,.F.,$,#88,
#89,(),(),.ATEND.,.START.);
#20=IFCRELCONNECTSPATHELEMENTS('X5*?iNh3h@ja9E`hR6kt',#146,$,.F.,.F.,$,#89,
#90,(),(),.ATEND.,.START.);
↑
「IfcRelConnectsPathElements」はオブジェクトの接続関係を表わしたもので、上位から継承する8個の属性「GlobalId」、「OwnerHistory」、「Label」、「UserDefinedType」、「DocumentReferences」、「ConnectionGeometry」、「RelatingElement」(関係する側の要素)、「RelatedElement」(関係される側の要素)と、自身で定義する4個の属性「RelatingPriorities」(関係する側の順序)、「RelatedPriorities」(関係される側の順序)、「RelatingConnectionType」(関係する側の接続形態)、「RelatedConnectionType」(関係される側の接続形態)を持つ。
ENTITY IfcRelConnectsPathElements
SUBTYPE OF (IfcRelConnectsElements);
RelatingPriorities : LIST [0:RelatingLayerCount] OF INTEGER;
RelatedPriorities : LIST [0:RelatedLayerCount] OF INTEGER;
RelatingConnectionType : IfcConnectionEnum;
RelatedConnectionType : IfcConnectionEnum;
DERIVE
(略)
END_ENTITY;
TYPE IfcConnectionEnum = ENUMERATION OF (
AtPath
,Start
,AtEnd
,NotDefined);
END_TYPE;
IfcRoot /GlobalId,OwnerHistory,Label
└IfcRelationship /RelatedIsDependent,RelatingIsDependent
└IfcRelConnectsElements /ConnectionGeometry,RelatingElement,RelatedElement
└IfcRelConnectsPathElements /RelatingPriorities,RelatedPriorities,RelatingConnectionType,RelatedConnectionType
ENTITY IfcRelConnectsElements
SUPERTYPE OF (ONEOF(
IfcRelConnectsPathElements
,IfcRelJoinsElements ))
SUBTYPE OF (IfcRelationship);
ConnectionGeometry : OPTIONAL IfcConnectionGeometry;
RelatingElement : IfcElement;
RelatedElement : IfcElement;
WHERE
(略)
END_ENTITY;
#21=IFCRELGROUPS('*5>gY1GY<OkXLzsd>r*j',#146,$,.T.,.F.,#23,(#87,#88,#89,
#90));
#22=IFCRELGROUPS('.Ihn^av<EhtLapHngcX%',#146,$,.T.,.F.,#24,(#87,#88,#89,
#90));
↑
「IfcRelGroups」はグループの関係を表わすもので、上位から継承する5個の属性「GlobalId」、「OwnerHistory」、「Label」、「RelatedIsDependent」、「RelatingIsDependent」と、自身で定義する2個の属性「RelatingGroup」(関係する側のグループ)、「RelatedObjects」(関係される側のオブジェクト)を持つ。
ENTITY IfcRelGroups
SUBTYPE OF (IfcRelationship);
RelatingGroup : IfcGroup;
RelatedObjects : LIST [1:?] OF UNIQUE IfcObject;
WHERE
(略)
END_ENTITY;
IfcRoot /GlobalId,OwnerHistory,Label
└IfcRelationship /RelatedIsDependent,RelatingIsDependent
└IfcRelGroups /RelatingGroup,RelatedObjects
#23=IFCGROUP('*F9NFdNxVzvWul>h*O--',#146,$,$,(),'\X\8C\X\9A\X\92z\X\95\X\A8
\X\8AO\X\95\X\C7');/*「\X・・」は「建築物外壁」*/;
#24=IFCGROUP('#XWe>=e~xykpFw+<BCFq',#146,$,$,(),'\X\95\X\C7');/*「\X・・」は「壁」*/;
↑
「IfcGroup」はグループを表わすもので、上位から継承する5個の属性「GlobalId」、「OwnerHistory」、「Label」、「UserDefinedType」、「DocumentReferences」と、自身で定義する1個の属性「GroupPurpose」(グループの目的)を持つ。
ENTITY IfcGroup
SUPERTYPE OF (ONEOF(
IfcInventory
,IfcSpaceProgramGroup
,IfcSystem
,IfcZone ))
SUBTYPE OF (IfcObject);
GroupPurpose : OPTIONAL STRING;
INVERSE
(略)
END_ENTITY;
IfcRoot /GlobalId,OwnerHistory,Label
└IfcObject /UserDefinedType,DocumentReferences
└IfcGroup /GroupPurpose
↑↑↑接続↑↑↑
#25=IFCSIMPLEPROPERTY('ExtendToStructure',IFCBOOLEAN(.F.));
#26=IFCSIMPLEPROPERTY('ExternalWall',IFCBOOLEAN(.T.));
#27=IFCSIMPLEPROPERTY('ExtendToStructure',IFCBOOLEAN(.F.));
#28=IFCSIMPLEPROPERTY('ExternalWall',IFCBOOLEAN(.T.));
#29=IFCSIMPLEPROPERTY('ExtendToStructure',IFCBOOLEAN(.F.));
#30=IFCSIMPLEPROPERTY('ExternalWall',IFCBOOLEAN(.T.));
#31=IFCSIMPLEPROPERTY('ExtendToStructure',IFCBOOLEAN(.F.));
#32=IFCSIMPLEPROPERTY('ExternalWall',IFCBOOLEAN(.T.));
↑「IfcSimpleProperty」は値を表わすもので、上位から継承する1個の属性「Name」(名前)と、自身で定義する1個の属性「ValueComponent」(実数、整数、自然数、ブール値、文字列のいずれか)を持つ。
ENTITY IfcSimpleProperty
SUBTYPE OF (IfcProperty);
ValueComponent : IfcMeasureValue;
END_ENTITY;
IfcProperty /Name
└IfcSimpleProperty /ValueComponent
ENTITY IfcProperty
ABSTRACT SUPERTYPE OF (ONEOF(
IfcEnumeratedProperty
,IfcLibraryReference
,IfcObjectReference
,IfcPropertyList
,IfcSimpleProperty
,IfcSimplePropertyWithUnit));
Name : STRING;
INVERSE
(略)
END_ENTITY;
#33=IFCPROPERTYSET('og#y|&74M`tWT0z#tQXb',#146,$,'Pset_WallCommon',(#25,
#26));
#34=IFCPROPERTYSET('bMv=7k8VmJgiGy>8;,AO',#146,$,'Pset_WallCommon',(#27,
#28));
#35=IFCPROPERTYSET('NzcX>e!NXLjfUQTK#0&H',#146,$,'Pset_WallCommon',(#29,
#30));
#36=IFCPROPERTYSET('eB2Pn!njEvg7Wgg/M5u+',#146,$,'Pset_WallCommon',(#31,
#32));
↑
「IfcPropertySet」は特性の集まりを表わすもので、上位から継承する3個の属性「GlobalId」、「OwnerHistory」、「Label」と、自身で定義する2個の属性「Name」(名前)、「HasProperties」(特性)を持つ。
ENTITY IfcPropertySet
SUPERTYPE OF (ONEOF(
IfcExtensionPropertySet))
SUBTYPE OF (IfcPropertyDefinition);
Name : STRING;
HasProperties : LIST [1:?] OF IfcProperty;
END_ENTITY;
IfcRoot /GlobalId,OwnerHistory,Label
└IfcPropertyDefinition /
└IfcPropertySet /Name,HasProperties
ENTITY IfcPropertyDefinition
ABSTRACT SUPERTYPE OF (ONEOF(
IfcPropertySet
,IfcElectricalCharacteristics
,IfcManufactureInformation
,IfcMetricValue
,IfcOccupancyNumber
,IfcSpaceUseCase ))
SUBTYPE OF (IfcRoot);
INVERSE
(略)
END_ENTITY;
#37=IFCRELASSIGNSPROPERTIES('6>aXieh=E:h5L~wnE?K-',#146,$,.F.,.T.,#33,(#87),
'Generic');
#38=IFCRELASSIGNSPROPERTIES('i%gyhXURt&oW`WfI>.v7',#146,$,.F.,.T.,#34,(#88),
'Generic');
#39=IFCRELASSIGNSPROPERTIES('Ey88vY7b8%umt|%x2H+e',#146,$,.F.,.T.,#35,(#89),
'Generic');
#40=IFCRELASSIGNSPROPERTIES('1!Z9e*0N0Nzq~j^-clYn',#146,$,.F.,.T.,#36,(#90),
'Generic');
↑
「IfcRelAssignsProperties」はプロパティセットとオブジェクトを関係付けるもので、上位から継承する5個の属性「GlobalId」、「OwnerHistory」、「Label」、「RelatedIsDependent」(関係される側が独立かどうか)、「RelatingIsDependent」(関係される側が独立かどうか)と、自身で定義する3個の属性「RelatingPropertyDefinition」(関係する側の定義=プロパティセット)、「RelatedObjects」(関係される側のオブジェクト)、「DomainView」を持つ。
ENTITY IfcRelAssignsProperties
SUPERTYPE OF (ONEOF(
IfcRelAssignsTypedProperties))
SUBTYPE OF (IfcRelationship);
RelatingPropertyDefinition : IfcPropertyDefinition;
RelatedObjects : LIST [1:?] OF UNIQUE IfcObject;
DomainView : OPTIONAL STRING;
DERIVE
(略)
END_ENTITY;
IfcRoot /GlobalId,OwnerHistory,Label
└IfcRelationship /RelatedIsDependent,RelatingIsDependent
└IfcRelAssignsProperties /RelatingPropertyDefinition,RelatedObjects,DomainView
ENTITY IfcRelationship
ABSTRACT SUPERTYPE OF (ONEOF(
(略)
,IfcRelAssignsProperties
,(略) ))
SUBTYPE OF (IfcRoot);
RelatedIsDependent : BOOLEAN;
RelatingIsDependent : BOOLEAN;
END_ENTITY;
↑↑↑特性↑↑↑
#41=IFCAXIS2PLACEMENT2D(#112,$);
#42=IFCAXIS2PLACEMENT2D(#116,$);
#43=IFCAXIS2PLACEMENT2D(#120,$);
#44=IFCAXIS2PLACEMENT2D(#124,$);
↑
「IfcAxis2Placement2D」は2次元の座標系を表わすもので、上位から継承する1個の属性「Location」(原点)と、自身で定義する1個の属性「RefDirection」(X軸方向)を持つ。(Y軸は誘導)
ENTITY IfcAxis2Placement2D
SUBTYPE OF (IfcPlacement);
RefDirection : OPTIONAL IfcDirection;
DERIVE
(略)
WHERE
(略)
END_ENTITY;
IfcPlacement /Location
└IfcAxis2Placement2D /RefDirection
ENTITY IfcPlacement
ABSTRACT SUPERTYPE OF (ONEOF(
IfcAxis1Placement
,IfcAxis2Placement2D
,IfcAxis2Placement3D))
SUBTYPE OF (IfcGeometricRepresentationItem);
Location : IfcCartesianPoint;
DERIVE
(略)
END_ENTITY;
#45=IFCRECTANGLEPROFILEDEF(#41,.AREA.,2600.,150.);
#46=IFCRECTANGLEPROFILEDEF(#42,.AREA.,2600.,150.);
#47=IFCRECTANGLEPROFILEDEF(#43,.AREA.,2600.,150.);
#48=IFCRECTANGLEPROFILEDEF(#44,.AREA.,2600.,150.);
↑
「IfcRectangleProfileDef」は矩形形状定義を表わすもので、上位から継承する2個の属性「Position」(位置)、「ProfileType」(形状)と、自身で定義する2個の属性「XDim」(X方向寸法)、「YDim」(Y方向距離)を持つ。
ENTITY IfcRectangleProfileDef
SUBTYPE OF (IfcAttDrivenProfileDef);
XDim : IfcPositiveLengthMeasure;
YDim : IfcPositiveLengthMeasure;
DERIVE
(略)
END_ENTITY;
IfcAttDrivenProfileDef /Position,ProfileType
└IfcRectangleProfileDef /XDim,YDim
ENTITY IfcAttDrivenProfileDef
ABSTRACT SUPERTYPE OF (ONEOF(
IfcArbitraryProfileDef
,IfcCircleProfileDef
,IfcRectangleProfileDef
,IfcTrapeziumProfileDef));
Position : IfcAxis2Placement2D;
ProfileType : IfcProfileTypeEnum;
END_ENTITY;
TYPE IfcProfileTypeEnum = ENUMERATION OF (
Curve
,Area);
END_TYPE;
#49=IFCATTDRIVENEXTRUDEDSEGMENT(*,*,2500.,#130,#45);
#50=IFCATTDRIVENEXTRUDEDSEGMENT(*,*,3000.,#132,#46);
#51=IFCATTDRIVENEXTRUDEDSEGMENT(*,*,2500.,#134,#47);
#52=IFCATTDRIVENEXTRUDEDSEGMENT(*,*,3000.,#136,#48);
↑
「IfcAttDrivenExtrudedSegment」は立体の要素を表わすもので、上位から継承する3個の属性「SweptArea」(掃き出し面)、「ExtrudedDirection」(押し出し方向)、「Depth」(深さ)と、自身で定義する2個の属性「Position」(位置)、「ProfileDef」(形状定義)を持つ。
ENTITY IfcAttDrivenExtrudedSegment
SUPERTYPE OF (ONEOF(
IfcAttDrivenMorphedExtrudedSegment
,IfcAttDrivenTaperedExtrudedSegment))
SUBTYPE OF (IfcExtrudedAreaSolid);
Position : IfcAxis2Placement3D;
ProfileDef : IfcAttDrivenProfileDef;
DERIVE
(略)
INVERSE
(略)
WHERE
(略)
END_ENTITY;
IfcSweptAreaSolid /SweptArea
└IfcExtrudedAreaSolid /ExtrudedDirection,Depth
└IfcAttDrivenExtrudedSegment /Position,ProfileDef
ENTITY IfcExtrudedAreaSolid
SUPERTYPE OF (ONEOF(
IfcAttDrivenExtrudedSegment))
SUBTYPE OF (IfcSweptAreaSolid);
ExtrudedDirection : IfcDirection;
Depth : IfcPositiveLengthMeasure;
WHERE
(略)
END_ENTITY;
ENTITY IfcSweptAreaSolid
ABSTRACT SUPERTYPE OF (ONEOF(
IfcExtrudedAreaSolid
,IfcRevolvedAreaSolid))
SUBTYPE OF (IfcSolidModel);
SweptArea : IfcCurveBoundedPlane;
WHERE
(略)
END_ENTITY;
#53=IFCATTDRIVENEXTRUDEDSOLID((#49));
#54=IFCATTDRIVENEXTRUDEDSOLID((#50));
#55=IFCATTDRIVENEXTRUDEDSOLID((#51));
#56=IFCATTDRIVENEXTRUDEDSOLID((#52));
↑
「IfcAttDrivenExtrudedSolid」は立体を表わすもので、1個の属性「Segments」(立体の要素)を持つ。
ENTITY IfcAttDrivenExtrudedSolid
SUPERTYPE OF (ONEOF(
IfcAttDrivenClippedExtrudedSolid))
SUBTYPE OF (IfcSolidModel);
Segments : LIST [1:?] OF IfcAttDrivenExtrudedSegment;
DERIVE
(略)
WHERE
(略)
END_ENTITY;
#57=IFCBOUNDINGBOX(#110,2500.,150.,2600.);
#58=IFCBOUNDINGBOX(#114,3000.,150.,2600.);
#59=IFCBOUNDINGBOX(#118,2500.,150.,2600.);
#60=IFCBOUNDINGBOX(#122,3000.,150.,2600.);
↑
「IfcBoundingBox」は境界を表わすもので、4個の属性「Corner」(隅点)、「XDim」(X方向寸法)、「YDim」(Y方向寸法)、「ZDim」(Z方向寸法)を持つ。
ENTITY IfcBoundingBox
SUBTYPE OF (IfcGeometricRepresentationItem);
Corner : IfcCartesianPoint;
XDim : IfcPositiveLengthMeasure;
YDim : IfcPositiveLengthMeasure;
ZDim : IfcPositiveLengthMeasure;
DERIVE
(略)
END_ENTITY;
#61=IFCSHAPEREPRESENTATION(#147,'IAI','BoundingBox',(#57));
#62=IFCSHAPEREPRESENTATION(#147,'IAI','Standard',(#53));
#63=IFCSHAPEREPRESENTATION(#147,'IAI','BoundingBox',(#58));
#64=IFCSHAPEREPRESENTATION(#147,'IAI','Standard',(#54));
#65=IFCSHAPEREPRESENTATION(#147,'IAI','BoundingBox',(#59));
#66=IFCSHAPEREPRESENTATION(#147,'IAI','Standard',(#55));
#67=IFCSHAPEREPRESENTATION(#147,'IAI','BoundingBox',(#60));
#68=IFCSHAPEREPRESENTATION(#147,'IAI','Standard',(#56));
↑
「IfcShapeRepresentation」は形状表現を表わすもので、上位から継承する3個の属性「ContextOfItems」()、「RepresentationIdentifier」()、「RepresentationType」()と、自身で定義する1個の属性「Items」(幾何表現の種類)を持つ。
ENTITY IfcShapeRepresentation
SUBTYPE OF (IfcRepresentation);
Items : SET [1:?] OF IfcGeometricRepresentationItem;
INVERSE
(略)
WHERE
(略)
END_ENTITY;
ENTITY IfcGeometricRepresentationItem
ABSTRACT SUPERTYPE OF (ONEOF(
IfcBooleanResult
,IfcBoundingBox
,IfcCompositeCurveSegment
,IfcCurve
,IfcDirection
,IfcHalfSpaceSolid
,IfcPlacement
,IfcPoint
,IfcPolyLoop
,IfcSolidModel
,IfcSurface
,IfcVector));
END_ENTITY;
IfcRepresentation /ContextOfItems,RepresentationIdentifier,RepresentationType
└IfcShapeRepresentation /Items
ENTITY IfcRepresentation
ABSTRACT SUPERTYPE OF (ONEOF(
IfcShapeRepresentation
,IfcTopologyRepresentation));
ContextOfItems : IfcRepresentationContext;
RepresentationIdentifier : STRING;
RepresentationType : STRING;
END_ENTITY;
ENTITY IfcRepresentationContext
SUPERTYPE OF (ONEOF(
IfcGeometricRepresentationContext));
GlobalId : IfcGloballyUniqueId;
ContextIdentifier : STRING;
ContextType : STRING;
INVERSE
(略)
END_ENTITY;
#69=IFCPRODUCTDEFINITIONSHAPE('D0M=eMIle-o,nGI^BZf_',#146,$,$,(#61,#62));
#70=IFCPRODUCTDEFINITIONSHAPE('>q7lcf+0;Hs$v#Q=LTBA',#146,$,$,(#63,#64));
#71=IFCPRODUCTDEFINITIONSHAPE('F|caIXW2.tu~IKXnw%F$',#146,$,$,(#65,#66));
#72=IFCPRODUCTDEFINITIONSHAPE('t~gCAOx-7ju^9RbRSFn7',#146,$,$,(#67,#68));
↑
「IfcProductDefinitionShape」はを表わすもので、上位から継承する4個の属性「GlobalId」、「OwnerHistory」、「Name」(名前)、「Description」(記述)と、自身で定義する1個の属性「ShapeRepresentations」(形状表現)を持つ。
ENTITY IfcProductDefinitionShape
SUBTYPE OF (IfcProductRepresentation);
ShapeRepresentations : LIST [1:?] OF IfcShapeRepresentation;
INVERSE
(略)
END_ENTITY;
IfcProductRepresentation /GlobalId,OwnerHistory,Name,Description
└IfcProductDefinitionShape /ShapeRepresentations
ENTITY IfcProductRepresentation
ABSTRACT SUPERTYPE OF (ONEOF(
IfcProductDefinitionShape
,IfcProductDefinitionTopology));
GlobalId : IfcGloballyUniqueId;
OwnerHistory : IfcOwnerHistory;
Name : OPTIONAL STRING;
Description : OPTIONAL STRING;
END_ENTITY;
#73=IFCDIRECTION((0.,0.,1.));
#74=IFCDIRECTION((0.,-1.,0.));
#75=IFCDIRECTION((1.,0.,0.));
#76=IFCDIRECTION((0.,0.,1.));
#77=IFCDIRECTION((0.,0.,1.));
#78=IFCDIRECTION((-1.,-7.105427357601E-015,0.));
#79=IFCDIRECTION((1.,0.,0.));
#80=IFCDIRECTION((0.,0.,1.));
#81=IFCDIRECTION((0.,0.,1.));
#82=IFCDIRECTION((0.,1.,0.));
#83=IFCDIRECTION((1.,0.,0.));
#84=IFCDIRECTION((0.,0.,1.));
#85=IFCDIRECTION((1.,0.,0.));
#86=IFCDIRECTION((0.,0.,1.));
↑
「IfcDirection」は方向を表わすもので、1個の属性「DirectionRatios」(方向ベクトル)を持つ。
ENTITY IfcDirection
SUBTYPE OF (IfcGeometricRepresentationItem);
DirectionRatios : LIST [2:3] OF REAL;
DERIVE
(略)
WHERE
(略)
END_ENTITY;
#87=IFCWALL('E^-9FL+VGJh:;ii&c1ve',#146,'Sheet.2',$,(),#100,(#69),$,*,#10,
6.5,0.98);
#88=IFCWALL('N2f4q8H>`pm;aEOMQ%kc',#146,'Sheet.9',$,(),#101,(#70),$,*,#11,
7.8,1.17);
#89=IFCWALL('f8o4J3Kc?=qVla#2@0Ta',#146,'Sheet.16',$,(),#102,(#71),$,*,#12,
6.5,0.98);
#90=IFCWALL('FLr|x2YEnhm@#oY9-Xy-',#146,'Sheet.23',$,(),#103,(#72),$,*,#13,
7.8,1.17);
↑
「IfcWall」は壁を表わすもので、上位から継承する9個の属性「GlobalId」、「OwnerHistory」、「Label」、「UserDefinedType」、「DocumentReferences」、「LocalPlacement」、「Representations」、「Classification」、「HasMaterial」と、自身で定義する3個の属性「LayerInformation」(材質レイヤセットの使用方法)、「calcWallArea」(壁の面積)、「calcWallVolume」(壁の体積)を持つ。
ENTITY IfcWall
SUBTYPE OF (IfcBuildingElement);
LayerInformation : IfcMaterialLayerSetUsage;
calcWallArea : OPTIONAL IfcAreaMeasure;
calcWallVolume : OPTIONAL IfcVolumeMeasure;
DERIVE
(略)
WHERE
(略)
END_ENTITY;
IfcRoot /GlobalId,OwnerHistory,Label
└IfcObject /UserDefinedType,DocumentReferences
└IfcProduct /LocalPlacement,Representations,Classification
└IfcElement /
└IfcBuildingElement /HasMaterial
└IfcWall /LayerInformation,calcWallArea,calcWallVolume
#91=IFCBUILDINGSTOREY('T+>4Uj<wEJkuO@QxA9,u',#146,$,$,(),#99,(),$,$,
'\X\83t\X\83\X\8D\X\83A-1',0.,2000.,0.,0.);
↑
「IfcBuildingStorey」は階を表わすもので、上位から継承する8個の属性「GlobalId」、「OwnerHistory」、「Label」、「UserDefinedType」、「DocumentReferences」、「LocalPlacement」、「Representations」、「Classification」と、自身で定義する6個の属性「BuildingStoreyReference」(階参照)、「BuildingStoreyName」(階名)、「Elevation」(基準高)、「calcTotalHeight」(階高)、「calcTotalArea」(面積)、「calcTotalVolume」(容積)を持つ。
ENTITY IfcBuildingStorey
SUBTYPE OF (IfcProduct);
BuildingStoreyReference : OPTIONAL STRING;
BuildingStoreyName : OPTIONAL STRING;
Elevation : IfcLengthMeasure;
calcTotalHeight : OPTIONAL IfcLengthMeasure;
calcTotalArea : OPTIONAL IfcAreaMeasure;
calcTotalVolume : OPTIONAL IfcVolumeMeasure;
WHERE
(略)
END_ENTITY;
IfcRoot /GlobalId,OwnerHistory,Label
└IfcObject /UserDefinedType,DocumentReferences
└IfcProduct /LocalPlacement,Representations,Classification
└IfcBuildingStorey /BuildingStoreyReference,BuildingStoreyName,Elevation,calcTotalHeight,calcTotalArea,calcTotalVolume
#92=IFCBUILDING('8O#g1uF*shzxXo21kWuG',#146,$,$,(),#98,(),$,$,$,0.,0.,0.,
0.,0.);
↑
「IfcBuilding」は建物を表わすもので、上位から継承する8個の属性「GlobalId」、「OwnerHistory」、「Label」、「UserDefinedType」、「DocumentReferences」、「LocalPlacement」、「Representations」、「Classification」と、自身で定義する7個の属性「BuildingReference」(建物参照)、「BuildingName」(建物名称)、「calcTotalHeight」(全高)、「calcSiteCoverage」(敷地占有率)、「calcTotalVolume」(全容積)、「ElevationOfRefHeight」(高度参照高さ)、「ElevationOfTerrain」(地形の高度)を持つ。
ENTITY IfcBuilding
SUBTYPE OF (IfcProduct);
BuildingReference : OPTIONAL STRING;
BuildingName : OPTIONAL STRING;
calcTotalHeight : OPTIONAL IfcLengthMeasure;
calcSiteCoverage : OPTIONAL IfcAreaMeasure;
calcTotalVolume : OPTIONAL IfcVolumeMeasure;
ElevationOfRefHeight : OPTIONAL IfcLengthMeasure;
ElevationOfTerrain : OPTIONAL IfcLengthMeasure;
INVERSE
(略)
WHERE
(略)
END_ENTITY;
IfcRoot /GlobalId,OwnerHistory,Label
└IfcObject /UserDefinedType,DocumentReferences
└IfcProduct /LocalPlacement,Representations,Classification
└IfcBuilding /BuildingReference,BuildingName,calcTotalHeight,calcSiteCoverage,calcTotalVolume,ElevationOfRefHeight,ElevationOfTerrain
#93=IFCRELCONTAINS(',.^:Z298SeqZ6?E+pmH-',#146,$,.T.,.F.,#137,(#104),.PROJECTCONTAINER.,
.CONTAINED.);
#94=IFCRELCONTAINS('ClhJ@kv31^keA2D-WBWX',#146,$,.T.,.F.,#104,(#92),.SITECONTAINER.,
.CONTAINED.);
#95=IFCRELCONTAINS('nDskF6lY8#x=_Yc#IGBH',#146,$,.T.,.F.,#92,(#91),.BUILDINGCONTAINER.,
.CONTAINED.);
#96=IFCRELCONTAINS('2Bd^W2P~oqf<w8W0v._j',#146,$,.T.,.F.,#91,(#87,#88,#89,
#90),.BUILDINGSTOREYCONTAINER.,.CONTAINED.);
↑
「IfcRelContains」は、関連するオブジェクト(例えば、プロジェクトと敷地、敷地と建物、建物と階、階と壁)を関係付けるもので、上位から継承する5個の属性「GlobalId」、「OwnerHistory」、「Label」、「UserDefinedType」、「DocumentReferences」と、自身で定義する4個の属性「RelatingObject」(関係する側のオブジェクト)、「RelatedObjects」(関係される側のオブジェクト)、「RelationshipType」(関係の種類)、「ContainedOrReferenced」(包含/参照の区別)を持つ。
ENTITY IfcRelContains
SUBTYPE OF (IfcRelationship);
RelatingObject : IfcObject;
RelatedObjects : LIST [1:?] OF UNIQUE IfcObject;
RelationshipType : IfcContainmentEnum;
ContainedOrReferenced : IfcContainedOrReferencedEnum;
WHERE
(略)
END_ENTITY;
ENTITY IfcRelationship
ABSTRACT SUPERTYPE OF (ONEOF(
IfcRelActsUpon
,IfcRelAssignsProperties
,IfcRelContains
,IfcRelControls
,IfcRelGroups
,IfcRelNests
,IfcRelProcessOperatesOn
,IfcRelSequence
,IfcRelAdjacencyReq
,IfcRelAggregatesConstraints
,IfcRelAggregatesCrewResources
,IfcRelAssemblesElements
,IfcRelAssemblesSpaces
,IfcRelAttachesElements
,IfcRelAttachesToBoundaries
,IfcRelConnectsElements
,IfcRelConnectsPorts
,IfcRelCoversBldgElements
,IfcRelFillsElement
,IfcRelSeparatesSpaces
,IfcRelServicesBuildings
,IfcRelUsesResource
,IfcRelVoidsElement
,IfcRelWorkInteraction ))
SUBTYPE OF (IfcRoot);
RelatedIsDependent : BOOLEAN;
RelatingIsDependent : BOOLEAN;
END_ENTITY;
IfcRoot /GlobalId,OwnerHistory,Label
└IfcRelationship /RelatingIsDependent,RelatingIsDependent
└IfcRelContains /RelatingObject,RelatedObjects,RelationshipType,ContainedOrReferenced
#97=IFCLOCALPLACEMENT('Z@7p.xUxZffNr39u_8VK',#146,$,#137,#126);
#98=IFCLOCALPLACEMENT('0LC-aG3QJBwPi&zkS#M*',#146,$,#104,#127);
#99=IFCLOCALPLACEMENT('Yp2FD/g3V%ve_F@Sih+6',#146,$,#92,#128);
#100=IFCLOCALPLACEMENT('iC|LU#C1V6sOF>J!p4$u',#146,$,#91,#129);
#101=IFCLOCALPLACEMENT('5Pj_2Q+,43j/3Xsi&NO9',#146,$,#91,#131);
#102=IFCLOCALPLACEMENT('50:w?dd*1wk62?pw*imF',#146,$,#91,#133);
#103=IFCLOCALPLACEMENT('UyZMMILkm/iZC&bnPJQq',#146,$,#91,#135);
↑
「IfcLocalPlacement」は位置を表わすもので、上位から継承する3個の属性「GlobalId」、「OwnerHistory」、「Label」と、自身で定義する2個の属性「PlacementRelTo」(相対位置基準)、「RelativePlacement」(相対位置)を持つ。
ENTITY IfcLocalPlacement
SUBTYPE OF (IfcModelingAid);
PlacementRelTo : OPTIONAL IfcObjectWithPlacementSelect;
RelativePlacement : IfcAxis2Placement;
WHERE
(略)
END_ENTITY;
IfcRoot /GlobalId,OwnerHistory,Label
└IfcModelingAid
└IfcLocalPlacement /PlacementRelTo,RelativePlacement
ENTITY IfcRoot
ABSTRACT SUPERTYPE OF (ONEOF(
(略)
,IfcObject
(略)));
GlobalId : IfcGloballyUniqueId;
OwnerHistory : IfcOwnerHistory;
Label : OPTIONAL STRING;
UNIQUE
(略)
END_ENTITY;
#104=IFCSITE('M>#;/aJWOVzD1NFpFp,2',#146,$,$,(),#97,(),$,(0,0,0),(0,0,0),
0.,$,1.E-012,0.);
↑
「IfcSite」は敷地を表わすもので、上位から継承する8個の属性「GlobalId」、「OwnerHistory」、「Label」、「UserDefinedType」、「DocumentReferences」、「LocalPlacement」、「Representations」、「Classification」
と、自身で定義する6個の属性「RefLatitude」(参照緯度)、「RefLongitude」(参照経度)、「RefElevation」(参照高度)、「TrueNorth」(北方位)、「calcSitePerimeter」(敷地周囲長さ)、「calcSiteArea」(敷地面積)を持つ。
ENTITY IfcSite
SUBTYPE OF (IfcProduct);
RefLatitude : OPTIONAL IfcCompoundPlaneAngleMeasure;
RefLongitude : OPTIONAL IfcCompoundPlaneAngleMeasure;
RefElevation : OPTIONAL IfcLengthMeasure;
TrueNorth : OPTIONAL IfcDirection;
calcSitePerimeter : OPTIONAL IfcPositiveLengthMeasure;
calcSiteArea : OPTIONAL IfcAreaMeasure;
WHERE
(略)
END_ENTITY;
IfcRoot /GlobalId,OwnerHistory,Label
└IfcObject /UserDefinedType,DocumentReferences
└IfcProduct /LocalPlacement,Representations,Classification
└IfcSite /RefLatitude,RefLongitude,RefElevation,TrueNorth,calcSitePerimeter,calcSiteArea
#105=IFCCARTESIANPOINT((0.,0.,0.));
#106=IFCCARTESIANPOINT((0.,0.,0.));
#107=IFCCARTESIANPOINT((0.,0.,0.));
#108=IFCCARTESIANPOINT((0.,0.,0.));
#109=IFCCARTESIANPOINT((5000.,4000.00000000002,0.));
#110=IFCCARTESIANPOINT((0.,0.,0.));
#111=IFCCARTESIANPOINT((0.,150.,0.));
#112=IFCCARTESIANPOINT((0.,0.));
#113=IFCCARTESIANPOINT((5000.00000000001,1500.00000000002,0.));
#114=IFCCARTESIANPOINT((0.,0.,0.));
#115=IFCCARTESIANPOINT((0.,150.,0.));
#116=IFCCARTESIANPOINT((0.,0.));
#117=IFCCARTESIANPOINT((2000.,1500.,0.));
#118=IFCCARTESIANPOINT((0.,0.,0.));
#119=IFCCARTESIANPOINT((0.,150.,0.));
#120=IFCCARTESIANPOINT((0.,0.));
#121=IFCCARTESIANPOINT((2000.00000000002,4000.,0.));
#122=IFCCARTESIANPOINT((0.,0.,0.));
#123=IFCCARTESIANPOINT((0.,150.,0.));
#124=IFCCARTESIANPOINT((0.,0.));
↑
「IfcCartesianPoint」は点を表わすもので、1個の属性「Coordinates」(座標)を持つ。
ENTITY IfcCartesianPoint
SUBTYPE OF (IfcPoint);
Coordinates : LIST [1:3] OF IfcLengthMeasure;
DERIVE
(略)
WHERE
(略)
END_ENTITY;
#125=IFCAXIS2PLACEMENT3D(#105,$,$);
#126=IFCAXIS2PLACEMENT3D(#106,$,$);
#127=IFCAXIS2PLACEMENT3D(#107,$,$);
#128=IFCAXIS2PLACEMENT3D(#108,$,$);
#129=IFCAXIS2PLACEMENT3D(#109,#73,#74);
#130=IFCAXIS2PLACEMENT3D(#111,#75,#76);
#131=IFCAXIS2PLACEMENT3D(#113,#77,#78);
#132=IFCAXIS2PLACEMENT3D(#115,#79,#80);
#133=IFCAXIS2PLACEMENT3D(#117,#81,#82);
#134=IFCAXIS2PLACEMENT3D(#119,#83,#84);
#135=IFCAXIS2PLACEMENT3D(#121,$,$);
#136=IFCAXIS2PLACEMENT3D(#123,#85,#86);
↑
「IfcAxis2Placement3D」は3次元の座標系を表わすもので、上位から継承する1個の属性「Location」(原点)と、自身で定義する2個の属性「Axis」(Z軸方向)、「RefDirection」(X軸方向)を持つ。(Y軸は誘導)
ENTITY IfcAxis2Placement3D
SUBTYPE OF (IfcPlacement);
Axis : OPTIONAL IfcDirection;
RefDirection : OPTIONAL IfcDirection;
DERIVE
(略)
WHERE
(略)
END_ENTITY;
↑↑↑形状↑↑↑
#137=IFCPROJECT('<X0w0l5tC&phyOZfx>O/',#146,$,$,(),$,$,$,#153,$,#125);
↑
「IfcProject」はを表わすもので、上位から継承する5個の属性「GlobalId」、「OwnerHistory」、「Label」、「UserDefinedType」、「DocumentReferences」と、自身で定義する6個の属性「ReferenceName」(参照名称)、「Name」(名称)、「Phase」()、「UnitsInContext」()、「Classification」(分類)、「AbsolutePlacement」(絶対位置)を持つ。
ENTITY IfcProject
SUBTYPE OF (IfcObject);
ReferenceName : OPTIONAL STRING;
Name : OPTIONAL STRING;
Phase : OPTIONAL STRING;
UnitsInContext : IfcUnitAssignment;
Classification : OPTIONAL IfcClassificationList;
AbsolutePlacement : IfcAxis2Placement;
END_ENTITY;
IfcRoot /GlobalId,OwnerHistory,Label
└IfcObject /UserDefinedType,DocumentReferences
└IfcProject /ReferenceName,Name,Phase,UnitsInContext,Classification,AbsolutePlacement
#138=IFCACTORROLE(.NOTDEFINED.,$);
↑
「IfcActorRole」は役割を表わすもので、2個の属性「Role」(役割)、「Description」(記述)を持つ。
ENTITY IfcActorRole;
Role : IfcRoleEnum;
Description : OPTIONAL STRING;
END_ENTITY;
#139=IFCADDRESS($,(),$,$,$,$,(),(),(),$,$,$,$);
#140=IFCADDRESS($,(),$,$,$,$,(),(),(),$,$,$,$);
↑
「IfcAddress」は所在を表わすもので、13個の属性「InternalLocation」(部屋番号)、「AddressLines」(番地)、「Town」(町)、「Region」(地域)、「PostalCode」(郵便番号)、「Country」(国)、「FacsimileNumbers」(FAX番号)、「TelephoneNumbers」(電話番号)、「ElectronicMailAddresses」(Eメールアドレス)、「TelexNumber」(TELEX番号)、「WWWHomePageURL」(ホームページURL)、「Description」(記述)、「PostalBox」(私書箱)を持つ。
ENTITY IfcAddress;
InternalLocation : OPTIONAL STRING;
AddressLines : LIST [0:?] OF STRING;
Town : OPTIONAL STRING;
Region : OPTIONAL STRING;
PostalCode : OPTIONAL STRING;
Country : OPTIONAL STRING;
FacsimileNumbers : LIST [0:?] OF STRING;
TelephoneNumbers : LIST [0:?] OF STRING;
ElectronicMailAddresses : LIST [0:?] OF STRING;
TelexNumber : OPTIONAL STRING;
WWWHomePageURL : OPTIONAL STRING;
Description : OPTIONAL STRING;
PostalBox : OPTIONAL STRING;
INVERSE
(略)
WHERE
(略)
END_ENTITY;
#141=IFCPERSON($,$,$,$,$,(#139),(#138));
↑
「IfcPerson」は人を表わすもので、7個の属性「FamilyName」(名称)、「GivenName」(名称)、「MiddleNames」(名称)、「PrefixTitles」()、「SuffixTitles」()、「Addresses」(住所)、「Roles」(役割)を持つ。
ENTITY IfcPerson;
FamilyName : OPTIONAL STRING;
GivenName : OPTIONAL STRING;
MiddleNames : OPTIONAL STRING;
PrefixTitles : OPTIONAL STRING;
SuffixTitles : OPTIONAL STRING;
Addresses : LIST [0:?] OF IfcAddress;
Roles : LIST [0:?] OF IfcActorRole;
WHERE
(略)
END_ENTITY;
#142=IFCORGANIZATION('Microsoft Corporation',(),(),$);
#143=IFCORGANIZATION($,(#140),(),$);
↑
「IfcOrganization」は組織を表わすもので、4個の属性「Name」(名称)、「Addresses」(住所)、「Roles」(役割)、「Description」(記述)を持つ。
ENTITY IfcOrganization;
Name : STRING;
Addresses : LIST [0:?] OF IfcAddress;
Roles : LIST [0:?] OF IfcActorRole;
Description : OPTIONAL STRING;
END_ENTITY;
#144=IFCAPPLICATION('Microsoft Visio',
'Microsoft(R) Visio(R) 2002 Professional','2002',#142);
↑
「IfcApplication」はアプリケーションソフトを表わすもので、4個の属性「ApplicationIdentifier」(アプリケーション識別名称)、「ApplicationFullName」(アプリケーション名称)、「Version」(バージョン)、「ApplicationDeveloper」(アプリケーション開発者)を持つ。
ENTITY IfcApplication;
ApplicationIdentifier : STRING(16);
ApplicationFullName : STRING(255);
Version : STRING(255);
ApplicationDeveloper : IfcOrganization;
UNIQUE
(略)
END_ENTITY;
#145=IFCPERSONANDORGANIZATION(#141,#143,());
↑
「IfcPersonAndOrganization」は人および組織を表わすもので、3個の属性「ThePerson」(人)、「TheOrganization」(組織)、「Roles」(役割)を持つ。
ENTITY IfcPersonAndOrganization;
ThePerson : IfcPerson;
TheOrganization : IfcOrganization;
Roles : LIST [0:?] OF IfcActorRole;
END_ENTITY;
#146=IFCOWNERHISTORY(#145,#144,"10",$,$,$);
↑
「IfcOwnerHistory」は所有、作成の履歴を表わすもので、6個の属性「OwningUser」(作成者)、「OwningApplication」(作成アプリケーション)、「ModifiedFlag」(修正フラグ)、「ApplicationId」(アプリケーションID)、「OwnerDescriptor」(作成者)、「AuditTrail」(審査履歴)を持つ。
ENTITY IfcOwnerHistory;
OwningUser : IfcPersonAndOrganization;
OwningApplication : IfcApplication;
ModifiedFlag : IfcModifiedFlag;
ApplicationId : OPTIONAL STRING;
OwnerDescriptor : OPTIONAL STRING;
AuditTrail : OPTIONAL IfcAuditTrail;
END_ENTITY;
↑↑↑物件↑↑↑
#147=IFCGEOMETRICREPRESENTATIONCONTEXT('$np*rY|40Lv6CbP/2K|r','Generic',
'NotDefined',3,0.);
↑
「IfcGeometricRepresentationContext」は幾何表現文脈を表わすもので、上位から継承する3個の属性「GlobalId」、「ContextIdentifier」、「ContextType」と、自身で定義する2個の属性「CoordinateSpaceDimension」(座標空間次元)、「Precision」(精度)を持つ。
ENTITY IfcGeometricRepresentationContext
SUBTYPE OF (IfcRepresentationContext);
CoordinateSpaceDimension : IfcDimensionCount;
Precision : OPTIONAL REAL;
WHERE
(略)
END_ENTITY;
IfcRepresentationContext /GlobalId,ContextIdentifier,ContextType
└IfcGeometricRepresentationContext /CoordinateSpaceDimension,Precision
ENTITY IfcRepresentationContext
SUPERTYPE OF (ONEOF(
IfcGeometricRepresentationContext));
GlobalId : IfcGloballyUniqueId;
ContextIdentifier : STRING;
ContextType : STRING;
INVERSE
(略)
END_ENTITY;
#148=IFCSIUNIT(*,.LENGTHUNIT.,.MILLI.,.METRE.);
#149=IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.);
#150=IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.);
#151=IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.);
#152=IFCSIUNIT(*,.SOLIDANGLEUNIT.,$,.RADIAN.);
↑
「IfcSiUnit」は単位を表わすもので、上位から継承する2個の属性「Dimensions」(長さ、質量、時間、電流、熱力学温度、物質量、光度のそれぞれの要素のべき数)、「UnitType」(長さ、質量、時間、・・の単位)と、自身で定義する2個の属性「Prefix」(接頭記号)、「Name」(SI単位名)を持つ。
ENTITY IfcSiUnit
SUBTYPE OF (IfcNamedUnit);
Prefix : OPTIONAL IfcSiPrefix;
Name : IfcSiUnitName;
DERIVE
(略)
END_ENTITY;
IfcNamedUnit /Dimensions,UnitType
└IfcSiUnit /Prefix,Name
ENTITY IfcNamedUnit
ABSTRACT SUPERTYPE OF (ONEOF(
IfcContextDependentUnit
,IfcConversionBasedUnit
,IfcSiUnit));
Dimensions : IfcDimensionalExponents;
UnitType : IfcUnitEnum;
WHERE
(略)
END_ENTITY;
#153=IFCUNITASSIGNMENT((#148,#149,#150,#151,#152));
↑
「IfcUnitAssignment」は単位の割り当てを表わすもので、1個の属性「Units」(単位)を持つ。
ENTITY IfcUnitAssignment;
Units : SET [1:?] OF IfcUnit;
END_ENTITY;
↑↑↑単位↑↑↑
ENDSEC;
END-ISO-10303-21;
◆考察
IFCファイルを一から生成することは、ユーザーにはかなり難しいことである。
しかしながら、例えば上記のデータを元に、壁の寸法を書き換えて、新しいデータを生成するぐらいなら、そう難しくはないであろう。
必要に応じて、上記の例に床、屋根、扉、窓等を付加して標準データを生成し、書き換えるべき事項を把握しておけば、IFCデータでの出力はすぐにも実現できるものといえる。