「BIM関数-BricsCAD」の版間の差分

提供:GizmoLabs - だいたい CAD LISP なサイト
 
(同じ利用者による、間の53版が非表示)
1行目: 1行目:
{{BCAD_LISP}}
{{BCAD_LISP_BIM}}
==BricsCAD の LISP BIM API について==
==BricsCAD の LISP BIM API について==
BricsCAD の V17.2.07より、BricsCAD LISP API に BIM機能専用のインターフェイスが提供されている。
BricsCAD の V17.2.07より、BricsCAD LISP API に BIM機能専用のインターフェイスが提供されている。
BIM API の関数群は、シンプルで柔軟性があり、名前、引数、動作、結果において通常の AutoLISP のロジックに従うように設計されている。
BIM API の関数群は、シンプルで柔軟性があり、名前、引数、動作、結果において通常の AutoLISP のロジックに従うように設計されている。


BricsCAD の BIM機能はPROライセンス(旧BIM拡張機能付きプラチナライセンス)を必要とする。
BricsCAD の BIM機能は BIMライセンス(旧BIM拡張機能付きプラチナライセンス)を必要とする。
下位ライセンスではAPIモジュールは有効にならず、すべてのBIM LISP API機能は「無動作」になる。
下位ライセンスではAPIモジュールは有効にならず、すべてのBIM LISP API機能は「無動作」になる。


12行目: 12行目:
BIM用のLISP機能セットはBRXコアシステムを使用して実装されているため、以下の関数を使用して BIM LISPインターフェース機能を明示的にロード/アクティブ化する必要がある。(AutoCAD での(vl-load-com)と似た使い方)
BIM用のLISP機能セットはBRXコアシステムを使用して実装されているため、以下の関数を使用して BIM LISPインターフェース機能を明示的にロード/アクティブ化する必要がある。(AutoCAD での(vl-load-com)と似た使い方)


  (vl-load-bim) ; 使える状態なら T、使えない状態なら nil を返す。
  ( [[vl-load-bim]] ) ; 使える状態なら T、使えない状態なら nil を返す。
 
 


== LISP BIM API の一般的なヒントとルール ==
== LISP BIM API の一般的なヒントとルール ==
30行目: 28行目:
* [[部屋の表現の記号定数-bricscad_bim|部屋の表現の記号定数]]
* [[部屋の表現の記号定数-bricscad_bim|部屋の表現の記号定数]]


=== 関数 ===
* [[クリエーター関数-bricscad_bim|クリエーター関数]]
* [[分類関数-bricscad_bim|分類関数]]
* [[プロパティ関数-bricscad_bim|プロパティ関数]]
* [[クエリ関数-bricscad_bim|クエリ関数]]
* [[GUI+ダイアログ関数-bricscad_bim|GUI+ダイアログ関数]]
* [[マテリアル関数-bricscad_bim|マテリアル関数]]
* [[プロファイル関数-bricscad_bim|プロファイル関数]]
* [[プロパティ名前空間関数-bricscad_bim|プロパティ名前空間関数]]
* [[プロパティセット関数-bricscad_bim|プロパティセット関数]]


== V21 変更点+追加点 ==
== 関数 ==
=== [[クリエーター関数-bricscad_bim|クリエーター関数]] ===
ビルディングとストーリーを作成、削除する機能
<div class="mcol2">
* [[bim:create-building]]
* [[bim:create-story]]
* [[bim:delete-building]]
* [[bim:delete-story]]
* [[bim:create-room]]
* [[bim:create-associativeroom]]
* [[bim:create-space]] V21で追加
* [[bim:update-space]] V21で追加
</div>
 
 
=== [[分類関数-bricscad_bim|分類関数]] ===
指定されたエンティティに関連するビルディングエレメントタイプ、 ビルディング、ストーリーを割り当て、クリア、クエリする。
<div class="mcol2">
* [[bim:get-bimtype]]
* [[bim:get-assigned-building]]
* [[bim:get-assigned-story]]
* [[bim:set-bimtype]]
* [[bim:set-assigned-building]]
* [[bim:set-assigned-story]]
</div>
 
 
==== IFCベースの分類が使える関数 ====
BricsCAD でサポートされている全ての IFC ベースの分類を使用することができる。
 
