コマンドラインオプション(作業の自動化)

Cutting Plannerの欠点はデータ入力が面倒なところにあります。在庫データや、図面など、他のソフトからのデータ移行を容易にするためにコマンドラインオプションでCSVデータを読ませることができます。コマンドラインオプションを活用することで、他のソフトウェアと連携させることができます。もしCSV形式での出力では情報不足の場合、.recx ファイルには計算結果のすべてが出力さてています。

 

RectPacker.exe "[filename.recx]" /PartsBoard="[filename.csv]" /SourceBoard="[filename.csv]" /Save="[filename.recx]" /D=[x] /K=[x] /=R=[x] /H=[x] /Run [ ]の 内容を適宜変更します。

 

スペース付きに対応するため、ファイル名は" "で囲むようにしてください。
アプリのファイル名は旧名のままRectPacker.exeです。

 

コマンドラインオプションについては複数シートに対応しておりません。コマンドラインが複雑になりすぎるためです。ただし、複数シートが入った.recxファイルを作成することはできます(.recx  ファイル仕様を参照)。

 

 

システム開発のための試用期間の延長について

Cutting Plannerと他のソフトウェアと連携するシステムを作成する場合、30日間の試用期間では少なすぎる場合があります。この場合、一時的な期間限定のライセンスキーを無償で発行することも可能です。受託開発する場合はその外部業者に対して発行いたします。弊社では受託開発自体は行っておりませんが、本ソフトウェアとの連携に必要なインターフェースをコマンドラインオプションの追加などで対応することは可能です。詳しくはお問い合わせください。

 

入力系オプション1

"xxxx.recx" or "xxxx.xml"
起動時に読み込む.recx, xmlファイルを指定します。入力系2のオプションとは同時使用できません。

 

csvファイルのフォーマットについて

アプリ左側の表と同じです。例えば、部材の場合
"コメント","横","縦","枚数"

 

[ワークシート]-[シートのプロパティ]で[部材回転]を[個別設定]
にしている合は、(コマンドライン上の設定は /R=2 )
"コメント","横","縦","枚数","回転" となります。
回転は 可=1 否=0 です。

 

入力系オプション2

CSV形式のデータを読ませるときは /Problem /K= /R= などの各オプションも重要となります。
指定しなければ以前終了した時の設定となってしまいますので、間違い防止のために、同時指定してください。
テキストの文字コードは Shift-Jis または BOM付きUnicodeテキストです。BOMの有無で判別しています。
スペースが入ると別名のオプションとなってしまいますので注意してください。
OK /Problem=1D
NG /Problem= 1D
NG /Problem =1D

 

/Problem=1D or 2D

最適化問題の1次元または2次元を指定します。

 

/PartsPanel="xxxx.csv"

起動時に読み込むCSV形式の部材リストを指定します。
特に部材の回転の可否を個別設定している場合は /R=2 にしなければその情報が欠落します。

 

/StocksPanel="xxxx.csv"

起動時に読み込むCSV形式の原板リストを指定します。

 

/SmallSourcePriorityPoint=

小さい方の原板を使用する優先度を指定します。

 

/FirstUsageStocksPanel="xxxx.csv"

起動時に読み込むCSV形式の優先使用材リストを指定します。

 

/LengthFormat=

長さの形式を指定します。フィートインチは米国向け機能です。

 

ftDecimal, 小数点
ftFeetDecimalInches, フィートと小数点インチ
ftFactionalInches, 分数インチ
ftFeetFractionalInches, フィートと分数インチ

 

/SameSizePartsMerge=

同一サイズの部材を統合します。統合は 1、別にするときは0を指定。

 

/Precision=

精度を指定します。小数点の桁数[0, 1, 2]。または分母の値[8, 16, 32, 64, 128]を指定します。
/D=は過去のバージョンの互換性のため、長さの形式が小数点の場合のみ同様に使用可能です。
無指定の場合はCSVデータの内容から自動設定します。

 

/K=

