コマンドライン オプション

Cutting Plannerの欠点はデータ入力が面倒なところにあります。在庫データや、図面など、他のソフトからのデータ移行を容易にするためにコマンドラインオプションで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ファイルを作成することはできます(ファイル形式を参照)。

入力系オプション1

"xxxx.recx" or "xxxx.xml"

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


入力系オプション2

CSV形式のデータを読ませるときは /Problem /K= /R= などの各オプションも重要となります。

指定しなければ以前終了した時の設定となってしまいますので、間違い防止のために、同時指定してください。

テキストの文字コードは Shift-Jis または BOM付きUnicodeテキストの自動判別です。


/Problem=1D or 2D

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

/PartsPanel ="xxxx.csv"

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

特に部材の回転の可否を個別設定している場合は /R=2 にしなければその情報が欠落します。

/StocksPanel ="xxxx.csv"

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

/FirstUsageStocksPanel ="xxxx.csv"

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


/LengthFormat=

長さの形式を指定します。これが無指定で、CSVファイルの指定があり、日本語環境の場合は小数点に自動設定されます。

ftDecimal, 小数点

ftFeetDecimalInches, フィートと小数点インチ

ftFactionalInches, 分数インチ

ftFeetFractionalInches, フィートと分数インチ


/Precision=

精度を指定します。小数点の桁数[0, 1, 2]。または分母の値[8, 16, 32, 64, 128]を指定します。

/D=は過去のバージョンの互換性のため、長さの形式が小数点の場合のみ同様に使用可能です。

無指定の場合はCSVデータの内容から自動設定します。

/K=

アサリ寸法を指定します。値の範囲は/Precision= または /D=で指定した小数部分の桁数によります。

無指定の場合は前回終了した時の値が設定されます。


/R=x

回転の可否を 可=0 不可=1 個別=2 で指定します。

特に部材リストのCSVファイルに個別設定の情報がある場合、/R=2 にしなければその情報が欠落することになります。

無指定の場合は前回終了した時の値が設定されます。


/SearchLevel=

配置探索レベル、無指定の場合は前回終了した時の値が設定されます。


/CutTableLength=

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


/MinimumSearchTime=

最小探索時間。単位は秒。


/Material=

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


/Thickness=

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


出力系

/Run

起動してすぐに配置計算を実行します。終了後、即アプリを終了しますので以下の保存オプションと組み合わせます。

入力には上記の入力系オプションを使用します。


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

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


/SavePartsData="xxxxxx.csv"

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

1次元-部材番号, 長さ, 枚数, コメント, 単価, 未配置枚数

2次元-部材番号, 横, 縦, 枚数, 回転の可否, コメント, 単価, 未配置枚数

で構成されるCSV形式です。


/SaveStocksData="xxxxxx.csv"

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

1次元-原版番号, 長さ, 使用枚数, コメント, 単価, 優先使用材

2次元-原版番号, 横, 縦, 使用枚数, コメント, 単価, 優先使用材

で構成されるCSV形式です。


/SaveRemnantsData="xxxxxx.csv"

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

1次元-長さ, 枚数

2次元-横, 縦, 枚数

で構成されるCSV形式です。


/ErrorLog="xxxxxx.txt"

コマンドラインオプションに何らかの間違いがあったときのエラー内容をテキストファイルに出力します。

指定したファイルが存在する場合は最後に内容を追加します。

文字コードは/Encoding=オプションに従います。終了コードを参照。


/Encoding=

CSVファイル及びErrorLogの文字コードを指定します。以下のいずれかです。Shift-Jisの場合はANSIを指定します。無指定は ANSI(Shift-Jis)です。

Unicode系はBOM付きテキストファイルとなります。

ANSI、ASCII、Unicode、BigEndianUnicode、UTF8、UTF7


終了コード

コマンドラインオプションの指定に間違いがあるなど正常に実行できなかった場合は終了コードに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 無効な値です:/P
if %ERRORLEVEL% ==  59 echo 無効な値です: /LengthFormat
if %ERRORLEVEL% ==  60 echo 無効な値です: /Precision
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% == 221 echo エラーコードリストの出力ができませんでした.
pause


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

本来ストアアプリはコマンドラインオプションを利用できないのですが

"Cutting Planner CMD Support tool" を使うことで利用可能です。

エラーコードは出ませんので/ErrorLog=でファイルにしてから参照します。


使い方:

上記のリンク先からダウンロードする。

CuttingPlannerCMD.exe と StartCuttingPlanner.bat を同じフォルダに入れる。

CuttingPlannerCMD.exe にコマンドラインオプションを付けて実行する。


仕組み:

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