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

提供:GizmoLabs - だいたい CAD LISP なサイト
編集の要約なし
37行目: 37行目:
** [[#メカニカル コンポーネント定数|コンポーネント定数]]
** [[#メカニカル コンポーネント定数|コンポーネント定数]]
** [[#3D 拘束定数|3D 拘束定数]]
** [[#3D 拘束定数|3D 拘束定数]]
** [[#メカニカルコンポーネント関数]]
** [[#メカニカルコンポーネント関数|メカニカルコンポーネント関数]]
** [[#3D拘束グループ関数]]
** [[#3D拘束グループ関数|3D拘束グループ関数]]
** [[#3D拘束関数]]
** [[#3D拘束関数|3D拘束関数]]
** [[#3D拘束パラメータ関数]]
** [[#3D拘束パラメータ関数|3D拘束パラメータ関数]]
** [[#Rhinoインポート/エクスポート機能]]
** [[#Rhinoインポート/エクスポート機能|Rhinoインポート/エクスポート機能]]





2022年12月12日 (月) 07:36時点における版

BricsCAD の Mechanical LISP API について

V23以降、BricsCAD LISP は Mechanical機能専用のインターフェースを提供している(「Professional」または「Mechanical」ライセンスが必要)。 この新しい API は、名前、引数、動作、結果において通常のAutoLISPの論理に従った、シンプルで柔軟な設計になっている。


Mechanical機能はBricsCAD Professional ("PRO") resp. Mechanicalライセンスレベルを必要とするため、下位レベルのライセンスを使用する場合(またはRunAsLevel=0で無効にする場合)、APIモジュールはアクティブではなく、すべてのMechanical LISP API機能は使用できない。

Mechanical の開発が継続されると、BRX および LISP API も拡張され、より多くの機能が提供されるとともに、サードパーティの開発者からのアイデアやフィードバックが取り入れられるようになる。

Mechanical LISP API には 2 つの部分がある。

  • a) Rhino-Import/Export, コンポーネントインスタンスと コンポーネント定義機能:これらは Professional ライセンスレベルが必要。
  • b) メカニカルコンポーネント、3D 拘束グループ、3D 拘束、3D 拘束パラメータ関数機能: これらは "Mechanical "ライセンスレベルが必要。


ライセンスレベルの確認方法は?

  • (bcad$LicenseLevels) と (vle-licenselevel) という2つのLisp関数があり、どちらも同じ実装を使用している。
  • Mechanicalが使用可能な場合、返されるリストには "Professional "または "Mechanical "という文字列が含まれる。
  • 「RunAsLevel」設定も結果リストで尊重される。


Mechanical LISP APIを有効にするには?

Mechanical 機能の LISP 関数セットは BRX コア システムを使用して実装されているため、.NET Framework を使用して Mechanical LISP インタフェース関数を明示的にロード/起動する必要がある (AutoCAD AutoLISP で必須の (vl-load-com) と似た方法)。

(vl-load-mech)

コンテキスト条件 (Professional と Mechanical ライセンス) が満たされている場合、拡張機能がロードされ、1 (Pro 機能が使用可能) または 2 (Mechanical 機能が使用可能) が返されるか、Pro または Mechanical ライセンスが使用できない場合は NIL (後者の場合、特定の LISP 機能が使用できない) が返される。

いくつかの一般的なヒントとルール

「エンティティ名」の使用 : 関数で「エンティティ名」が必要な場合、すべてのケースで「classic ename」と「vla object」の両方が常に有効であり、サポートされている。



メカニカルコンポーネント関数

メカニカル関数はすべて接頭辞 : "mech:" がつく。

メカニカルコンポーネント インスタンス関数

メカニカルコンポーネントインスタンス関数はすべて接頭辞 : "mech:instance" がつく。


メカニカルコンポーネント定義関数

メカニカルコンポーネントインスタンス関数はすべて接頭辞 : "mech:compdef" がつく。


3D拘束グループ関数

メカニカル関数はすべて接頭辞 : "mech:" がつく。


3D拘束関数

メカニカル3D拘束関数はすべて接頭辞 : "mech:constraint" がつく。


3D拘束パラメータ関数

メカニカル3D拘束パラメータ関数はすべて接頭辞 : "mech:parameters" がつく。


Rhinoインポート/エクスポート機能

メカニカル Rhino関数はすべて接頭辞 : "mech:rhino" がつく。

メカニカル コンポーネント定数

これらの定数は メカニカルコンポーネント関数のコンテキストで使用され、すべて定義済みのLispシンボルとして利用可能。

定数名 概要
コンポーネントタイプ bc3dcNone 0 コンポーネントタイプはビットフラグを使用して組み合わせや追加が可能。
bc3dcAssembly 1
bc3dcPart 2
bc3dcIsStandard 4
c3dcIsMechanicalBlockOrEntity 8
コンポーネントファイルステータス bc3dcNotExternal 0
bc3dcResolved 1
bc3dcFileNotFound 2
bc3dcUnresolved 3
コンポーネントBOMステータス bc3dcRegular 0
bc3dcTransparent 1
bc3dcTerminal 2
bc3dcExcluded 3
カスタムプロパティパラメータ bc3dcDoNotCreate 0
bc3dcCreateForThisIfNotExist 1
bc3dcCreateForAllIfNotExist 2

3D 拘束定数

これらの定数は、3D拘束関数のコンテキストで使用され、すべて定義済みのLispシンボルとして利用可能。

定数名 概要
3DConstraints Type bc3dcTypeUnknown 0
bc3dcTypeAngle 1
bc3dcTypeCoincident 2
bc3dcTypeConcentric 3
bc3dcTypeDistance 4
bc3dcTypeFix 5
bc3dcTypeMajorRadius 6
bc3dcTypeMinorRadius 7
bc3dcTypeParallel 8
bc3dcTypePerpendicular 9
bc3dcTypePlanarAngle 10
bc3dcTypeRadius 11
bc3dcTypeRigidSet 12
bc3dcTypeTangent 13
bc3dcTypeCircularArray 14
bc3dcTypeObjectAngle 15
bc3dcTypePath 16
3DConstraints Directions bc3dcDirectionAny 0
bc3dcDirectionSame 1
bc3dcDirectionOpposite 2
bc3dcDirectionKeep 3
3DConstraints MeasurementMode bc3dcMeasurementModeCenter 0
bc3dcMeasurementModeBoundary 1
bc3dcMeasurementModeCentralPoint 2
3DConstraints Placement bc3dcPlacementAny 0
bc3dcPlacementOutside 1
bc3dcPlacementInside 2
bc3dcPlacementKeep 3
3DConstraints CoordinateSystemObject bc3dcCSOrigin 0
bc3dcCSX 1
bc3dcCSY 2
bc3dcCSZ 3
bc3dcCSXY 4
c3dcCSYZ 5
bc3dcCSZX 6
3DC Parameters Units Type bc3dcUnitNone 0
bc3dcUnitLength 1
bc3dcUnitArea 2
bc3dcUnitVolume 3
3DC Parameters Expose Mode bc3dcExposeOff 0
bc3dcExposeOn 1
bc3dcExposeUndefined 2
3DC Parameters GeometryDriven Mode bc3dcGdOff 0
bc3dcGdOn 1
bc3dcGdAuto 2

関連事項