拡張モジュール > Creo Elements/Direct Sheet Metal > Creo Elements/Direct Sheet Metal のカスタマイズ > Creo Elements/Direct Sheet Metal のインターフェイス関数
  
Creo Elements/Direct Sheet Metal のインターフェイス関数
Creo Elements/Direct Sheet Metal には以下のインターフェイス関数が用意されています。
設定
SHA-SET-CURRENT-SHOP 関数
SHA-SET-CURRENT-MATERIAL 関数
データベース照会
SHA-GET-CURRENT-SHOP 関数
SHA-GET-CURRENT-MATERIAL 関数
SHA-GET-SHOP-ENTRY 関数
SHA-GET-SHOP-TAB-ENTRY 関数
SHA-GET-DB-ENTRY 関数
SHA-GET-BEND-PROCESS-TYPES-LIST 関数
SHA-GET-HEM-PROCESS-TYPES-LIST 関数
SHA-GET-OFFSET-PROCESS-TYPES-LIST 関数
SHA-GET-CUT-PROCESS-TYPES-LIST 関数
SHA-GET-STAMP-PROCESS-TYPES-LIST 関数
SHA-GET-PROCESS-TYPE 関数
SHA-GET-SHOP-TOOL-ALLOWANCE 関数
SHA-GET-MATERIAL-THICKNESS 関数
ユーティリティ
SHA-SEPARATE-PLIST 関数
SHA-ROWKEY-PLIST-TO-GENERALSTRING 関数
SHA-PRINT-SHOPS-TABLE 関数
SHA-PRINT-SHOP-TABLE 関数
パラメトリックツール用インターフェイス関数
SHA-TOOL-PART 関数
SHA-PROFILE-OF-WP 関数
SHA-BODY-OF-TOOL-PART 関数
SHA-ABSOLUTE-NAME 関数
集合体照会
SHA-INQUIRE-BENDS 関数
SHA-INQUIRE-RELIEFS 関数
SHA-INQUIRE-PUNCHES 関数
SHA-INQUIRE-STAMPS 関数
SHA-SET-CURRENT-SHOP 関数
構文
(sha-set-current-shop <shopname>)
説明
現在のショップ名を設定します。
パラメータ
shopname {STRING}
現在のショップの新しい名前。例: "demoshop"
戻り値
shopname
入力値を反映します。
(sha-set-current-shop "demoshop")
SHA-SET-CURRENT-MATERIAL 関数
構文
(sha-set-current-material :shopname <shopname> :tabname <material table name> :rowkey <material row key property list>)
説明
現在の材質を設定します。shopname が指定されていない場合は、現在のショップ名が使用されます。tabname が指定されていない場合は、指定のショップの材質テーブル名が使用されます。
パラメータ
:shopname {STRING}
材質が属する新しいショップの名前。例: "demoshop"。任意。デフォルトは現在のショップです。
:tabname {STRING}
材質テーブルの名前 ("sheet_metals" など)。任意。デフォルトは最初の材質テーブルです。
:rowkey {PROPERTY-LIST}
材質キー列特性リスト。たとえば、
(:MATERIAL "UST 1203" :THICK 1.5)
戻り値
material-property-list
入力値を反映します。
(sha-set-current-material :shopname "demoshop" :tabname "sheet_metals" :rowkey (:material "UST 1203" :thick 1.5)) => (:SHOPNAME "demoshop" :TABNAME "sheet_metals" :ROWKEY (:MATERIAL "UST 1203" :THICK 1.5))
SHA-GET-CURRENT-SHOP 関数
構文
(sha-get-current-shop)
説明
現在のショップ名を返します。
パラメータ
なし
戻り値
{STRING}
現在の製造ショップの名前。例: "demoshop"。
nil
現在のショップが設定されていません。
(sha-get-current-shop) => "demoshop"
SHA-GET-CURRENT-MATERIAL 関数
構文
(sha-get-current-material)
説明
現在の材質のショップ名、テーブル名、行キーを含むプロパティリストを返します。このリストはグローバル LISP 変数 *sha-current-material* として保持されます。現在の材質がまだ設定されていない場合、行キーは nil で、材質テーブルがまだロードされていない場合、ショップ名とテーブル名も nil です。
パラメータ
なし
戻り値
{PROPERTY-LIST}
材質識別情報をすべて含むプロパティリスト。例: (:SHOPNAME "demoshop" :TABNAME "sheet_metals" :ROWKEY (:MATERIAL "UST 1203" :THICK 1.5))
(sha-get-current-material) => ( :SHOPNAME "demoshop" :TABNAME "sheet_metals" :ROWKEY (:MATERIAL "UST 1203" :THICK 1.5))
SHA-GET-SHOP-ENTRY 関数
構文
(sha-get-shop-entry :shopname <shopname> :column <column>)
説明
指定のショップについて、最上位レベルの "SHOPS" テーブルから列エントリを返します。たとえば、材質テーブル名、曲げ/ヘム曲げ/段曲げ/切断/絞り処理名のリスト、補正値計算の代替計算式などです。ショップ名を指定しない場合、現在のショップがデフォルトで使用されます。エントリが見つからない場合、NIL が返ります。
パラメータ
:shopname {STRING}
エントリをサーチするショップ名。例: "demoshop"。
:column {:KEYWORD}
値を返す列のキーワード。例: :MATERIALS。
戻り値
指定したショップの指定した列にあったテーブルエントリ。このエントリのタイプは任意です。たとえば、
"sheet_metals" のようなテーブル名
("air_bending" "bend_forming") のようなテーブル名リスト
SH_BEND_ALLOWANCE_DIN のような関数ポインタ
(sha-get-shop-entry :shopname "demoshop" :column :bend-processes) => ("air_bending" "bend_forming") (sha-get-shop-entry :shopname "demoshop" :column :materials) => "sheet_metals" (sha-get-shop-entry :shopname "demoshop" :column :allowance_formula) => SH_BEND_ALLOWANCE_DIN
SHA-GET-SHOP-TAB-ENTRY 関数
構文
(sha-get-shop-tab-entry :shopname <shopname> :tabname <material table name> :rowkey <material row key property list> :column <column>)
説明
column パラメータを指定した場合は、指定のテーブルからエントリが 1 つ返されます。指定しなかった場合は、rowkey によって指定された行全体がプロパティリスト形式で返されます。エントリが見つからない場合、NIL が返ります。
パラメータ
:shopname {STRING}
エントリをサーチするショップ名。例: "demoshop"。
:tabname {STRING}
エントリをサーチするテーブル名。例: "sheet_metals"。
:rowkey {PROPERTY-LIST}
サーチされたエントリのキー列を含むプロパティリスト。例:
(:MATERIAL "UST 1203" :THICK 1.5)
:column {:KEYWORD}
任意。この引数を指定しない場合、行全体が返されます。値を返す列のキーワード (例:
:MIN_BEND_RAD)
.
戻り値
{PROPERTY-LIST}
:column パラメータが指定されていない場合 (または nil の場合)。行全体のデータを含むプロパティリスト。例: (:mat-id "9999-0477" :material "UST 1203" :thickness 1.5 :min_bend_rad 0.4)
{any type}
指定したショップの指定したテーブルの指定行の指定列にあるテーブルエントリ。このエントリのタイプは任意です。例:
1.5 などの数 (内部単位 [mm]|[rad]|[g]|[nil] で返ります)、
材質 ID "9999-0345" などの文字列、
AIR_BEND_ALLOW などの関数ポインタ
* 
返される数値は、単位変換と LISP の内部変換により、10-15 の範囲で誤差を含むことがあります。これらの値を表示する場合は、精度 10-14 で丸める必要があります。たとえば、
(num-to-str 0.999999999999998 14) =>"1"
(sha-get-shop-tab-entry :shopname "demoshop" :tabname "sheet_metals" :rowkey (:material "UST 1203" :thick 1.5)) => (:mat-id "9999-0477" :material "UST 1203") :thickness 1.5 :min_bend_rad 0.4) (sha-get-shop-tab-entry :shopname "demoshop" :tabname "sheet_metals" :rowkey '(:material "UST 1203" :thick 1.5) :column :min_bend_rad) => 0.4
SHA-GET-DB-ENTRY 関数
構文
(sha-get-db-entry <table-entry-id> <column>)
説明
table-entry-id と column で定義される列エントリを 1 つ返します。sha-get-shop-tab-entry と似ていますが、長いプロパティリストの代わりに、完全な table-entry-id を直接受け付けます。column に NIL を指定した場合、テーブル行全体が返されます。エントリが見つからない場合、NIL を返します。
パラメータ
table-entry-id
{PROPERTY-LIST}
単一のテーブルエントリを取得するのに必要なすべてのプロパティのリストを含むプロパティリスト。例: (:SHOPNAME "demoshop" :TABNAME "sheet_metals" :ROWKEY (:MATERIAL "UST 1203" :THICK 1.5))
column {KEYWORD}
値を返す列のキーワード。例: :MIN_BEND_RAD。この値が NIL の場合、テーブル行全体が返されます。
戻り値
{PROPERTY-LIST}
:column パラメータが指定されていない場合 (または nil の場合)。行全体のデータを表すプロパティリスト。例: (:mat-id "9999-0477" :material "UST 1203" :thickness 1.5 :min_bend_rad 0.4)
{any type}
指定したショップの指定したテーブルの指定行の指定列にあるテーブルエントリ。このエントリのタイプは任意です。例:
1.5 などの数 (内部単位 [mm]|[rad]|[g]|[nil] で返ります)、
材質 ID "9999-0345" などの文字列、
AIR_BEND_ALLOW などの関数ポインタ
(sha-get-db-entry '(:shopname "demoshop" :tabname "sheet_metals" :rowkey (:material "UST 1203" :thick 1.5)) :min_bend_rad) => 0.40000000000000002 (sha-get-db-entry '(:shopname "demoshop" :tabname "sheet_metals" :rowkey (:material "UST 1203" :thick 1.5)) nil) => (:MAT_ID "9999-0345" :MATERIAL "UST 1203" :THICK 1.5 :MIN_BEND_RAD 0.40000000000000002)
(sha-get-db-entry tool-id :piston_ang) => 0.78539816339744828
tool-id で指定されたテーブルにそのような列がある場合、その材質のピストン角度を (内部単位 = rad で) 返します。
tool_id の例:
`(:shopname "demoshop" :tabname "air-bending" :rowkey (:die_width 30 :piston_rad 0.4 :piston_ang ,(/ PI 4))
* 
バッククォート (`) および、(/ PI 4) の前にあるコンマ (,) は、このリストを直接入力するときに必要になります。これがないと、(/ PI 4) 式が評価されません。
* 
このように、サーチするエントリが tool_id の一部であるという特殊な場合には、次のようにエントリを tool_id から直接派生できます。
(getf (getf tool_id :rowkey) :piston_ang)
ただし、これが機能するのは、サーチするエントリがツールキーの一部となっている場合だけであり、これはこのコード断片を使用するすべての場合に当てはまります。
SHA-GET-BEND-PROCESS-TYPES-LIST 関数
構文
(sha-get-bend-process-types-list :shopname <shopname>)
説明
すべての曲げ工程のリストを返します。このリストは、曲げ工程を選択するプルダウンメニューを作成するといった目的で使用できます。
パラメータ
:shopname {STRING}
曲げ工程の種類のリストを返す製造ショップの名前。例: "demoshop"
戻り値
{LIST}
指定したショップの曲げ工程テーブルの名前が格納された文字列のリスト。例: ("air_bending" "bend_forming")
(sha-get-bend-process-types-list :shopname "demoshop") => ("air_bending" "bend_forming")
SHA-GET-HEM-PROCESS-TYPES-LIST 関数
構文
(sha-get-hem-process-types-list :shopname <shopname>)
説明
すべてのヘム曲げ工程のリストを返します。このリストは、ヘム曲げ工程を選択するプルダウンメニューを作成するといった目的で使用できます。
パラメータ
:shopname {STRING}
ヘム曲げ工程の種類のリストを返す製造ショップの名前。例: "demoshop"
戻り値
{LIST}
指定したショップのヘム曲げ工程テーブルの名前が格納された文字列のリスト。例: ("hems")
(sha-get-hem-process-types-list :shopname "demoshop") => ("hems")
SHA-GET-OFFSET-PROCESS-TYPES-LIST 関数
構文
(sha-get-offset-process-types-list :shopname <shopname>)
説明
すべての段曲げ工程のリストを返します。このリストは、段曲げ工程を選択するプルダウンメニューを作成するといった目的で使用できます。
パラメータ
:shopname {STRING}
段曲げ工程の種類のリストを返す製造ショップの名前。例: "demoshop"
戻り値
{LIST}
指定したショップの段曲げ工程テーブルの名前が格納された文字列のリスト。例: ("offsets")
(sha-get-offset-process-types-list :shopname "demoshop") => ("offsets")
SHA-GET-CUT-PROCESS-TYPES-LIST 関数
構文
(sha-get-cut-process-types-list :shopname <shopname>)
説明
すべての切断工程 (現在の穴開け工程) のリストを返します。このリストは、切断工程を選択するプルダウンメニューを作成するといった目的で使用できます。
パラメータ
:shopname {STRING}
切断工程の種類のリストを返す製造ショップの名前。例: "demoshop"
戻り値
{LIST}
指定したショップの切断工程テーブルの名前が格納された文字列のリスト。例: ("punches")
(sha-get-cut-process-types-list :shopname "demoshop") => ("punches")
SHA-GET-STAMP-PROCESS-TYPES-LIST 関数
構文
(sha-get-stamp-process-types-list :shopname <shopname>)
説明
すべての絞り工程のリストを返します。このリストは、絞り工程を選択するプルダウンメニューを作成するといった目的で使用できます。
パラメータ
:shopname {STRING}
絞り工程の種類のリストを返す製造ショップの名前。例: "demoshop"
戻り値
{LIST}
指定したショップの絞り工程テーブルの名前が格納された文字列のリスト。例: ("punches")
(sha-get-stamp-process-types-list :shopname "demoshop") =>("stamps")
SHA-GET-PROCESS-TYPE 関数
構文
(sha-get-process-type :shopname <shopname> :process <process>)
説明
指定したショップの指定した工程の工程タイプを返します。shopname を指定しない場合、現在のショップがデフォルトで使用されます。
パラメータ
:shopname {STRING}
工程をサーチする製造ショップの名前。任意。例: "demoshop"。デフォルトとして現在のショップを使用します。
:process {STRING}
分類する工程の名前。例: "air_bending"
戻り値
{KEYWORD}
指定した工程の工程タイプ。例:. :BEND-PROCESSES). :BEND-PROCESSES | :OFFSET-PROCESSES | :HEM-PROCESSES | :CUT-PROCESSES | :STAMP-PROCESSES | :BEND-RELIEFS :CORNER-RELIEFS
(get-process-type :shopname "demoshop" :process "air-bending") => :bend-processes
SHA-GET-SHOP-TOOL-ALLOWANCE 関数
構文
(sha-get-shop-tool-allowance :shopname <shopname> :process-tool-paramlist <process tool parameter list> :material <material> :thickness <thickness> :bend-angle <bend-angle> :cone angle <cone-angle> :inner-radius <inner-radius> :outer-radius <outer-radius>)
説明
指定したショップの指定した材質の曲げ、ヘム曲げ、段曲げツールの補正値を返します。material パラメータを指定しない場合、現在の材質がデフォルトで使用されます。shopname を指定しない場合、代わりに現在のショップが使用されます。process-tool-paramlist は、3D モデルの曲げ属性から直接抽出されたプロパティリストです。現在、このパラメータは工程情報のプロパティリストだけを含みます。例:. (:tabname "bend-forming")。背後にある曲げ/ヘム曲げ/段曲げツールは、process-tool-paramlist、bend-angle、cone angle (円錐ベンドの場合)、inner-radius、outer-radius、および指定した材質キーのプロパティリストによって一意に指定されます。
補正値は材質属性を持たないシートパーツでもサポートされています。そのため、存在しない material パラメータの代わりに thickness パラメータが必要になります。material パラメータを指定した場合、thickness パラメータは無視されます。
内部で選択した曲げ/ヘム曲げ/段曲げツールに :ALLOWANCE あるいは :ALLOWANCE-FORMULA のエントリが指定されなかった、または、データベースに特定のツールが見つからなかったという理由から、補正値の値が見つからない場合は、ショップ専用の代替方法、すなわち、ショップレベルの補正値計算式が適用されます。ショップレベルの補正値計算式が指定されていない場合、固定 K-係数 0.4 で補正値を計算する変更不可能な計算式が使用されます。つまり、中立面がシートの厚さの 40% に位置することになります。
代替の場合、この関数はエラーメッセージとエラータイプを返します。
パラメータ
:shopname {STRING}
任意。製造ショップの名前。例: "demoshop"。デフォルトとして現在のショップを使用します。
:process-tool-paramlist {PLIST}
曲げ工程と曲げツールの識別子。任意。デフォルト: nil = ツールに指定なし。
例:
(:shopname "demoshop" :process "bend_forming" :rowkey (:radius 1)
または、
("bend_forming")/
後者の場合、指定されたテーブルで適切なツールを探します。
:material {PLIST}
任意。デフォルトは現在の材質です。
材質の仕様。例: :shopname "demoshop" :tabname "sheet_metals" :rowkey (:material "UST 1203" :thick 1.5))
:thickness {LONG-FLOAT} [mm]
板金の厚さ (任意)。材質が指定されていない場合に使用されます。デフォルトは材質の厚さです。
:bend-angle {LONG-FLOAT} [rad]
曲げ角度 (0 = 曲げなし)。値が指定されていない場合、この関数は NIL を返します。
:cone angle {LONG-FLOAT} [rad]
円錐ベンドの円錐角度。円錐角度を入力するか、内側半径 (円柱ベンドの場合) を指定します。
:inner-radius {LONG-FLOAT} [mm]
内側曲げ半径。
:outer-radius {LONG-FLOAT} [mm]
外側曲げ半径。内側曲げ半径とは異なることがあります。曲げでは任意です。ヘム曲げと段曲げでは必須です。
戻り値
{PROPERTY-LIST}
指定したプロパティのキーワード/値ペアを含むプロパティリスト。
:allowance
{LONG-FLOAT}
[mm]
曲げ補正値
:allowance-
type {INTEGER}
0 = 曲げまたはヘム曲げ
1 = 段曲げ
2 = 円錐ベンド
:prefix
{STRING}
展開曲げ線テキストラベルの角度と半径の値の左側に表示される情報テキスト。このテキストは、使用するツールの展開テキストプロパティから導かれます。例: "Bend form R=0.4 A=90deg UP"
:severity
{KEYWORD}
エラー重要度インジケータ。通常は、重要度に応じて、エラーメッセージボックスの色が、黄色 | オレンジ | 赤に変わります。このパラメータは通常、error-type から導かれます。sha_demoshop_func.lsp ファイルで定義されたグローバルマッピングリスト *sha-severity* で重要度 (:LOW | :MEDIUM | :HIGH) とエラータイプが関連付けられています。
:error-type
{KEYWORD}
設計規則違反の種類を示します。種類とそれに応じた重要度は、
sha_demoshop_func.lsp ファイルで定義されたグローバルマッピングリスト *sha-severity* で指定されています。
:TDB-SHOP-MISSING | :TDB-TABLE-MISSING | :TDB-TOOL-MISSING | :TDB-ENTRY-MISSING | :MATERIAL-NOT-FOUND | :USING-FALLBACK-STRATEGY
error-message {STRING} または文字列の {LIST} (エラーメッセージ文字列または複数のエラー文字列のリスト)。
:k-factor
{LONG-FLOAT}
K-係数。
nil
パラメータ不足
:allowance 以外、すべての戻り値は任意です。リストされる順序は保証されません。特殊パラメータに対するアクセスはすべて (getf return-list :key) で行う必要があります。error-type パラメータと error-message パラメータはリストの場合があります。そうなるのは、ユーザ定義の補正値計算式 (この関数で使用する可能性があります) が追加または複数の error-message を返す場合です。
リスト形式の場合、戻り値のこのリストを将来拡張することもできます。
(sha-get-shop-tool-allowance :shopname "demoshop" :process-tool-paramlist '(:process "bend_forming") :material '(:shopname "demoshop" :tabname "sheet_metals" :rowkey (:material "UST 1203" :thick 1.5)) :bend-angle (/ PI 2) :inner-radius 0.4) => (:ALLOWANCE -2.3500000000000001 :ALLOWANCE-TYPE 0 :INFO-PREFIX "Bend form R=0.4 A=90deg UP" :PREFIX "Bend form R=0.4 A=90deg UP" :NO-GEO-INFO T) (sha-get-shop-tool-allowance :shopname "demoshop" :process-tool-paramlist '(:process "hems") :material '(:shopname "demoshop" :tabname "sheet_metals" :rowkey (:material "UST 1203" :thick 1.25)) :bend-angle (/ PI 2) :inner-radius 0.625 :outer-radius 1.875) => (:ALLOWANCE -0.20000000000000001 :ALLOWANCE-TYPE 0 :INFO-PREFIX "Hem 1.25mm UP" :PREFIX "Hem 1.25mm UP" ) (sha-get-shop-tool-allowance :shopname "demoshop" :process-tool-paramlist '(:process "offsets") :thickness 1.5 :bend-angle (/ PI 2) :inner-radius 0.5 :outer-radius 2.5) => (:PREFIX "Offset H=3mm Al=1.4mm" :ALLOWANCE-TYPE 1 :ALLOWANCE 1.4347826086956523 :WARNING-HEADLINE "WARNING: Allowance value not found, using fallback strategy" :SEVERITY :MEDIUM :ERROR-TYPE :TDB-ENTRY-MISSING :ERROR-MESSAGE "No allowance value found, because material could not be found")
上記の例では、Creo Elements/Direct Sheet Metal のコマンドを使用しないで、材質属性なしのシートパーツが作成されます。そのため、material パラメータの代わりに、thickness パラメータだけを指定しています。
SHA-GET-MATERIAL-THICKNESS 関数
構文
(sha-get-material-thickness :shopname <shopname> :tabname <material table name> :rowkey <material row key property list>)
説明
指定された材質の厚さを返します。材質は、ショップ名、論理材質テーブル名、行キーのプロパティリストによって定義されます。材質テーブル名を指定しない場合、現在のショップの材質テーブルがデフォルトで使用されます。この関数は、特定の材質の厚さが必要な場合に使用されます。ただし、材質を選択したり特定したりすると常に完全な材質の行キーが返されます。
パラメータ
:shopname {STRING}
エントリをサーチするショップ名 (任意)。例: "demoshop"。デフォルトは現在のショップです。
:tabname {STRING}
エントリをサーチするテーブル名 (任意)。例: "sheet_metals"。デフォルトは最初の材質テーブルです。
:rowkey {PROPERTY-LIST}
サーチされるエントリのキー列を含むプロパティリスト。次に例を示します。
(:MATERIAL "UST 1203" :THICK 1.5)
戻り値
{LONG-FLOAT}
mm 単位の材質の厚さ (例: 1.5)。
* 
返される数値は、単位変換と LISP の内部変換により、10-15 の範囲で誤差を含むことがあります。この値を表示する場合は、精度 10-14 で丸める必要があります。例: (num-to-str 0.999999999999998 14) =>"1"
(sha-get-material-thickness :shopname "demoshop" :tabname "sheet_metals" :rowkey (:material "UST 1203" :thick 1.5))) => 1.5
SHA-SEPARATE-PLIST 関数
(sha-separate-plist <property list>)
プロパティと値に分割されたプロパティリストを返します。
(multiple-value-setq (a b) (sha-separate-plist '(:c 1 :d 2 :e 3))) Sets : a = '(:C :D :E) b = '(1 2 3)
SHA-ROWKEY-PLIST-TO-GENERALSTRING 関数
構文
(sha-rowkey-plist-to-generalstring <shopname> <material table name> <material row key property list>)
説明
行キーのプロパティリストから文字列を作成します。数字の小数部が .99999999999999 および .00000000000001 にならないように特殊なフォーマットが使用され、10-14 で丸められます。さらに、数字は元の単位付きで表示されます。
(sha-rowkey-plist-to-generalstring "demoshp" "sheet_metals" '(:material "UST 1203" :thick 1.5)) => "( MATERIAL \"UST 1203\" THICK 1.5 mm)" メッセージボックスに表示される ID は ( MATERIAL "UST 1203" THICK 1.5 mm) となります
SHA-PRINT-SHOPS-TABLE 関数
構文
(sha-print-shops-table ())
説明
すべてのロードされたショップの最上位レベルのデータを保持する "SHOPS" という最上位レベルのテーブルの内容を出力します。デバッグ用。
(sha-print-shops-table)
SHA-PRINT-SHOP-TABLE 関数
構文
(sha-print-shop-table <shopname> <table-name>)
説明
ショップ名とテーブル名で識別される特定のテーブルの内容を出力します。デバッグ用。
(sha-print-shop-table "demoshop" "sheet_metals")
SHA-TOOL-PART 関数
構文
(sha-tool-part)
説明
ツールボディの作成時に使用する新しいパーツの名前を返します。
パラメータ
なし
戻り値
part-name
新しいパーツの名前 (パス名なし)。
(setf tool-part (sha-tool-part)) -> たとえば "p2" を返します
SHA-PROFILE-OF-WP 関数
構文
(sha-profile-of-wp)
説明
ワークプレーンなしのプロファイルを特殊な構造で返します。この関数は暗黙のうちにプロファイルの一貫性をチェックし、2D データが排他的な閉じたプロファイルを持っていない場合、NIL を返します。
パラメータ
workplane-name {文字列}
ワークプレーンの名前。
戻り値
profile
ワークプレーンのプロファイルデータ (存在する場合)。
nil
閉じたプロファイルがワークプレーンに存在しません。
(setf return (sha-profile-of-wp tool-wp)) -> 平面プロファイル構造を return という変数に代入
SHA-BODY-OF-TOOL-PART 関数
構文
(sha-body-of-tool-part <part-name>)
説明
パーツのボディデータ構造を返します (図形だけで、名前なし、変換なしです)。
パラメータ
part-name {STRING}
パーツの名前。
戻り値
body
パーツのボディデータ (存在する場合)。このデータは図形のみです (名前なし、ボディ変換なし)
nil
ボディが存在しない場合。
(setf return (sha-body-of-tool-part tool-part)) -> ボディデータ構造を return という変数に代入
SHA-ABSOLUTE-NAME 関数
構文
(sha-absolute-name <workplane name>)
説明
ワークプレーンの絶対パス名を返します。
パラメータ
workplane-name {文字列}
ワークプレーンの名前 (パス名なし)。
戻り値
ワークプレーンの絶対パス名
(delete_3d (sha-absolute-name tool-wp)) ; ワークプレーンの削除
SHA-INQUIRE-BENDS 関数
構文
(sha-inquire-bends [ :edge <edge> | :face <face> | :part <part> ] )
説明
稜線、面、またはパーツに対して曲げ、ヘム曲げ、段曲げ集合体を照会します。
パラメータ
edge {SEL-ITEM}
曲げ、ヘム曲げ、段曲げ集合体について照会する稜線。
face {SEL-ITEM}
曲げ、ヘム曲げ、段曲げ集合体について照会する面。
part {SEL-ITEM}
曲げ、ヘム曲げ、段曲げ集合体について照会するパーツ。
戻り値
list {リスト} of
property-list {plist}
キーワードと値のペアから成るプロパティリスト。
:TOOL-PROPERTY
-LIST {plist}
詳細な照会に使用するデータ。
例:
(:SHOPNAME "demoshop" :TABNAME "air_bending" :ROWKEY (:RADIUS 1.5))
* 
データベースにツールが存在しない曲げを作成した場合、または、リビジョン 7.0 より前の CoCreate Sheet Metal で作成したパーツをロードした場合、工程の文字列だけが保存されます。例: ("air_bending")。この場合、:SHOPNAME と :ROWKEY の値は nil に設定されます。
:INNER-RADIUS
{LONG-FLOAT}
曲げの内側半径。
:OUTER-RADIUS
{LONG-FLOAT}
曲げの外側半径。
:INNER-FACES
{list} of {SEL_ITEM-ITEM}s
曲げの内側の面のリスト。
:OUTER-FACES {list} of {SEL_ITEM-ITEM}s
曲げの外側の面のリスト。
(sha-inquire-bends :face #S(SEL_ITEM PATH (#S(NPARCEL SIMPLE-ENTITY-PTR 1119858160) #S(NPARCEL SIMPLE-ENTITY-PTR 1133762992)) TYPE 1119841472 ITEM #S(FACE SIMPLE-ENTITY-PTR 1134278112))) => ((:TOOL-PROPERTY-LIST (:SHOPNAME "demoshop" :TABNAME "bend_forming" :ROWKEY ( :RADIUS 0.6 :ANGLE 1.5707963267949)) :INNER-RADIUS 0.6 :OUTER-RADIUS 1.85 :INNER-FACES (#S(FACE SIMPLE-ENTITY-PTR 1080835520)) :OUTER-FACES (#S(FACE SIMPLE-ENTITY-PTR 1081112768))))
SHA-INQUIRE-RELIEFS 関数
構文
(sha-inquire-reliefs [ :face <face> | :part <part> ] )
説明
曲げ割れ止めとコーナ割れ止めを照会します。
パラメータ
face {SEL-ITEM}
曲げ割れ止めとコーナ割れ止めについて照会する面。
part {SEL-ITEM}
曲げ割れ止めとコーナ割れ止めについて照会するパーツ。
戻り値
list {リスト} of
property-list {plist}
キーワードと値のペアから成るプロパティリスト。
:TOOL-PROPERTY-LIST
{plist}
詳細な照会に使用するデータ。
例:
(:SHOPNAME "demoshop" :TABNAME "rnd_corner_relief" :ROWKEY (:DIA 4))
* 
リビジョン 5.1 よりも前の CoCreate Sheet Metal で作成されたパーツをロードした場合、このデータは使用できません。この場合、:SHOPNAME、:TABNAME、および :ROWKEY の値は nil に設定されます。
:RELIEF-TYPE
{STRING}
割れ止めのタイプ。
:FACES {list}
of {SEL_ITEM-ITEM}s
割れ止めが付加された面のリスト。
(sha-inquire-reliefs :face #S(SEL_ITEM PATH (#S(NPARCEL SIMPLE-ENTITY-PTR 1119858160) #S(NPARCEL SIMPLE-ENTITY-PTR 1133762992)) TYPE 1119841472 ITEM #S(FACE SIMPLE-ENTITY-PTR 1080506448))) => ((:TOOL-PROPERTY-LIST (:SHOPNAME "demoshop" :TABNAME "rnd_relief" :ROWKEY ( :VERT 1.6)) :RELIEF-TYPE :ROUND :FACES (#S(FACE SIMPLE-ENTITY-PTR 1136155536) #S(FACE SIMPLE-ENTITY-PTR 1136158144))))
SHA-INQUIRE-PUNCHES 関数
構文
(sha-inquire-punches [ :face <face> | :part <part> ] )
説明
穴開けを照会します。
パラメータ
face {SEL-ITEM}
穴開けについて照会する面。
part {SEL-ITEM}
穴開けについて照会するパーツ。
戻り値
list {リスト} of
property-list {plist}
キーワードと値のペアから成るプロパティリスト。
:TOOL-PROPERTY
-LIST {plist}
詳細な照会に使用するデータ。
例:
(:SHOPNAME "demoshop" :TABNAME "rnd" :ROWKEY (:DIA 4))
* 
リビジョン 5.1 よりも前の CoCreate Sheet Metal で作成されたパーツをロードした場合、このデータは使用できません。この場合、:SHOPNAME、:TABNAME、および :ROWKEY の値は nil に設定されます。
:REFERENCE-POSITION
{GPNT3D}
穴開けの参照位置。
:ANGLE
{LONG-FLOAT}
穴開けの参照角度。
:FACES {list}
of {SEL_ITEM-ITEM}s
穴開けが付加された面のリスト。
(sha-inquire-punches :part #S(SEL_ITEM PATH (#S(NPARCEL SIMPLE-ENTITY-PTR 1119858160) #S(NPARCEL SIMPLE-ENTITY-PTR 1133762992)) TYPE 1119771664 ITEM #S(NPART3 SIMPLE-ENTITY-PTR 1133762992))) => ((:TOOL-PROPERTY-LIST (:SHOPNAME "demoshop" :TABNAME "rnd" :ROWKEY ( :DIA 4)) :REFERENCE-POSITION -14.99837928922372,-54.092717812544002,0.0 :ANGLE 0.0 :FACES (#S(FACE SIMPLE-ENTITY-PTR 1133980320))) (:TOOL-PROPERTY-LIST (:SHOPNAME "demoshop" :TABNAME "kwy_in" :ROWKEY ( :DIA 14.2 :WIDTH 1.9 :DEPTH 0.9 :ANG 0)) :REFERENCE-POSITION -49.573362840689498,-39.414941248263744,0.0 :ANGLE 1.5707963267948966 :FACES (#S(FACE SIMPLE-ENTITY-PTR 1135164624) #S(FACE SIMPLE-ENTITY-PTR 1135163744) #S(FACE SIMPLE-ENTITY-PTR 1135166496) #S(FACE SIMPLE-ENTITY-PTR 1135165616))))
SHA-INQUIRE-STAMPS 関数
構文
(sha-inquire-stamps [ :face <face> | :part <part> ] )
説明
絞りを照会します。
パラメータ
face {SEL-ITEM}
絞りについて照会する面。
part {SEL-ITEM}
絞りについて照会するパーツ。
戻り値
list {リスト} of
property-list {plist}
キーワードと値のペアから成るプロパティリスト。
:TOOL-PROPERTY-LIST
{plist}
詳細な照会に使用するデータ。
例:
(:SHOPNAME "demoshop" :TABNAME "dmp" :ROWKEY (:DIMPLE_DIA 8.12 :DEPTH 0.9 :ANG 1.5707963267949001 :STAMP_DIR UP))
* 
リビジョン 5.1 よりも前の CoCreate Sheet Metal で作成されたパーツをロードした場合、このデータは使用できません。この場合、:SHOPNAME、:TABNAME、および :ROWKEY の値は nil に設定されます。
:REFERENCE-POSITION
{GPNT3D}
絞りの参照位置。
:ANGLE
{LONG-FLOAT}
絞りの参照角度。
:FACES {list} of
{SEL_ITEM-ITEM}s
絞りが付加された面のリスト。
(sha-inquire-stamps :face #S(SEL_ITEM PATH (#S(NPARCEL SIMPLE-ENTITY-PTR 1119858160) #S(NPARCEL SIMPLE-ENTITY-PTR 1133762992)) TYPE 1119841472 ITEM #S(FACE SIMPLE-ENTITY-PTR 1080506448))) => ((:TOOL-PROPERTY-LIST (:SHOPNAME "demoshop" :TABNAME "dmp" :ROWKEY ( :DIMPLE_DIA 8.2 :DEPTH 0.9 :ANG 1.5707963267949 :STAMP_DIR "UP")) :REFERENCE-POSITION -23.167608345364499,-24.967654488670199,0.0 :ANGLE 0.0 :FACES (#S(FACE SIMPLE-ENTITY-PTR 1135256608) #S(FACE SIMPLE-ENTITY-PTR 1135024704) #S(FACE SIMPLE-ENTITY-PTR 1135286240) #S(FACE SIMPLE-ENTITY-PTR 1135071792))))