拡張モジュール > Creo Elements/Direct Sheet Metal > Creo Elements/Direct Sheet Metal のカスタマイズ > 複数展開
  
複数展開
製造工程に向けたドキュメントの作成に必要とされるさまざまな手続きは「複数展開」コマンドに置き換わり、これによって広範なカスタマイズオプションが利用できるようになりました。
この章ではショップデータベースファイル sha_demoshop.lsp および sha_demoshop_func.lsp にある例をいくつか参照しています。
この章では次のトピックについて説明します。
一般オプションの設定
図面オプションの設定
ドキュメントオプションの設定
データベースオプションの設定
特殊な生産工程の定義
生産工程
リレーションテーブルによる自動選択
特殊な生産工程の設定
一時的 3D 編集のオプション
2D 編集のオプション
置換マクロ
Early Macro
Late Macro
外部後処理
一般オプションの設定
ショップファイルで一般オプションの設定を定義します。オプションには 3 種類あります。
図面オプションの設定
ドキュメントオプションの設定
データベースオプションの設定
複数展開では、以下の場合に一般オプションの設定が使用されます。
「複数展開」 > 「定義」 > 「対話型」を選択した場合。
「複数展開」 > 「定義」 > 「ショップ設定」を選択し、特殊な工程オプションを指定しなかった場合 (特殊なオプションはグローバルオプション設定より優先されます)。
図面オプションの設定
展開図に表示される 3D または 2D のオプションを設定します。
例については、sha_demoshop.lspsha-define-shop-table "drawing-settings" を参照してください。
* 
イタリック体のオプションは「複数展開」メニューには表示されません。ショップファイルで設定できるだけです。
:BOTH_SIDES
[t | nil] t= 選択した基準面とその反対側の両方を 1 つの図面に描画します。
:BEND_LINE
[t | nil] t= 曲げ線を描画します。
:TEXT_LABELS
[t | nil] t= PUNCH、STAMP、RELIEF、CORNER_RELIEF、BEND 集合体のような集合体のテキストラベルを描画します。nil の場合、sha_set_flat_show_labels 関数で指定した値がデフォルトになります。これは通常、ショップファイルのデフォルトセクションに記述されています。
:STAMP_GEO
[ t | nil] t= 絞りを表示します。nil= 展開図を表示する前に絞りを削除します。
:PUNCH_GEO
[ t | nil] t= 穴開けされた穴を表示します。nil= 展開図を表示する前に穴開け箇所を削除します。
:REF_POINTS
[t | nil] t= 使用されたツールの参照点を表示します。
:MERGE
[t | nil] t= 可能な場合、図形要素を結合します (特に、曲げゾーンの左右両端にある要素)。
:TOPPART_ONLY
[t | nil] t= 図面データを、上側のパーツと下側のパーツがある通常のパーツ構造の代わりに、1 つのトップパーツだけに配置します。
:CONVERT_SPLINES
[t | nil] t= 展開図のスプラインを線と円弧のセットに変換します。この変換のパラメータは以下の表示されないオプションを使用して設定します。または、独自の変換関数で内部関数をオーバーライドします。この関数は、変換を実行する OSDD コマンドを含む文字列リストを返す必要があります。
:SPLINE-MIN-RAD
[length] CONVERT_SPLINE の最小円弧半径 [mm]。
:SPLINE-MAX-RAD
[length] CONVERT_SPLINE の最大円弧半径 [mm]。
:SPLINE-MIN-LENGTH
[length] CONVERT_SPLINE の要素の最小長 [mm]。
:REPLACEMENTS
[t | nil] t= 置換マクロを実行します。nil の場合、Creo Elements/Direct Modeling ではショップテーブルのデフォルトが使用されます。デフォルトは通常、ショップファイルのデフォルトセクションで定義されています。たとえば、(sha-enable-replacements) または (sha-disable-replacements) です。さらに、ほかの個別の置換設定、(sha-enable-relief-replacements)、(sha-enable-corner-relief-replacement)、(sha-enable-punch-replacement)、(sha-enable-stamp-replacement) も保持されます。この値を対話的に切り替えると、これらの設定がすべて切り替えられます。
:BEND_ALLOWANCE_SHOP
[t | nil] t= ショップ設定の補正値計算を使用します。
:BEND_ALLOWANCE_FIXED
[number] 曲げ平面計算の K-係数 (ANSI 構文: 値 0 ~ 1)。
:CONE_ALLOWANCE
[number] 円錐曲げの K-係数 (ANSI 構文: 値 0 ~ 1)。
:SHARP_BEND_RADIUS
[length] 鋭角曲げ半径を内部単位 [mm] で設定します。
:POSTPROCESS
[t | nil] t= ユーザ定義の後工程を開始します。
:MI
[t | nil] t= 展開図付きの MI ファイルを作成します。
:DXF
[t | nil] t= 展開図付きの DXF ファイルを作成します。
:DWG
[t | nil] t= 展開図付きの DWG ファイルを作成します。
:IGES
[t | nil] t= 展開図付きの IGES ファイルを作成します。
:TXT
[t | nil] t= 展開図情報付きのテキストファイルを作成します。
:FILE
[t | nil] t= 選択した出力形式でファイルを作成します (グローバルスイッチ)。
:OUTPUT_WP
[t | nil] t= 作成した展開図をワークプレーンにロードします。
:OUTPUT_OSDD
[t | nil] t= 作成した展開図を、実行中の OSDD プログラムに送信します。
ドキュメントオプションの設定
ドキュメントオプションは、板金パーツとその展開図を記述する HTML 文書の内容を指定します。例については、sha_demoshop.lsp の·sha-define-shop-table "documentation-settings" を参照してください。
:HTML
[t | nil] t= 各工程の HTML 文書を作成します (対話型 = 1 工程)。
:JPEG
[t | nil] t= 選択した板金パーツと各工程の展開図から JPEG 画像ファイルを作成します。
:TIFF
[t | nil] t= 各工程の TIFF 画像ファイルを作成します。
:VRML
[t | nil] t= 選択した 3D 板金パーツの VRML モデルを作成します。
:ISO
[t | nil] t= 選択した板金パーツをアイソメトリックビューで表示します。
:DIM
[t | nil] t= 選択した板金パーツを直径ビューで表示します。
:FREE
[t | nil] t= 選択した板金パーツを実際のビュー方向で表示します。
:ADD_3D_DOC
[t | nil] t= 選択した板金パーツの 3D 展開モデルを (存在しない場合は作成して) HTML 文書に統合します。
:ADD-TAB1
<list <list "string1" "string2"> <list "string3" "string4"> ...> または <function-symbol>。二連文字列のリスト (各二連文字列は HTML 文書の 1 つ目のテーブルに 1 行を追加します)、または、そのようなリストを作成する関数の関数シンボル。次の表に例を示します。
:ADD-TAB2
<list <list "string1" "string2" "string3"> <list "string4" "string5" "string6"> ...> または <function-symbol>。三連文字列のリスト (各三連文字列は HTML 文書の 2 つ目のテーブルに 1 行を追加します)、または、そのようなリストを作成する関数の関数シンボル。たとえば、3D モデルまたは 2D 展開図から導き出されたデータを挿入するために、このデータをグローバル変数 (3D) またはファイル (2D) に書き込んで、そこからこの関数がデータを読み込むように、図面設定のオプションを設定できます。次の表に例を示します。
:2D-FLAT-MIN-TEXT-SIZE-PIX
スクリーンショットも含めて、文書の最小テキストサイズを指定します。すべての展開図のテキストサイズは少なくとも指定されたピクセル単位のサイズになります。
表 1
データベース図面番号 (DB NR)
p1
データベース要素 ID (ELID)
パーツ
p1
パス
"/p1"
材質
UST 1203
材質 - 番号
9999-0344
単位
長さ = MM / 角度 = DEG / 質量 = G
厚さ
1.25
表 2 の行の例
曲げ
2
# 曲げの総数
異なる曲げ
2
# 異なる曲げの数
展開図の幅
40.0000
# 展開図を囲むボックスの幅
パーツの幅
32.2609
# パーツを囲むボックスの幅
データベースオプションの設定
ショップファイルで、DesignDataManagement (DM) データベースまたは ModelManager (MM) データベースを使用するかを指定します。例については、sha_demoshop.lspsha-define-shop-table "database-settings" を参照してください。
:USEDB
[t | nil] t= 作成されたデータを、選択したデータベースに送信します。
:DDM-ACTION
<string> 初期化シーケンスとして DM に送信されるマクロコマンド文字列。
:MM-ACTION
<string> 初期化シーケンスとして MM に送信されるコマンド文字列。
:DB-PARAMS
<list <string> <string>> データベースに送信するパラメータ。以下を含みます。パラメータはまったく指定しなくても、すべて指定してもかまいません。
("TMPDIR" "ELID" "PELID" "L_TAB" "STATION" "USER" "DR_NR" "THICKNESS" "MATERIAL")
:REF_GRP
["DB-PREF" | "DB-DREF"] "DB-PREF" = パーツ参照。"DB-DREF" = 図面参照。
:KEY-WORD
<string> 図面番号のデータベースキーワード ("NAME" など)。
特殊な生産工程の定義
生産工程
リレーションテーブルによる自動選択
特殊な生産工程の設定
生産工程
ショップファイルの sha-define-shop セクションで (例は sha_demoshop.lsp を参照)、キーワード :PRODUCTION-PROCESSES を使用して生産工程をリストにします。
以下に例を示します。
:PRODUCTION-PROCESSES ("flame_cutting" "laser_cutting" "nibbling" "punching" "stamping" "bending" "welding")
名前はそれぞれ、プロパティリストとして工程を指定する同じ名前のテーブルを指している必要があります。
(sha-define-shop-table "production_process"
:keyword1 value1
:keyword2 value2
...
)
詳細については、下記の 特殊な生産工程の設定を参照してください。
リレーションテーブルによる自動選択で説明されている工程リレーションテーブルでは、この名前を使用して工程を構築します。
リレーションテーブルによる自動選択
特殊なリレーションテーブルとリレーション関数を定義して、パーツの生産工程を自動化します。
ショップ定義ファイルの sha-define-shop セクションでキーワード :PROCESS-RELATIONS に続けて、次のようにテーブルを定義します (sha_demoshop.lsp にある例を参照)。
:PROCESS-RELATIONS "process-relations"
同じ名前でショップテーブルを作成します。例: sha-define-shop-table "process-relations"
このテーブルで、パーツに必要な工程を選択する関数で使用するショップパラメータを指定します。通常は、特定の生産工程の利用を意味する材質と厚さの依存関係に基づいてリレーションを作成します。
次に例を示します。
(sha-define-shop-table "process_relations"
:COLUMNS
(:MATERIAL :MIN_THICK :MAX_THICK :PROCESSES)
:UNITS
(nil :mm :mm nil)
:CONTENTS
(
("UST 1203" 1.00 9 ("laser_cutting" "punching" "stamping" "bending" "welding"))
("UST 1203" 9 50 ("flame_cutting" "welding"))
)
:KEY (:MATERIAL :MIN_THICK :MAX_THICK)
)
ここで注目すべきは、材質の厚さの範囲と、その範囲で使用可能な工程との関係です。
やはりショップ定義ファイルの sha-define-shop セクションで、キーワード :PROCESS-SELECTION-FNC に続けて関数を定義します。たとえば、:PROCESS-SELECTION-FNC sh-needed-shop-processes です。このような関数の例として、sh-needed-shop-processes が sha_demoshop_func.lsp ファイルにあります。パーツで使用される工程とリレーションテーブルを解析した結果に基づいて、この関数は以下を返します。
工程のリスト
各工程をメニューに表示するかを示すキーワード
そのプロセスをデフォルトで生産用に選択するかを示すキーワード
次に例を示します。
((:process "Punching" :visible t :valid t) (:process "Stamping" :visible t :valid nil). . .)
特殊な生産工程の設定
1. 生産工程の図面設定と文書設定を定義して、特殊な工程テーブルで 一般オプションの設定をオーバーライドします。
2. 上記のキーワード :PRODUCTION-PROCESSES で指定されたリストからテーブルの名前を選択します。
* 
特殊工程テーブルは、図面オプションと文書オプションの両方を含むことがありますが、データベースオプションは含みません (指定した場合は無視されます)。
たとえば、sha_demoshop.lsp ファイルの sha-define-shop-table "bending" を参照してください。
一時的 3D 編集のオプション
複数展開工程で対話的または自動的に呼び出せる外部関数を定義して、生産の特定の状態を反映した図面とレポートを作成します。この外部関数はパーツを一時的に変更し、工程が完了すると変更は元に戻されます。
1. ショップ定義ファイルの sha-define-shop-table セクションで、キーワード :EXTERNAL-OPTIONS に続けて 3D 編集オプションを定義します。
以下に例を示します。
:EXTERNAL-OPTIONS
("chamfer-option"
"change-color"
)
; example for customer definable 3D data preparation
; example for customer definable 2D data preparation
2. オプションごとに、プロパティリスト (:keyword1 :value1 :keyword2 :value2 ...) で構成されるテーブルを作成して、メニュー項目、パラメータセット、編集を実行する関数を定義します。
外部関数テーブルは以下のパラメータによって構成されます。
TITLE
<string> オプションボタンのタイトル。「複数展開」ダイアログボックスの「コンテンツ情報」の「図面」ダイアログボックスに表示されます。
INIT-STATE
[ t | nil] t= この変数の初期状態 (グローバルまたは特殊な図面オプション設定で上書きされていない場合)。
EVAL-WHEN
[t | nil] t= ボタンが設定されている (=true) ときに :FUNCTION にリストされている関数を実行します。nil= ボタンが NIL のときに関数を実行します。
FUNCTION
<function-pointer> 「プレビュー」がクリックされたときに、適切なボタン状態 (t | nil) に従って実行する関数。
OPTION-KEY
<:keyword> グローバルまたは特別な図面設定オプションのキーワードで、このボタンの初期状態を定義します。
DEPENDENCIES
[<property list> | nil] キーワードと値のペアのリスト。このオプションを対話的に設定するときに変化する可能性のあるほかのオプションに対する依存関係を示します。たとえば、(:TOPPART_ONLY t) は、この関数を実行する前に :TOPPART_ONLY フラグを自動的に設定することを意味します。
* 
複数の依存関係を定義すると、条件が競合する可能性があります。その場合は、最後の定義がすべての競合をオーバーライドします。
例については、sha_demoshop.lspsha-define-shop-table "chamfer-option" を参照してください。
2D 編集のオプション
テキストや曲げ線のような 2D 展開図データ、および、3D 要素の特殊な 2D 表現を編集するには、 展開図に対する情報出力の制御を使用して、特定の集合体を特殊な 2D 図形に置換するか、「参照点」、「結合線」、「トップ パーツのみ」、「スプライン変換」を使用します。:MACRO-EARLY と :MACRO-LATE を使用して 2D 編集を実装することもできます。:MACRO-EARLY で指定した関数は置換関数が実行された後、直接実行されます。一方、:MACRO-LATE で指定した関数は (内部オプションも含め) ほかの関数がすべて実行された後、実行されます。
置換マクロ
Early Macro
Late Macro
置換マクロ
PUNCH、STAMP、BEND、RELIEF、CORNER-RELIEF の集合体を、:REPLACEMENT-INFO キーワードに続けてマクロ名とパラメータを指定して、ショップデータベースに定義します。たとえば、:REPLACEMENT-INFO ("sha_rnd_crn_relief_repl {1}" :DIA) です。
マクロはパーツに修正を適用し、パーツは 2D 図面に転送されます。マクロはアクションを含むこともありますが、通常、マクロは同じ集合体情報を持つ要素に対してだけ動作して、たとえば、簡略化した 3D 表現を 2D 表現に置き換えます。
カスタマイズを完了するには、マクロファイルをロードするステートメントをファイル personality/SheetAdvisor/replacement_fncs/sha_replacement_initialize.asc に追加します。
Early Macro
ショップファイルに :MACRO-EARLY エントリを定義して、置換マクロとは独立して展開図に対して行う変更を作成します。
このマクロは置換マクロの後、直接実行されます。置換マクロがない場合、これが 2D 展開図データに対して実行される最初のマクロになります。
定義はショップデータベースの sha-define-shop-table セクションに存在する必要があります。
構文は次のとおりです。
:MACRO-EARLY {<string> | <list of strings> | <function-pointer returning a string or list of strings>}
以下に例を示します。
:MACRO-EARLY sha-change-color-red.
各文字列は (直接定義した場合も、関数からの戻り値の場合も) 展開図に対して実行する一連の Creo Elements/Direct Annotation または Creo Elements/Direct Drafting のコマンドを含む必要があります。
:MACRO-EARLY キーワードは、ショップデータベースの sha-define-shop-table セクションのプロパティリストテーブルの 1 つに記述する必要があります。プロパティリストテーブルは sha-define-shop セクションのキーワード :EXTERNAL-OPTIONS の後にリストする必要があります。例は、sha_demoshop.lsp ファイルを参照してください。2D コマンドリスト sha-change-color-red. を作成する関数の例は、sha_demoshop_func.lsp を参照してください。
Late Macro
ショップファイルに :MACRO-LATE エントリを定義して、ほぼ準備が整った 2D データに最後の変更を加えます。:MACRO-LATE はほかのマクロがすべて実行された後に実行されます。定義はショップデータベースの sha-define-shop-table セクションに存在する必要があります。
構文は次のとおりです。:MACRO-LATE {<string> | <list of strings> | <function-pointer returning a string or list of strings>}. 例: :MACRO-LATE "CHANGE_COLOR WHITE SELECT ALL CONFIRM END"
各文字列は (直接定義した場合も、関数からの戻り値の場合も) 展開図に対して実行する一連の Creo Elements/Direct Annotation または Creo Elements/Direct Drafting のコマンドを含む必要があります。
:MACRO-LATE キーワードは、ショップデータベースの sha-define-shop-table セクションのプロパティリストテーブルの 1 つに記述する必要があります。プロパティリストテーブルは sha-define-shop セクションのキーワード :EXTERNAL-OPTIONS の後にリストする必要があります。例は、sha_demoshop.lsp ファイルを参照してください。2D コマンドリスト sha_demoshop_func.lsp を作成する関数の例は、sha-change-color-red を参照してください。
外部後処理
外部後処理タスクを起動するには、起動するプロセスを自動的に作成するか、または、Postprocess ボタンを使用して作成します。たとえば、フォローアップワークフロータスクのトリガを作成することも、データを操作する外部プログラムを呼び出すこともできます。
後工程関数
属性の後工程での追加
後工程関数
SHA_MULTI_UNFOLD コマンドは、「定義」メニューに「対話型」と「ショップ設定」という 2 つのオプションがあります。「ショップ設定」オプションでは多くの利用可能な工程を定義するのに対し、「対話型」オプションでは 1 つの工程の定義、つまり、1 つの展開図と 1 つの文書の定義だけが可能です。
ショップファイルには、「ショップ設定」にリストされる各工程の設定が含まれています。すべての工程を自動的に実行するには、「ショップ設定」オプションを使用します。「対話型」オプションは、ショップ版ができるまでの間、または工程に例外がある場合、または、各工程で利用可能なオプションの種類を確認する場合に使用します。「対話型」オプションの場合、追加の工程を起動するボタンを作成することもできます。このボタンは、「後工程」をクリックすると表示されます。
ショップファイルの sha-define-shop-table セクションで :POSTPROCESS-SETTINGS キーワードに続けて後工程設定テーブルの名前を指定して、後工程関数を定義します。
以下に例を示します。
:POSTPROCESS-SETTINGS "postprocess-settings"
後工程設定テーブルには、メニューのボタンのラベルを指定する :TITLE <string> と、ユーザ定義関数へのリンクである :FUNCTION <function pointer> の少なくとも 2 つのエントリを持つプロパティリストが必要です。以下に例を示します。
(sha-define-shop-table "postprocess-settings"
:TITLE "Postprocess"
:FUNCTION sha-shop-postprocess-function
)
この関数は広範なパラメータをとります。例として、サンプルファイル sha_demoshop_func.lspsha-shop-postprocess-function, を参照してください。
メニューの「Postprocess」ボタンをクリックして、後工程関数を対話的に開始します。キーワードと値のペア :POSTPROCESS t:DRAWING-SETTINGS で指定したテーブルに追加して、この操作を自動化します (sha_demoshop.lsp 内の例を参照)。
追加工程の起動ボタンを定義する対話型の後工程関数の例としては、sha_demoshop.lspsha_unfold_post_process_dialog を参照してください。
属性の後工程での追加
展開図作成時に計算された属性をモデルに追加するには、グローバル変数 sheet-advisor::*sha-attribute-post-processing* を定義します。MULTI_UNFOLD コマンドの最後にこれがチェックされて実行されます (nil でない場合)。この変数は、関数ポインタと適切なパラメータのリストから構成される 2 値のリストを含む必要があります (LISP 構文リファレンスで LISP 関数 apply の構文を参照してください)。例については、sha_demoshop.lsp を参照してください。
このような属性の例を以下に挙げます。
本体の重量 (曲げゾーンでの引き伸ばしや 3D の簡略表示によって、3D では正確でない可能性があります)
展開時のサイズ
計算されたコスト