アサリ寸法を指定します。値の範囲は/Precision= または /D=で指定した小数部分の桁数によります。
無指定の場合は前回終了した時の値が設定されます。

 

/R=x

回転の可否を 可=0 不可=1 個別=2 で指定します。
特に部材リストのCSVファイルに個別設定の情報がある場合、/R=2 にしなければその情報が欠落することになります。
無指定の場合は前回終了した時の値が設定されます。

 

/SearchLevel=

配置速度と探索数(配置探索レベル)、値1~4、無指定の場合は前回終了した時の値が設定されます。
Ver. 11のバージョンアップで1次元のアルゴリズムを大幅に書き換えました。従来バージョンより時間をかけることでより高精度な解を算出します。1次元でこの設定の値を1にした場合がおおよそ前バージョンの精度と計算速度に相当します。これに伴い、Ver10.8以前は5段階でしたが旧の2を削除しました。旧の5が4になりますのでご注意ください。

 

/CutTableLength=

切断機の最大切断長・未指定は無制限

 

/MinimumSearchTime=

最小探索時間: 2Dのみ。単位は秒。

 

/ConvergenceJudgmentTime=

収束判定時間 : 1Dのみ。単位は秒。

 

/Material=

素材名を指定します。ファイル保存させた場合、指定の名前が.xmlファイル内に埋め込まれます。

 

/Thickness=

厚さを指定します。 ファイル保存させた場合、指定の名前が.xmlファイル内に埋め込まれます。

 

/TopTrimSize= /BottomTrimSize= /LeftTrimSize= /RightTrimSize=

トリミングのサイズを指定します。
1次元時の左右は /LeftTrimSize= /RightTrimSize= のみが有効となります。

 

/PlacementRemnants1D=

端材の残し方(1D)
工程数優先: lrProcesses
残材長さ優先: lrRemnants

 

/PartsLayout=

部材の向き 以下のいずれかを指定

  • 1次元
    Left
    Right

  • 2次元
    LeftTop
    LeftBottom
    RightTop
    RightBottom

出力系

 

/Run

起動してすぐに配置計算を実行します。終了後、即アプリを終了します。以下の保存オプションと組み合わせて使用します。
その保存オプションはRunと併用した場合のみに有効です。
入力には上記の入力系オプションを使用します。

 

/Save="xxxxxx.recx" or "xxxxxx.xml"

/Runと組み合わせて配置計算の保存先を指定します。

 

/SavePartsData="xxxxxx.csv"

/Runと組み合わせて[ファイル]-[エクスポート]-[配置済み部材リスト]メニューと同じ内容を出力します。
どの原板から採られた部材であるかわかるようになっています。
複数種類の原板に配置されている場合は同じ部材が複数行に渡ります。

 

1次元の場合のCSV形式
部材番号,サイズ,枚数,回転の可否,コメント,単価,未配置枚数,原板番号,原板のコメント,原板サイズ,その原板に配置された枚数

 

2次元の場合のCSV形式
部材番号,横サイズ,縦サイズ,枚数,回転の可否,コメント,単価,未配置枚数,原板番号,原板のコメント,原板の横サイズ,原板の縦サイズ,その原板に配置された枚数

 

/SaveStocksData="xxxxxx.csv"

/Runと組み合わせて[ファイル]-[エクスポート]-[配置済み原板リスト]メニューと同じ内容を出力します。

 

1次元の場合のCSV形式
原板番号, 長さ, 使用枚数, コメント, 単価, 優先使用材

 

2次元の場合のCSV形式
原板番号, 横, 縦, 使用枚数, コメント, 単価, 優先使用材

 

/SaveRemnantsData="ファイル名"

/Runと組み合わせて端材のリストを出力します。配置図番号とはアプリの計算結果として表示される図に重複しない番号をつけたものです。
下記/SaveTextReport=と組み合わせることでどの図から出た端材であるかわかるようになっています。

 

番号は手動で図を入れ替えられるようになったためアプリの表示順とは限りません。

 

