注1) | 'Construction - CAD and Electronic Commerce' Council, (財)建設業振興基金 設計製造情報化評議会 |
注2) | Building Equipment - Brief Integrated Format for Data Exchange, 設備CADデータ交換仕様 |
注3) | Standard for Exchange of Mechanical equipment library data, 設備機器ライブラリデータ交換仕様 |
注4) | Standard CAD data Exchange format in japanese Construction field, CADデータ交換標準開発コンソーシアム |
注5) | Japan Construction Information Center, (財)日本建設情報総合センター |
注6) | Scadec eXchange Format |
1) | 三木秀樹, 一ノ瀬雅之, 須永修通, 中野民雄, 市川憲良: 空調・衛生設備部材のIFCによる表現手法の明確化, 日本建築学会技術報告集, 第20巻, 第44号, pp.375-380,2014.2 |
2) | 今野一富ほか: 建物モデルと熱負荷計算の連携, (社)IAI日本, セミナー, 1999 |
3) | 許雷: 国際仕様IFCによる建築デジタル環境設計ツールの開発に関する研究, (社)IAI日本, 2007 |
4) | 河野良坪, 石崎陽児, 一ノ瀬雅之ほか: 建築環境CAE ツールにおけるBIM連携化とCFD パーツ化に関する研究, (社)空気調和・衛生工学会, 論文集No.174, pp.15-21, 2010.9 |
注7) | Computational Fluid Dynamics, 数値流体力学 |
5) | 足達嘉信: SECOM, IFCsvr, http://groups.yahoo.co.jp/group/ifcsvr-forum/ |
6) | Vladimir Bazjanac, Tobias Maile: IFC HVAC INTERFACE TO ENERGYPLUS - A CASE OF EXPANDED INTEROPERABILITY FOR ENERGY SIMULATION, SimBuild 2004, IBPSA-USA National Conference Boulder, CO, August 4-6, 2004 |
7) | James O'Donnell, Richard See, Cody Rose, Tobias Maile, Vladimir Bazjanac and Phil Haves: SIMMODEL: A DOMAIN DATA MODEL FOR WHOLE BUILDING ENERGY SIMULATION, proceedings of Building Simulation2011, pp.382-389 |
・ | 建築設備要素を具体的に想定し、モデルに必要な情報を特定する。 |
・ | IFCを用いて形状と属性を表現する。 |
区分 | 実物 | 施工図の表現 |
構成要素 | 板材・フランジ・リベット・ボルト・クリップ・ガスケット等 | 板材とフランジ |
長さ | フランジ面間距離−ガスケット厚さ | フランジ面間距離 |
フランジ接続面 | 個々に独立 | 一体化(単線) |
注8) | 実在する物体等についてのシステム的な表現方法の仕様。 |
9) | Building Smart: IFC2x Edition 3, http://iaiweb.lbl.gov/Resources/IFC_Releases/R2x3_final/ |
クラス及びアトリビュート (注:クラス / アトリビュート、*は抽象クラスなど、-は省略) |
備考 |
IfcRoot* / GlobalID, OwnerHistrey, Name, Description ├IfcObjectDefinition* │├IfcObject* / ObjectType ││├IfcProject* / -, -, -, - ││├IfcProduct / ObjectPlacement, Representation │││├IfcSpatialStructureElement* / -, - ││││├IfcSite / -, -, -, -, - ││││├IfcBuilding / -, -, - ││││├IfcBuildingStorey / - ││││└IfcSpace / -, - │││├IfcElement* / Tag ││││├IfcFeatureElement* │││││├IfcFeatureElementSubtraction ││││││├IfcOpeningElement │││││:: ││││├IfcBuildingElement* │││││├IfcColumn │││││├IfcBeam │││││├IfcSlab / - │││││├IfcWall │││││├IfcWindow / -, - │││││├IfcPlate │││││: ││││├IfcDistributionElement │││││├IfcDistributionFlowElement ││││││├IfcFlowTerminal ││││││├IfcFlowSegment ││││││├IfcFlowFitting ││││││├IfcFlowController ││││││├IfcFlowMovingDevice ││::::: │└IfcTypeObject / -, - │ └IfcTypeProduct / -, - ├IfcPropertyDefinition* │├IfcPropertySetDefinition* ││├IfcPropertySet /HasProperties │:: └IfcRelationship* ├IfcRelDefines* / RelatedObjects │├IfcRelDefinesByType / RelatingType │└IfcRelDefinesByProperties / RelatingPropertyDefinition │ : ├IfcRelConnects* │├IfcRelVoidsElement / RelatingBuildingElement, RelatedOpeningElement │├IfcRelFillsElement / RelatingOpeningElement, RelatedBuildingElement : : |
案件 生産物 空間構成要素 敷地 建物 階 空間 要素 機能要素 開口 建築要素 柱 梁 床 壁 窓 庇等 分配要素 流体分配要素 端末(下図@) 直管(下図A) 継手(下図B) ダンパー・バルブ等(下図C) ファン・ポンプ等(下図D) 区分 プロパティ定義 プロパティセット定義 プロパティセット 関連 関連付け 区分の関連付け プロパティの関連付け 接続 開口(空) 開口(充) |
参考図 |
定義 | 備考 |
ENTITY IfcFlowSegment; ENTITY IfcRoot; GlobalId : IfcGloballyUniqueId; OwnerHistory : IfcOwnerHistory; Name : OPTIONAL IfcLabel; Description : OPTIONAL IfcText; ENTITY IfcObjectDefinition; ENTITY IfcObject; ObjectType : OPTIONAL IfcLabel; ENTITY IfcProduct; ObjectPlacement : OPTIONAL IfcObjectPlacement; Representation : OPTIONAL IfcProductRepresentation; ENTITY IfcElement; Tag : OPTIONAL IfcIdentifier; ENTITY IfcDistributionElement; ENTITY IfcDistributionFlowElement; ENTITY IfcFlowSegment; END_ENTITY; |
上位クラス及びアトリビュート 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 |
注9) | Visual Basic for Application |
行 | コード |
1 2 3 4 5 |
str_file = "C:\sample.ifc" '適当なパス名及びファイル名 Set obj_IFCsvr = CreateObject("IFCsvr.R300") Set obj_design = obj_IFCsvr.NewDesign(str_file) Set obj_entity = obj_design.Add("IfcFlowSegment") obj_design.Save() |
データ | 備考 |
ISO-10303-21; HEADER; /* Generated by software containing ST-Developer * from STEP Tools, Inc. (www.steptools.com) */ FILE_DESCRIPTION( /* description */ (''), /* implementation_level */ '2;1'); FILE_NAME( /* name */ 'BS_20130823', /* time_stamp */ '2014-11-06T09:29:40+09:00', /* author */ (''), /* organization */ (''), /* preprocessor_version */ 'ST-DEVELOPER v10', /* originating_system */ '', /* authorisation */ ''); FILE_SCHEMA (('IFC2X3')); ENDSEC; DATA; #10=IFCFLOWSEGMENT($,$,$,$,$,$,$,$); ENDSEC; END-ISO-10303-21; |
HEADERセクション開始 HEADERセクション終了 DATAセクション開始 DATAセクション終了 |
注10) | ( )で囲んだCSV形式において個々の要素に、( )で囲んだCSV形式を入れ子にできるもの。 |
注11) | Data Design System (現Nemetschek), DDS Viewer for IFC Version 6.34 |
行 | コード |
1 2 3 4 5 6 7 |
Set obj_entity = obj_design.Add("IfcFlowSegment") With obj_entity '↓数値あるいは文字の場合 .Attributes.Item(属性名).Value = 数値または文字 '↓インスタンスへの参照の場合 .Attributes.Item(属性名).Value = objDesign.Add(クラス名) End With |
クラス (注: クラス /アトリビュート >参照クラス、*=は抽象クラスなど) |
IfcFlowSegment / OwnerHistory > IfcOwnerHistory IfcFlowSegment / ObjectPlacement > IfcObjectPlacement* = IfcLocalPlacement IfcFlowSegment / Representation > IfcProductRepresentation* = IfcProductDefinitionShape IfcOwnerHistory / OwningUser > IfcPersonAndOrganization IfcOwnerHistory / OwningApplication > IfcApplication IfcPersonAndOrganization / ThePerson > IfcPerson IfcPersonAndOrganization / TheOrganization > IfcOrganization IfcApplication / ApplicationDeveloper > IfcOrganization IfcLocalPlacement / PlacementRelTo > IfcObjectPlacement IfcLocalPlacement / RelativePlacement > IfcAxis2Placement* = IfcAxis2Placement3D IfcAxis2Placement3D / Location > IfcCartesianPoint IfcAxis2Placement3D / Axis > IfcDirection IfcAxis2Placement3D / RefDirection > IfcDirection IfcProductDefinitionShape / Representations > IfcRepresentation* = IfcShapeRepresentation IfcShapeRepresentation / ContextOfItems > IfcRepresentationContext* = IfcGeometricRepresentationContext IfcShapeRepresentation / Items > IfcRepresentationItem* = IfcFaceBasedSurfaceModel, IfcSolidModel, etc., |
クラス (注: クラス /アトリビュート >参照クラス、*=は抽象クラスなど、+は関連付け) |
IfcProject IfcProject / UnitsInContext > IfcUnitAssignment IfcUnitAssignment / Units > IfcUnit* = IfcSIUnit IfcSIUnit / Dimensions > IfcDimensionalExponents IfcSite IfcBuilding IfcBuildingStorey IfcRelAggregates+ IfcRelContainedInSpatialStructure+ |
行 | コード |
1 2 3 4 5 6 7 |
Set obj_entity1 = obj_design.Add("IfcProject") Set obj_entity2 = obj_design.Add("IfcSite ") Set obj_entity3 = obj_design.Add("IfcRelAggregates") With obj_entity3 .Attributes.Item("RelatedObjects").Value = obj_entity1 .Attributes.Item("RelatingObjects").Value = obj_entity2 End With |
クラス (注: +は関連付け) |
IfcDuctSegmentType IfcRelDefinesByType+ |
行 | コード |
1 2 3 4 5 6 7 |
Set obj_entity1 = obj_design.Add("IfcFlowSegment") Set obj_entity2 = obj_design.Add("IfcDuctSegmentType") Set obj_entity3 = obj_design.Add("IfcRelDefinesByType ") With obj_entity3 .Attributes.Item("RelatedObjects").Value = obj_entity1 .Attributes.Item("RelatingType").Value = obj_entity2 End With |
クラス (注: クラス /アトリビュート >参照クラス、*=は抽象クラスなど、+は関連付け) |
IfcPropertySet IfcPropertySet / HasProperties > IfcProperty* = IfcPropertySingleValue IfcRelDefinesByProperties+ |
行 | コード |
1 2 3 4 5 6 7 8 9 |
Set obj_entity1 = obj_design.Add("IfcPropertySet") Set obj_entity2 = obj_design.Add("IfcPropertySingleValue") With obj_entity2 .Attributes.Item("Name").Value = 属性名 .Attributes.Item("NominalValue").Value =属性値 End With With obj_entity1 .Attributes.Item("HasProperties").Value = obj_entity2 End With |
9) | 空調衛生設備属性セット(案), C-CADEC, 2005.3 |
10) | 三木秀樹, 向来信: 空調衛生分野における属性定義の統合について, (社)空気調和・衛生工学会 2005年度大会 学術講演会 講演論文集, 2005.8 |
日本語表記による属性名 | 英語表記による属性名 | 備考 |
データ種別 | data_class | ダクト・配管等の分類 |
系統名 | system_name | |
パターンNo. 大分類 | large_pattern_number | 直管・継手等の分類 |
パターンNo. 小分類 | small_pattern_number | 〃 |
ダクト形状寸法データ | shape_size | 呼び寸法等 |
用途 | use | |
風量 | air_volume |
クラス (注: クラス /アトリビュート >参照クラス、*=は抽象クラスなど) |
IfcFaceBasedSurfaceModel IfcFaceBasedSurfaceModel / FbsmFaces > IfcConnectedFaceSet IfcConnectedFaceSet / CfsFaces > IfcFace IfcFace / Bounds > IfcFaceBound IfcFaceBound / Bound > IfcLoop* = IfcPolyLoop IfcPolyLoop / Polygon > IfcCartesianPoint |
・ | IfcFlowSegment |
・ | IfcSpatialStructure及び関連付けインスタンス |
・ | IfcDuctSegmentType及び関連付けインスタンス |
・ | IfcPropertySet及び関連付けインスタンス |
区分 | 部材 |
角ダクト | エルボ(内R外R), 両直管付エルボ(内R外R), 角エルボ(内R外角), 両直管付角エルボ(内R外角), 角エルボ(内角外R), 角エルボ(内角外角), 消音エルボ, 羽子板エルボ, 内直エルボ(内直外R), 両直管付内直エルボ(内直外R), Sカーブ(内R外R),梁巻き(内R外R), 角梁巻き(内角外角), Sカーブ(内角外角), 直管ホッパー, 直管付ホッパー, 実管, 三方分岐, 十字(片直), 十字(片R), 十字(両直), 二方分岐(直曲り), 二方分岐(両曲り), 二方分岐(直立て), 二方分岐(両曲りT管), 二方分岐(T管片直), 二方分岐(T管片R), 二方分岐(T管両直), ダンパー、定風量装置(CAV), 変風量装置(VAV), 羽子板, ボックス, チャンバー, キャンバス継手, タイコ, ヒョットコ(片直), ヒョットコ(片R), ヒョットコ(両R), 角丸ホッパー, 角丸キャンバス 継手, 角丸ヒョットコ, 直管付角丸ホッパー |
丸ダクト | エルボ, 消音エルボ, S管, 直管, 片落管(レジューサ), 実管, 十字管(クロス), クロスRT管, T管, RT管, ダブルRT管, 45度Y管, 45度RY管, ダンパー, 定風量装置(CAV), 変風量装置(VAV), フレキシブルダクト |
行 | コード |
1 2 3 4 5 6 7 8 9 10 11 12 13 |
str_name_b="3F" '適当な階数 Set obj_entities_r = objDesign.FindObjects("IfcRelContainedInSpatialStructure") For Each obj_entity_r In obj_entities_r Set obj_entity_b =obj_entity_r.Attributes.Item("RelatingStructure") '関連先 If obj_entity_b.type ="IfcBuildingStorey" And obj_entity_b.Item("Name") = str_name_b Then Set obj_entities_f = obj_entity_r.Attributes.Item("RelatedObjects")''関連元 For Each obj_entity_f In obj_entities_f If obj_entity_f.type ="IfcFlowSegment" Then 'obj_entity_fは階に関連するIfcFlowSegment End If Next obj_entity_o End If Next obj_entity_r |
行 | コード |
1 2 3 4 5 6 7 8 9 |
Set obj_entities_ps = obj_entity_f.GetUsedIn("IfcRelDefinesByProperties","RelatedObject") For Each obj_entity_ps In obj_entities_ps Set obj_entities_p = obj_entity_ps .Attributes.Item("HasProperties") For Each obj_entity_p In obj_entities_p If Attributes.Item("Name").Value = 属性名 then 属性値=.Attributes.Item("NominalValue").Value End If Next obj_entity_p Next obj_entity_ps |
データ | 備考 |
#10=IFCCARTESIANPOINT(()); #11=IFCCARTESIANPOINT(()); #12=IFCCARTESIANPOINT(()); #13=IFCCARTESIANPOINT(()); #14=IFCCARTESIANPOINT(()); #15=IFCDIRECTION(()); #16=IFCDIRECTION(()); #17=IFCAXIS2PLACEMENT2D(#12,#16); #18=IFCRATIONALBEZIERCURVE(0,(#10),.POLYLINE_FORM.,.F.,.F.,()); #19=IFCRATIONALBEZIERCURVE(0,(#11),.POLYLINE_FORM.,.F.,.F.,()); #20=IFCRATIONALBEZIERCURVE(0,(#13),.POLYLINE_FORM.,.F.,.F.,()); #21=IFCRATIONALBEZIERCURVE(0,(#14),.POLYLINE_FORM.,.F.,.F.,()); #22=IFCPOSTALADDRESS(.OFFICE.,'ABC','ABC','ABC',('ABC'),'ABC','ABC',ABC','ABC','ABC'); #23=IFCPOSTALADDRESS(.OFFICE.,'ABC','ABC','ABC',('ABC'),'ABC','ABC',ABC','ABC','ABC'); #24=IFCPOSTALADDRESS(.OFFICE.,'ABC','ABC','ABC',('ABC'),'ABC','ABC',ABC','ABC','ABC'); #25=IFCPOSTALADDRESS(.OFFICE.,'ABC','ABC','ABC',('ABC'),'ABC','ABC',ABC','ABC','ABC'); #26=IFCPOSTALADDRESS(.OFFICE.,'ABC','ABC','ABC',('ABC'),'ABC','ABC',ABC','ABC','ABC'); #27=IFCPOSTALADDRESS(.OFFICE.,'ABC','ABC','ABC',('ABC'),'ABC','ABC',ABC','ABC','ABC'); #28=IFCANNOTATIONFILLAREA(#20,(#21)); #29=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('ABC','ABC',*,*,*,*,#30,$,.GRAPH_VIEW.,ABC'); #30=IFCGEOMETRICREPRESENTATIONSUBCONTEXT($,$,*,*,*,*,$,$,.GRAPH_VIEW.,$); #31=IFCGRIDAXIS('ABC',#18,.F.); #32=IFCGRIDAXIS('ABC',#19,.F.); #33=IFCACTORROLE(.SUPPLIER.,'ABC','ABC'); #34=IFCACTORROLE(.SUPPLIER.,'ABC','ABC'); #35=IFCACTORROLE(.SUPPLIER.,'ABC','ABC'); #36=IFCACTORROLE(.SUPPLIER.,'ABC','ABC'); #37=IFCACTORROLE(.SUPPLIER.,'ABC','ABC'); #38=IFCACTORROLE(.SUPPLIER.,'ABC','ABC'); #39=IFCACTORROLE(.SUPPLIER.,'ABC','ABC'); #40=IFCACTORROLE(.SUPPLIER.,'ABC','ABC'); #41=IFCORGANIZATION('ABC','ABC','ABC',(#36),(#23)); #42=IFCORGANIZATION('ABC','ABC','ABC',(#37),(#24)); #43=IFCORGANIZATION('ABC','ABC','ABC',(#39),(#26)); #44=IFCORGANIZATION('ABC','ABC','ABC',(#40),(#27)); #45=IFCPERSON('ABC','ABC','ABC',('ABC'),('ABC'),('ABC'),(#35),(#22)); #46=IFCPERSON('ABC','ABC','ABC',('ABC'),('ABC'),('ABC'),(#38),(#25)); #47=IFCMATERIAL('ABC'); #48=IFCSHAPEREPRESENTATION(#29,'ABC','ABC',(#28)); #49=IFCVIRTUALGRIDINTERSECTION((#31),()); #50=IFCVIRTUALGRIDINTERSECTION((#32),()); #51=IFCAPPLICATION(#42,'ABC','ABC','ABC'); #52=IFCAPPLICATION(#44,'ABC','ABC','ABC'); #53=IFCPERSONANDORGANIZATION(#45,#41,(#33)); #54=IFCPERSONANDORGANIZATION(#46,#43,(#34)); #55=IFCMATERIALDEFINITIONREPRESENTATION('ABC','ABC',(#48),#47); #56=IFCGRIDPLACEMENT(#49,#50); #57=IFCOWNERHISTORY(#53,#51,.READWRITE.,.NOCHANGE.,$,#54,#52,0); #58=IFCFLOWSEGMENT('30tWuM_bf23Bzk_x9wAjXN',#57,'ABC','ABC','ABC',#56,#55,ABC'); |
点 方向 曲線 住所 幾何表現 通り芯 役割 組織 個人 個人及び組織 所有者履歴 |
・ | 対象とする建築設備要素を角ダクト直管、用途を干渉確認とし、必要な形状及び属性を特定する手順を示した。 |
・ | 要素をIFCで表現するために、IFCの構造を調査すると共に、IFCデータを生成するための、IFCsvrを使用したコードを示した。 |
・ | 属性を表現するために、プロパティセットを定義する考え方を示した。 |
・ | 実際にIFCデータを生成し、モデルの形状と属性をビューワソフトで確認した。 |