BIM関数-BricsCAD
BricsCAD の LISP BIM API について
BricsCAD の V17.2.07より、BricsCAD LISP API に BIM機能専用のインターフェイスが提供されている。 BIM API の関数群は、シンプルで柔軟性があり、名前、引数、動作、結果において通常の AutoLISP のロジックに従うように設計されている。
BricsCAD の BIM機能は BIMライセンス(旧BIM拡張機能付きプラチナライセンス)を必要とする。 下位ライセンスではAPIモジュールは有効にならず、すべてのBIM LISP API機能は「無動作」になる。
- BIMの開発が絶え間なく続く中、BRX と LISP の API も拡大し、より多くの機能を提供し、サードパーティ開発者からのアイデアやフィードバックも取り入れる予定とされている。
BIM LISP APIを有効にするには
BIM用のLISP機能セットはBRXコアシステムを使用して実装されているため、以下の関数を使用して BIM LISPインターフェース機能を明示的にロード/アクティブ化する必要がある。(AutoCAD での(vl-load-com)と似た使い方)
( vl-load-bim ) ; 使える状態なら T、使えない状態なら nil を返す。
LISP BIM API の一般的なヒントとルール
- エンティティ名の使用:関数が エンティティ名を必要とする場合、クラシック名と vlaオブジェクト の両方がサポートされる。
- BIM の概念では、すべてのオブジェクトは、建物、階数、構成、材料などに適用される「名前」(明確な識別文字列)を持っている。これにより、クライアントコードが大幅に簡素化される(特別なLispオブジェクトの型や型の検証は必要ない)。
- 注意:すべての識別文字列、名前文字列、タイプ文字列などは、常に大文字と小文字を区別する(将来のBIMバージョンでは、大文字と小文字を区別しない文字列を使用する方が快適かもしれない)
BIM API がカバーしている機能領域
定数
関数
クリエーター関数
ビルディングとストーリーを作成、削除する機能
分類関数
指定されたエンティティに関連するBuildingElement Type、Building、Storyを割り当て、クリア、クエリする。
プロパティ関数
Buildings、Stories、BuildingElementsのプロパティを取得および設定する関数。 V18 以降、LISP BIM インターフェースは「カテゴリ化」プロパティをサポートしている。カテゴリが指定されていない場合、V17 と互換性のある bcBimCategoryBricsys と bcBimCategoryIFC2x3 カテゴリを組み合わせたデフォルトの bcBimCategoryStandard が使用される。
さらに、bcBimCategoryIFCCustom および bcBimCategoryUser カテゴリでは、カスタム データ(IFC 名前空間またはプレーン「ユーザー」名前空間)を任意の BIM 分類オブジェクトに添付することができる。
- bim:list-properties
- bim:list-propertiesmap
- bim:has-property
- bim:get-property
- bim:delete-property
- bim:set-name
- bim:set-description
- bim:set-property
- bim:get-story-elevation
- bim:set-story-elevation
- bim:set-roomname
- bim:set-roomnumber
- bim:set-roomdescription
- bim:set-roomdepartment
- bim:set-roomassignedstory
- bim:set-roomassignedbuilding
- bim:set-roomunassignedlocation
- bim:set-spacenumber V21 で追加
- bim:set-spacerepresentation V21 で追加
クエリ関数
ビルディング、ストーリー、ビルディングエレメント、ネイティブエンティティに関する情報を照会するユーティリティ関数。
- bim:get-all-classified
- bim:get-all-unclassified
- bim:get-all-usedclassifications
- bim:get-all-usedcompositions
- bim:get-all-availablecompositions
- bim:get-all-buildings
- bim:get-all-stories
- bim:get-all-building-entities
- bim:get-all-story-entities
- bim:get-guid
- bim:get-name
- bim:get-description
- bim:has-building
- bim:has-story
- bim:get-roomnumber
- bim:get-room
- bim:get-roomident
- bim:get-roomname
- bim:get-roomarea
- bim:get-roomdescription
- bim:get-roomdepartment
- bim:get-roomisassociative
- bim:get-allrooms
- bim:get-roomassignedstory
- bim:get-roomassignedbuilding
- bim:get-roomisvalid
- bim:get-space V21 で追加
- bim:get-allspaces V21 で追加
- bim:get-isspacevalid V21 で追加
- bim:get-isspaceupdated V21 で追加
- bim:get-spacearea V21 で追加
- bim:get-spacenumber V21 で追加
- bim:get-spaceboundaryents V21 で追加
- bim:get-spacerepresentation V21 で追加
- bim:get-all-availablematerials V22 で追加
- bim:get-all-usedmaterials V22 で追加
GUI+ダイアログ関数
BricsCAD の BIM に内蔵された BIM ダイアログにアクセスするためのユーティリティ機能 :
マテリアル関数
BIMマテリアルを扱うための機能。 使用済みおよび利用可能なすべての材料を取得するクエリ、指定されたプロファイルの存在のチェック、プロファイルの取得と変更、新規または変更された材料を作成し保存する機能。
プロファイル関数
BIMプロファイルを処理するための機能。BIMプロファイルは、「曲線」エンティティ(ライン、ポリライン、スプラインなど)および 3DSolidエンティティに適用できる。BIMプロファイルを適用するすべてのエンティティは、梁、柱、または部材として分類されなければならない(その他の分類では、プロファイルを適用することはできない)。
プロパティ名前空間関数
BIM プロパティ名前空間を扱うための関数。
プロパティセット関数
BIM プロパティセットを扱い、プロパティセット内のプロパティを作成、編集、照会するための関数。
IFCファイルの読み込み・書き出し関数
- bim:ifc-exportfile V22.2 で追加
- bim:ifc-importfile V22.2 で追加
V21 変更点+追加点
V21 (lisp 1.4) では、V20 以前で使用されていた「部屋」の概念が、より普遍的な「空間(space)」の概念に置き換わった。 そのため、V21ではLISP BIMインターフェースに「空間(space)」に関連する機能が追加された。 しかし、LISP BIM APIは、(利便性のため)可能な限り部屋と空間を同一に扱おうとする。
- 新コンセプト「空間(space)」に関連したBricsCAD BIMの新インターフェース機能