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を割り当て、クリア、クエリする。
IFCベースの分類が使える関数
BricsCADでサポートされている全てのIFCベースの分類を使用することができる。
- bim:get-all-classifications-byname
- bim:get-all-classified-byname
- bim:get-all-usedclassifications-byname
- bim:get-assigned-space V23.2から
- bim:set-assigned-space V23.2から
- bim:get-bimtype-byname
- bim:get-namespace-label V24から
- bim:get-namespace-visible V24から
- bim:get-spaceobjects V23.2から
- bim:is-classified-byname
- bim:set-bimtype-byname
- bim:set-namespace-label V24から
- bim:set-namespace-visible V24から
プロパティ関数
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:create-namespace
- bim:delete-namespace
- bim:get-namespace-label V23.2で追加
- bim:get-namespace-visible V23.2で追加
- bim:set-namespace-label V23.2で追加
- bim:set-namespace-visible V23.2で追加
- bim:has-namespace
- bim:list-namespaces
プロパティセット関数
BIM プロパティセットを扱い、プロパティセット内のプロパティを作成、編集、照会・管理するための関数。
- bim:create-propertyset
- bim:delete-propertyset
- bim:has-propertyset
- bim:list-propertysets
- bim:pset-bimtypes-add V24で追加
- bim:pset-bimtypes-del V24で追加
- bim:pset-bimtypes-has V24で追加
- bim:pset-bimtypes-list V24で追加
- bim:pset-bimtypes-list-all V24で追加
- bim:pset-create-property V24で追加
- bim:pset-remove-property V24で追加
- bim:pset-delete-property
- bim:pset-get-label V24で追加
- bim:pset-get-name V24で追加
- bim:pset-get-perinstance V24で追加
- bim:pset-get-property
- bim:pset-get-property-description V24で追加
- bim:pset-get-property-label V24で追加
- bim:pset-get-property-name V24で追加
- bim:pset-get-property-visible V24で追加
- bim:pset-get-visible V24で追加
- bim:pset-has-property
- bim:pset-list-properties
- bim:pset-remove-property V24で追加
- bim:pset-set-label V24で追加
- bim:pset-set-name V24で追加
- bim:pset-set-perinstance V24で追加
- bim:pset-set-visible V24で追加
- bim:pset-set-property
- bim:pset-set-property-description V24で追加
- bim:pset-set-property-label V24で追加
- bim:pset-set-property-name V24で追加
- bim:pset-set-property-visible V24で追加
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の新インターフェース機能
V23 変更点・追加点
これらの新しいLISP BIM API機能は、BricsCADでサポートされているすべてのIFCベースの分類を使用することができる。
- bim:get-all-classifications-byname
- bim:get-all-classified-byname
- bim:get-all-usedclassifications-byname
- bim:get-bimtype-byname
- bim:is-classified-byname
- bim:set-bimtype-byname
V23.2 変更点+追加点
プロパティセットのBIMオブジェクトタイプを管理するための拡張LISP BIM API関数:
- bim:pset-remove-property
- bim:pset-bimtypes-list-all
- bim:pset-bimtypes-list
- bim:pset-bimtypes-has
- bim:pset-bimtypes-add
- bim:pset-bimtypes-del
V24 変更点+追加点
名前空間 と プロパティセットを管理するための新しい LISP BIM関数が追加された
名前空間用
プロパティセット用
- bim:pset-create-property
- bim:pset-remove-property
- bim:pset-get-label
- bim:pset-get-name
- bim:pset-get-perinstance
- bim:pset-get-visible
- bim:pset-set-label
- bim:pset-set-name
- bim:pset-set-perinstance
- bim:pset-set-visible
- bim:pset-get-property-description
- bim:pset-get-property-label
- bim:pset-get-property-name
- bim:pset-get-property-visible
- bim:pset-set-property-description
- bim:pset-set-property-label
- bim:pset-set-property-name
- bim:pset-set-property-visible
- bim:pset-bimtypes-list
- bim:pset-bimtypes-list-all
- bim:pset-bimtypes-add
- bim:pset-bimtypes-has
- bim:pset-bimtypes-del
V24.2 変更点+追加点
プロパティセット + 属性セットのインターフェースに新しい LISP BIM 関数が追加された。
- bim:delete-propertysets
- bim:list-attributesets
- bim:has-attributeset
- bim:create-attributeset
- bim:delete-attributeset
- bim:delete-attributesets
- bim:attributeset-create-property
- bim:attributeset-remove-property
- bim:attributeset-get-property-name
- bim:attributeset-get-property-label
- bim:attributeset-get-property-description
- bim:attributeset-get-property-visible
- bim:attributeset-set-property-name
- bim:attributeset-set-property-label
- bim:attributeset-set-property-description
- bim:attributeset-set-property-visible
- bim:attributeset-list-properties
- bim:attributeset-has-property
- bim:attributeset-delete-property
- bim:attributeset-get-name
- bim:attributeset-get-label
- bim:attributeset-get-visible
- bim:attributeset-get-property
- bim:attributeset-set-name
- bim:attributeset-set-label
- bim:attributeset-set-visible
- bim:attributeset-set-property
- bim:attributeset-bimtypes-list-all
- bim:attributeset-bimtypes-list
- bim:attributeset-bimtypes-has
- bim:attributeset-bimtypes-add
- bim:attributeset-bimtypes-del