Q. BricsCAD®でスクリプトを実行できますか?
A. 出来ます。
BricsCADには、コマンドの流れを記述して実行するスクリプト機能が搭載されています。(BricsCAD Lite から使えます。)
スクリプトは、定型の作業を効率化をするために使用したりしますが、BricsCAD の場合、処理内容に幅が持たせられる LISP APIを Liteから利用できるので新規にカスタマイズする場合、スクリプトの出番は少ないかもしれません。ただ、LISP でプログラムを作成する際にコマンド・ステップを記録するために補助的に利用することもあります。(LISPでは、Command関数でスクリプトっぽい記述をすることがあります。)
スクリプトの記述と実行方法
スクリプトは拡張子 .scr のファイルにテキストを記述する形で作成します。
いちばん簡単なスクリプトの作成方法は、「スクリプト記録開始」(_RECSTCRIPT)と「スクリプト記録停止」(_STOPSCRIPT)の機能を使用することです。
「スクリプト記録開始」の機能を実行して、スクリプトファイルの保存場所とファイル名前を設定してから、BricsCADを普通に操作していくと、操作がトレースされる形でスクリプトファイルに書き込まれていきます。
記録したい操作が終了したら、「スクリプト記録停止」の機能を実行すると、スクリプトファイルへ保存されて記録が完了します。
スクリプトファイルの記述内容
次の例は、PDFを挿入コマンドで特定のファイルを読み込むサンプルです。
1行に1つのステップが記述されています。
filedia
0
-PDFIMPORT
f
"c:/bcad_samples/bcadv24_print as pdf.pdf"
1
0,0
100
0
filedia
1
スクリプトの記録では、ダイアログボックスやパネルの操作は記録されません。そのため、記録したスクリプトの内容を実行する場合、記述の調整や、スクリプトで実行することを前提とした操作を行って記録することが必要になることがあります。
上記の例でいうと、filedia 0 → filedia 1 の設定変更がそれに当たります。
スクリプトファイルの実行
記録されたスクリプトファイルは「スクリプト実行」のコマンドからファイルを選択することで、操作内容の再現をして実行される流れになります。
スクリプトのコメントアウト
長い処理を記録したり、手書きで書いたりする場合、なんの処理をしているか後でわかりやすくするためにコメントを書いておきたいときがあります。
その場合、スクリプトファイルに ;(セミコロン)を入力すると、その行のセミコロンよりあとの文字はコメントとして扱われます。
前述のスクリプトを例にコメントを入れてみると次のように記述することが出来ます。
; PDF読み込みサンプル
; ファイルダイアログをコマンドライン表示に変更
filedia
0
; PDFを読み込みを実行
-PDFIMPORT
f
; 読み込むファイルのパス
"c:/imports/my-house/plan-a.pdf"
1
; 挿入基点
0,0
; 挿入尺度
100
; 挿入角度
0
; ファイルダイアログをダイアログ表示に変更
filedia
1
スクリプトに関連した機能とシステム変数は次のとおりです。
コマンドと概要
DELAY [タイマー]:スクリプト内での待ち時間を設定します。
RECSTCRIPT[スクリプト記録開始]:スクリプトファイルの記録を開始します。
RESUME[スクリプト再開]: 中断されたスクリプトを再開します。スクリプトを中断するには、[Backspace]キーを押します。
RSCRIPT[ファイル実行ループ]: スクリプト ファイルを繰り返し実行します。
SCRIPT[スクリプト実行]:スクリプト ファイルを実行します。
STOPSCRIPT[スクリプト記録停止]:スクリプトファイルの記録を停止します。
先頭に ‐ のつくコマンド: 先頭に "‐" マイナスのつくコマンドは、主にダイアログが表示される機能に対して、ダイアログを表示せずにコマンドラインで処理するコマンドとして機能します。
コマンド例: -insert, -hatch, -array, -block, -layer, -change, -import など
システム変数と概要
CMDDIA:特定コマンドでのダイアログ ボックスの表示をコントロールします。 (初期値=1 - ダイアログ表示)
FILEDIA: ファイル選択ダイアログ ボックスの表示をコントロールします。(初期値=1 - ダイアログ表示)
なお、BricsCAD にはスクリプトからスクリプトを呼び出して処理する SCRIPTCALL のコマンドはありません。複数ファイルに対する処理を行う時に良く利用されますが、このような処理が必要な場合は LISP API を利用した形で作り込みを行うことをおすすめします。
以上、スクリプトファイルの実行について解説しました。
BricsCAD のスクリプト機能は、AutoCAD® のスクリプト機能を踏襲した作りとなっています。
AutoCAD® で使用していたスクリプトファイルを流用して使うことも可能です。コマンドのオプションや機能に違いがある部分は、手直しする必要がありますが、多くのものは細かなステップの調整レベルで使えると思いますので、移行を検討される場合は体験版で試してみて下さい。
では、よいCADライフを!💬