「Mechanical関数-BricsCAD」の版間の差分
編集の要約なし |
編集の要約なし |
||
1行目: | 1行目: | ||
{{ | {{BCAD_LISP_MECH}} | ||
==BricsCAD の Mechanical LISP API について== | ==BricsCAD の Mechanical LISP API について== | ||
V23以降、BricsCAD LISP は Mechanical機能専用のインターフェースを提供している(「Professional」または「Mechanical」ライセンスが必要)。 | V23以降、BricsCAD LISP は Mechanical機能専用のインターフェースを提供している(「Professional」または「Mechanical」ライセンスが必要)。 |
2022年11月26日 (土) 09:03時点における版
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」の両方が常に有効であり、サポートされている。
- Mechanical API は、次の機能領域をカバーしている。
メカニカル コンポーネント定数
これらの定数は メカニカルコンポーネント関数のコンテキストで使用され、すべて定義済みの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 |