1次元の場合のCSV形式
端材の幅,枚数,原板番号,原板のコメント,原板のサイズ,配置図番号

 

2次元の場合のCSV形式
端材の幅,端材の高さ,枚数,原板番号,原板のコメント,原板の横サイズ,原板の縦サイズ,配置図番号

 

/SaveTextReport="ファイル名"

 

指定したファイル名の拡張子がCSV以外の場合

1次元
アプリの下方に表示される数式っぽい結果を出力します。

 

2次元
[ファイル]-[エクスポート]-[結果のテキストを保存]と同じ内容をファイルに出力します。

 

ファイル名の拡張子を.CSVにした場合

過去のバージョンとの互換性のため場合分けをする仕様となっております。

 

1次元
原板のコメント,原板のサイズ,この配置図の歩留まり,部材のコメント,部材のサイズ,部材の枚数,配置図番号

 

2次元
原板のコメント,使用原板の横サイズ,原板の縦サイズ,この配置図の歩留まり,部材のコメント,部材の横サイズ,部材の縦サイズ,部材の枚数,配置図番号

 

エラー番号は214です。

 

/ErrorLog="xxxxxx.txt"

コマンドラインオプションに何らかの間違いがあったときのエラー内容をテキストファイルに出力します。
指定したファイルが存在する場合は最後に内容を追加します。
文字コードは/Encoding=オプションに従います。終了コードを参照。

 

/Encoding=

CSVファイル及びErrorLogの文字コードを指定します。以下のいずれかです。Shift-Jisの場合はANSIを指定します。無指定は ANSI(Shift-Jis)です。
Unicode系はBOM付きテキストファイルとなります。

 

ANSI、ASCII、Unicode、BigEndianUnicode、UTF8、UTF7

 

 

自動印刷系

 

/Print

コマンドラインで指定のrecxまたは/Runで自動計算させたファイルを印刷して自動で終了します。
これより下のオプションは/Printと同時に指定した場合のみに有効です。

 

/PrinterOrientation=

用紙の向き 以下のいずれかを指定。/Printと同時に指定した場合のみに有効です。
poPortrait ページを垂直方向に印刷する
poLandscape ページを水平方向に印刷する

 

/PrinterCopies=

印刷部数を指定します。/Printと同時に指定した場合のみに有効です。

 

/PrinterName=

使用するプリンタを指定します。スペース付きは""で囲みます。/Printと同時に指定した場合のみに有効です。
例:/PrinterName="Microsoft Print to PDF"

 

/PrintPort=

"Microsoft Print to PDF" をプリンタに指定したとき、PDFにするファイル名を指定します。スペース付きは""で囲みます。/Printと同時に指定した場合のみに有効です。
例:/PrintPort="D:\Test.pdf"

 

未指定の場合は、印刷したときにファイル名をつけるためのダイアログボックスが表示されます。
この機能は、プリンタドライバ側の仕様に依存します。他のPDF作成ソフトでの動作は確認しておりません。

 

終了コード

コマンドラインオプションの指定に間違いがあるなど正常に実行できなかった場合は終了コードに0以外の値が設定されます。

 

以下は終了コードの値と内容、使い方のサンプルです。終了コードは一つしか出ませんので複数を取得したい場合は/ErrorLog=オプションを利用します。

