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

提供:GizmoLabs - だいたい CAD LISP なサイト
編集の要約なし
37行目: 37行目:
** [[#メカニカル コンポーネント定数|コンポーネント定数]]
** [[#メカニカル コンポーネント定数|コンポーネント定数]]
** [[#3D 拘束定数|3D 拘束定数]]
** [[#3D 拘束定数|3D 拘束定数]]
** [[メカニカルコンポーネント関数-bricscad|メカニカルコンポーネント関数]]
** [[#メカニカルコンポーネント関数]]
** [[3D拘束グループ関数-bricscad|3D拘束グループ関数]]
** [[#3D拘束グループ関数]]
** [[3D拘束関数-bricscad|3D拘束関数]]
** [[#3D拘束関数]]
** [[3D拘束パラメータ関数-bricscad|3D拘束パラメータ関数]]
** [[#3D拘束パラメータ関数]]
** [[Rhinoインポート/エクスポート-bricscad|Rhinoインポート/エクスポート機能]]
** [[#Rhinoインポート/エクスポート機能]]
 
 
=== メカニカルコンポーネント関数 ===
メカニカル関数はすべて接頭辞 : "mech:" がつく。
 
<div class="mcol3">
* [[mech:get-componentparameternames]]
* [[mech:get-componentparameterexpr]]
* [[mech:get-componentparametervalue]]
* [[mech:get-componentparameterisstring]]
* [[mech:get-componentparameterstringvalue]]
* [[mech:get-effectiveblockrefname]]
* [[mech:get-effectiveblocktablerecord]]
* [[mech:set-componentparameterexpr]]
 
==== メカニカルコンポーネント インスタンス関数====
メカニカルコンポーネントインスタンス関数はすべて接頭辞 : "mech:instance" がつく。
* [[mech:instance-get-allcategories]]
* [[mech:instance-get-definitionid]]
* [[mech:instance-get-entityid]]
* [[mech:instance-get-isfrozen]]
* [[mech:instance-get-isvisible]]
* [[mech:instance-get-name]]
* [[mech:instance-get-hasoverrides]]
* [[mech:instance-set-category]]
* [[mech:instance-set-name]]
 
 
==== メカニカルコンポーネント定義関数====
メカニカルコンポーネントインスタンス関数はすべて接頭辞 : "mech:compdef" がつく。
* [[mech:compdef-has-definition]]
* [[mech:compdef-get-allcategories]]
* [[mech:compdef-get-allcustompropertiesvalues]]
* [[mech:compdef-get-block]]
* [[mech:compdef-get-bomstatus]]
* [[mech:compdef-get-componenttype]]
* [[mech:compdef-get-custompropertyvalue]]
* [[mech:compdef-get-description]]
* [[mech:compdef-get-filepath]]
* [[mech:compdef-get-filestatus]]
* [[mech:compdef-get-instances]]
* [[mech:compdef-get-isarray]]
* [[mech:compdef-get-isarraysource]]
* [[mech:compdef-get-isexternal]]
* [[mech:compdef-get-isoriginal]]
* [[mech:compdef-get-isroot]]
* [[mech:compdef-get-issectionable]]
* [[mech:compdef-get-isstandard]]
* [[mech:compdef-get-isupdated]]
* [[mech:compdef-get-name]]
* [[mech:compdef-get-originalblock]]
* [[mech:compdef-get-physicalmaterial]]
* [[mech:compdef-get-standard]]
* [[mech:compdef-get-standardpartcategory]]
* [[mech:compdef-get-standardpartdescription]]
* [[mech:compdef-get-standardparttype]]
* [[mech:compdef-assign-propertyset]]
* [[mech:compdef-create]]
* [[mech:compdef-set-asstandard]]
* [[mech:compdef-set-bomstatus]]
* [[mech:compdef-set-custompropertyvalue]]
* [[mech:compdef-set-description]]
* [[mech:compdef-set-name]]
* [[mech:compdef-set-physicalmaterial]]
* [[mech:compdef-set-sectionable]]
* [[mech:compdef-unmech]]
</div>
 
 
=== 3D拘束グループ関数 ===
メカニカル関数はすべて接頭辞 : "mech:" がつく。
<div class="mcol2">
* [[mech:get-allconstraintsgroups]]
* [[mech:get-constraintsgroup]]
* [[mech:get-blockid]]
* [[mech:get-constraints]]
* [[mech:get-istransient]]
* [[mech:has-sketchplane]]
* [[mech:get-sketchplane]]
* [[mech:get-entityguiname]]
* [[mech:set-entityguiname]]
* [[mech:addconstraint]]
* [[mech:deleteconstraint]]
* [[mech:evaluateconstraints]]
</div>
 
 
=== 3D拘束関数 ===
メカニカル3D拘束関数はすべて接頭辞 : "mech:constraint" がつく。
<div class="mcol2">
* [[mech:constraint-get-arguments]]
* [[mech:constraint-get-blockid]]
* [[mech:constraint-get-dimension]]
* [[mech:constraint-get-directions]]
* [[mech:constraint-get-isdimensional]]
* [[mech:constraint-get-isenabled]]
* [[mech:constraint-get-measurement]]
* [[mech:constraint-get-name]]
* [[mech:constraint-get-parameter]]
* [[mech:constraint-get-placement]]
* [[mech:constraint-get-type]]
* [[mech:constraint-set-directions]]
* [[mech:constraint-set-isenabled]]
* [[mech:constraint-set-measurement]]
* [[mech:constraint-set-name]]
* [[mech:constraint-set-placement]]
</div>
 
 
=== 3D拘束パラメータ関数 ===
メカニカル3D拘束パラメータ関数はすべて接頭辞 : "mech:parameters" がつく。
<div class="mcol2">
* [[mech:parameters-erase]]
* [[mech:parameters-get-blockid]]
* [[mech:parameters-get-byname]]
* [[mech:parameters-get-exposemode]]
* [[mech:parameters-get-expression]]
* [[mech:parameters-get-fromblock]]
* [[mech:parameters-get-geomdrivenmode]]
* [[mech:parameters-get-isanonymous]]
* [[mech:parameters-get-name]]
* [[mech:parameters-get-unitstype]]
* [[mech:parameters-get-value]]
* [[mech:parameters-set-exposemode]]
* [[mech:parameters-set-expression]]
* [[mech:parameters-set-geomdrivenmode]]
* [[mech:parameters-set-name]]
* [[mech:parameters-set-unitstype]]
* [[mech:parameters-set-value]]
</div>
 
 
=== Rhinoインポート/エクスポート機能 ===
メカニカル関数はすべて接頭辞 : "mech:rhino" がつく。
 
* [[mech:rhino-exportfile]]
* [[mech:rhino-importfile]]


==関連==
==関連==

2022年12月5日 (月) 06:46時点における版

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インポート/エクスポート機能

メカニカル関数はすべて接頭辞 : "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