<div class="mcol2">
* [[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から
</div>
 
=== [[プロパティ関数-bricscad_bim|プロパティ関数]] ===
ビルディング、ストーリー、ビルディングエレメント のプロパティを取得および設定する関数。
V18 以降、LISP BIM インターフェースは「カテゴリ化」プロパティをサポートしている。カテゴリが指定されていない場合、V17 と互換性のある bcBimCategoryBricsys と bcBimCategoryIFC2x3 カテゴリを組み合わせたデフォルトの bcBimCategoryStandard が使用される。
 
さらに、bcBimCategoryIFCCustom および bcBimCategoryUser カテゴリでは、カスタム データ(IFC 名前空間またはプレーン「ユーザー」名前空間)を任意の BIM 分類オブジェクトに添付することができる。
 
<div class="mcol3">
* [[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 で追加
</div>
 
 
===  [[クエリ関数-bricscad_bim|クエリ関数]] ===
ビルディング、ストーリー、ビルディングエレメント、ネイティブエンティティに関する情報を照会するユーティリティ関数。
 
<div class="mcol3">
* [[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 で追加
</div>
 
 
===  [[GUI+ダイアログ関数-bricscad_bim|GUI+ダイアログ関数]] ===
BricsCAD の BIM に内蔵された BIM ダイアログにアクセスするためのユーティリティ機能 :
 
<div class="mcol2">
* [[bim:dlg-projectinfo]]
* [[bim:dlg-buildingsmanager]]
* [[bim:dlg-compositions]]
* [[bim:dlg-materials]]
* [[bim:dlg-profiles]]
</div>
 
 
===  [[マテリアル関数-bricscad_bim|マテリアル関数]] ===
BIMマテリアル(材料プロパティ)を扱うための機能。
使用済みおよび利用可能なすべての材料を取得するクエリ、指定されたプロファイルの存在のチェック、プロファイルの取得と変更、新規または変更された材料を作成し保存する機能。
 
<div class="mcol2">
* [[bim:get-all-availablematerials]]
* [[bim:get-all-usedmaterials]]
* [[bim:get-material]]
* [[bim:has-material]]
* [[bim:save-material]]
* [[bim:delete-material]]
</div>
 
 
===  [[プロファイル関数-bricscad_bim|BIMプロファイル関数]] ===
BIMプロファイルを処理するための機能。BIMプロファイルは、「曲線」エンティティ(ライン、ポリライン、スプラインなど)および 3DSolidエンティティに適用できる。BIMプロファイルを適用するすべてのエンティティは、梁、柱、または部材として分類されなければならない(その他の分類では、プロファイルを適用することはできない)。
 
<div class="mcol2">
* [[bim:get-all-profiles]]
* [[bim:get-all-libraryprofiles]]
* [[bim:get-all-profileobjects]]
* [[bim:get-assignedprofile]]
* [[bim:applyprofile]]
* [[bim:removeprofile]]
* [[bim:loadprofilexml]]
</div>
 
===  [[プロパティ名前空間関数-bricscad_bim|BIMプロパティ名前空間関数]] ===
BIM プロパティ名前空間を扱うための関数。
 
<div class="mcol2">
* [[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]]
</div>
 
=== [[属性セット-bricscad_bim|BIM属性セット関数]] ===
 
BIM属性セットを扱い、属性セット内のプロパティを作成、編集、照会・管理するための関数。
 
<div class="mcol2">
* [[bim:list-attributesets]]  V24.2で追加
* [[bim:has-attributeset]] V24.2で追加
* [[bim:create-attributeset]] V24.2で追加
* [[bim:delete-attributeset]] V24.2で追加
* [[bim:delete-attributesets]] V24.2で追加
* [[bim:attributeset-create-property]] V24.2で追加
* [[bim:attributeset-remove-property]] V24.2で追加
* [[bim:attributeset-get-property-name]] V24.2で追加
* [[bim:attributeset-get-property-label]] V24.2で追加
* [[bim:attributeset-get-property-description]] V24.2で追加
* [[bim:attributeset-get-property-visible]] V24.2で追加
* [[bim:attributeset-set-property-name]] V24.2で追加
* [[bim:attributeset-set-property-label]] V24.2で追加
* [[bim:attributeset-set-property-description]] V24.2で追加
* [[bim:attributeset-set-property-visible]] V24.2で追加
* [[bim:attributeset-list-properties]] V24.2で追加
* [[bim:attributeset-has-property]] V24.2で追加
* [[bim:attributeset-delete-property]] V24.2で追加
* [[bim:attributeset-get-name]] V24.2で追加
* [[bim:attributeset-get-label]] V24.2で追加
* [[bim:attributeset-get-visible]] V24.2で追加
* [[bim:attributeset-get-property]] V24.2で追加
* [[bim:attributeset-set-name]] V24.2で追加
* [[bim:attributeset-set-label]] V24.2で追加
* [[bim:attributeset-set-visible]] V24.2で追加
* [[bim:attributeset-set-property]] V24.2で追加
* [[bim:attributeset-bimtypes-list]] V24.2で追加
* [[bim:attributeset-bimtypes-list-all]] V24.2で追加
* [[bim:attributeset-bimtypes-has]] V24.2で追加
* [[bim:attributeset-bimtypes-add]] V24.2で追加
* [[bim:attributeset-bimtypes-del]] V24.2で追加
</div>
 
===  [[プロパティセット関数-bricscad_bim|BIMプロパティセット関数]] ===
BIM プロパティセットを扱い、プロパティセット内のプロパティを作成、編集、照会・管理するための関数。
 
<div class="mcol2">
* [[bim:create-propertyset]]
* [[bim:delete-propertyset]]
* [[bim:delete-propertysets]] V24.2で追加
* [[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-all]] V25で追加
* [[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で追加
</div>
 
===IFCファイルの読み込み・書き出し関数===
 
* [[bim:ifc-exportfile]] V22.2 で追加
* [[bim:ifc-importfile]] V22.2 で追加
 
 
==追加・更新点==
 
 
* [[BricsCAD_における_AutoLISPの仕様追加・変更履歴]] も参照
 
 
=== V21 変更点+追加点 ===
V21 (lisp 1.4) では、V20 以前で使用されていた「部屋」の概念が、より普遍的な「空間(space)」の概念に置き換わった。
V21 (lisp 1.4) では、V20 以前で使用されていた「部屋」の概念が、より普遍的な「空間(space)」の概念に置き換わった。
そのため、V21ではLISP BIMインターフェースに「空間(space)」に関連する機能が追加された。
そのため、V21ではLISP BIMインターフェースに「空間(space)」に関連する機能が追加された。
しかし、LISP BIM APIは、可能な限り、部屋と空間を同一に扱おうとする。
しかし、LISP BIM APIは、(利便性のため)可能な限り部屋と空間を同一に扱おうとする。




*新コンセプト「空間」に関連したBricsCAD BIMの新インターフェース機能  
*新コンセプト「空間(space)」に関連したBricsCAD BIMの新インターフェース機能  
** [[bim:get-allspaces]]
** [[bim:get-allspaces]]
** [[bim:get-space]]
** [[bim:get-space]]
60行目: 310行目:
** [[bim:create-space]]
** [[bim:create-space]]


==IFCファイルの読み込み・書き出し関数==
 
*V22.2 から
=== V23 変更点・追加点 ===
** [[bim:ifc-exportfile]] 書き出し
これらの新しいLISP BIM API機能は、BricsCADでサポートされているすべてのIFCベースの分類を使用することができる。
** [[bim:ifc-importfile]] 読み込み
 
* [[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関数:
* [[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:get-namespace-label]]
* [[bim:get-namespace-visible]]
* [[bim:set-namespace-label]]
* [[bim:set-namespace-visible]]
 
 
プロパティセット用
<div class="mcol2">
* [[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]]
</div>
 
 
=== V24.2 変更点+追加点 ===
 
プロパティセット + 属性セットのインターフェースに新しい LISP BIM 関数が追加された。
 
<div class="mcol2">
* [[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]]
</div>
 
[[Category:BricsCADのLISP]]

2024年10月5日 (土) 20:04時点における最新版

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 がカバーしている機能領域

定数


関数

クリエーター関数

ビルディングとストーリーを作成、削除する機能


分類関数

指定されたエンティティに関連するビルディングエレメントタイプ、 ビルディング、ストーリーを割り当て、クリア、クエリする。


IFCベースの分類が使える関数

BricsCAD でサポートされている全ての IFC ベースの分類を使用することができる。

プロパティ関数

ビルディング、ストーリー、ビルディングエレメント のプロパティを取得および設定する関数。 V18 以降、LISP BIM インターフェースは「カテゴリ化」プロパティをサポートしている。カテゴリが指定されていない場合、V17 と互換性のある bcBimCategoryBricsys と bcBimCategoryIFC2x3 カテゴリを組み合わせたデフォルトの bcBimCategoryStandard が使用される。

さらに、bcBimCategoryIFCCustom および bcBimCategoryUser カテゴリでは、カスタム データ(IFC 名前空間またはプレーン「ユーザー」名前空間)を任意の BIM 分類オブジェクトに添付することができる。


クエリ関数

ビルディング、ストーリー、ビルディングエレメント、ネイティブエンティティに関する情報を照会するユーティリティ関数。


GUI+ダイアログ関数

BricsCAD の BIM に内蔵された BIM ダイアログにアクセスするためのユーティリティ機能 :


マテリアル関数

BIMマテリアル(材料プロパティ)を扱うための機能。 使用済みおよび利用可能なすべての材料を取得するクエリ、指定されたプロファイルの存在のチェック、プロファイルの取得と変更、新規または変更された材料を作成し保存する機能。


BIMプロファイル関数

BIMプロファイルを処理するための機能。BIMプロファイルは、「曲線」エンティティ(ライン、ポリライン、スプラインなど)および 3DSolidエンティティに適用できる。BIMプロファイルを適用するすべてのエンティティは、梁、柱、または部材として分類されなければならない(その他の分類では、プロファイルを適用することはできない)。

BIMプロパティ名前空間関数

BIM プロパティ名前空間を扱うための関数。

BIM属性セット関数

BIM属性セットを扱い、属性セット内のプロパティを作成、編集、照会・管理するための関数。

BIMプロパティセット関数

BIM プロパティセットを扱い、プロパティセット内のプロパティを作成、編集、照会・管理するための関数。

IFCファイルの読み込み・書き出し関数


追加・更新点


V21 変更点+追加点

V21 (lisp 1.4) では、V20 以前で使用されていた「部屋」の概念が、より普遍的な「空間(space)」の概念に置き換わった。 そのため、V21ではLISP BIMインターフェースに「空間(space)」に関連する機能が追加された。 しかし、LISP BIM APIは、(利便性のため)可能な限り部屋と空間を同一に扱おうとする。



V23 変更点・追加点

これらの新しいLISP BIM API機能は、BricsCADでサポートされているすべてのIFCベースの分類を使用することができる。


V23.2 変更点+追加点

プロパティセットのBIMオブジェクトタイプを管理するための拡張LISP BIM関数:


V24 変更点+追加点

名前空間 と プロパティセットを管理するための新しい LISP BIM関数が追加された


名前空間用


プロパティセット用


V24.2 変更点+追加点

プロパティセット + 属性セットのインターフェースに新しい LISP BIM 関数が追加された。