@echo off
RectPacker.exe /Problem=2D /PartsPanel="parts_test.csv" /StocksPanel="stocks_test.csv" /D=1 /K=3 /R=1 /Run
if %ERRORLEVEL% == 11 echo 強制終了されました.
if %ERRORLEVEL% == 21 echo ライセンスがありません.
if %ERRORLEVEL% == 31 echo 配置できなかった部材があります.
if %ERRORLEVEL% == 51 echo 無効な値です:/Problem=
if %ERRORLEVEL% == 52 echo 無効な値です:/D=
if %ERRORLEVEL% == 53 echo 無効な値です:/K=
if %ERRORLEVEL% == 54 echo 無効な値です:/R=
if %ERRORLEVEL% == 55 echo 無効な値です:/SearchLevel=
if %ERRORLEVEL% == 56 echo 無効な値です:/CutTableLength=
if %ERRORLEVEL% == 57 echo 無効な値です:/MinimumSearchTime=
if %ERRORLEVEL% == 58 echo 無効な値です:/SmallSourcePriorityPoint
if %ERRORLEVEL% == 59 echo 無効な値です: /LengthFormat
if %ERRORLEVEL% == 60 echo 無効な値です: /Precision
if %ERRORLEVEL% == 61 echo 無効な値です: /ConvergenceJudgmentTime
if %ERRORLEVEL% == 111 echo ファイルが存在しません.:/PartsPanel=
if %ERRORLEVEL% == 112 echo リストの一部に範囲外の値があります.:/PartsPanel=
if %ERRORLEVEL% == 113 echo 無効なデータです.:/PartsPanel=
if %ERRORLEVEL% == 121 echo ファイルが存在しません.:/StocksPanel=
if %ERRORLEVEL% == 122 echo リストの一部に範囲外の値があります.:/StocksPanel=
if %ERRORLEVEL% == 123 echo無効なデータです.:/StocksPanel=/FirstUsageStocksPanel=
if %ERRORLEVEL% == 131 echo ファイルが存在しません.:/FirstUsageStocksPanel=
if %ERRORLEVEL% == 132 echo リストの一部に範囲外の値があります.:/FirstUsageStocksPanel=
if %ERRORLEVEL% == 141 echo 利用できない名前が指定されています.:/Material=
if %ERRORLEVEL% == 201 echo 無効な値です:/Encoding=';
if %ERRORLEVEL% == 211 echo 配置済み部材データの出力ができませんでした.
if %ERRORLEVEL% == 212 echo 配置済原板データの出力ができませんでした.
if %ERRORLEVEL% == 213 echo 残材データの出力ができませんでした.
if %ERRORLEVEL% == 214 echo 結果のテキストを保存の出力ができませんでした.
if %ERRORLEVEL% == 221 echo エラーコードリストの出力ができませんでした.
if %ERRORLEVEL% == 231 echo 無効な値 部材の向き /PartsLayout= (LeftTop, LeftBottom, RightTop, RightBottom)
if %ERRORLEVEL% == 241 echo 無効なプリンタ名 /PrinterName=
if %ERRORLEVEL% == 242 echo プリンタの指定ができません.
if %ERRORLEVEL% == 243 echo 無効な値 /PrinterOrientation= (poPortrait, poLandscape)
if %ERRORLEVEL% == 244 echo 印刷向きが設定できません.
if %ERRORLEVEL% == 245 echo 無効な値 /PrinterCopies=
if %ERRORLEVEL% == 246 echo 印刷部数の設定ができません.
if %ERRORLEVEL% == 247 echo 印刷でエラーが発生しました.
if %ERRORLEVEL% == 250 echo 無効な値 /PlacementRemnants1D= (lrProcesses, lrRemnants)
pause

 

 

 

ウインドウズストアアプリ版でコマンドラインオプションを利用する方法

(ストアアプリは現在配布しておりません)
本来ストアアプリはコマンドラインオプションを利用できないのですが

 

"Cutting Planner CMD Support tool" を使うことで利用可能です。
エラーコードは出ませんので/ErrorLog=でファイルにしてから参照します。

 

使い方:

上記のリンク先からダウンロードする。
CuttingPlannerCMD.exe と StartCuttingPlanner.bat を同じフォルダに入れる。
CuttingPlannerCMD.exe にコマンドラインオプションを付けて実行する。

 

仕組み:

CuttingPlannerCMD.exe はコマンドラインオプションをテンポラリファイルとして保存し、StartCuttingPlanner.batを起動します。
StartCuttingPlanner.bat はスタートメニューの検索にCutting Planner という文字を直接入れて実行します。
ストアアプリのCutting Plannerは直前に作られたテンポラリファイルを検索しその内容を参照します。
テンポラリファイルを削除します。