BricsCAD®の最も明確なプログラミングの可能性はスクリプトです。この投稿では、スクリプトの記述方法と、BricsCADの組み込みのスクリプト記録機能の使用方法について学びます。


この投稿では、次のトピックについて説明します。


スクリプトとは何ですか?

スクリプトは、キーボードで入力した内容を模倣します。 ‘:’コマンドプロンプトで入力したものはすべて、スクリプトファイルに入れることができます。これには、BricsCADコマンド、そのオプション、ユーザーの応答、およびLISPコードが含まれます。

ただし、ダイアログボックスやツールバーボタンの選択など、マウスアクションをスクリプトファイルに含めることはできません。スクリプトは厳密にキーボード指向です。

スクリプトの目的は、入力するキーストロークの数を減らすことです。キーストロークと座標ピックをファイルに配置することにより、ファイルは以前に入力されたコマンドを再実行します。 (マクロの前身としてスクリプトを考えてください。)

線と円を描くスクリプトファイルは次のようになります。

行1,1 2,2
サークル2,2 1

このスクリプトでは、 ライン コマンドが開始され、(1,1)と(2,2)の2組のx、y座標が与えられます。 Circleコマンドが開始され、中心点(2,2)と半径(1)が与えられます。非表示は、各行の終わりにある余分なスペースです。これは、スペースバーを押してコマンドを終了するようなものです。この投稿では、この文字で隠されたスペースを示しています。 .

スクリプトは、 .scr 拡張。スクリプトファイルは、プレーンASCIIテキスト形式で構成されています。このため、Libre Officeなどのワードプロセッサは使用しないでください。代わりに、スクリプトを作成するには、Windowsのメモ帳などのテキストエディターを使用します。 Linuxではテキスト編集、Macではテキスト編集.

BricsCADスクリプト作成コマンドを使用できます RecScript (「スクリプトの記録」の略)スクリプトを記録します。または、コマンドテキストをに直接入力することもできます。scr ファイル:私がDOSのように感じたとき パワーユーザー、 Windowsコマンドプロンプトでスクリプトを記述します( ウィンドウズ+ R、次に Cmd コマンド):

C:\ > コピーコン
filename.scr;これはスクリプトファイルです
line▄1,1▄2,2▄
サークル▄2、2▄1▄

終わったら、 Ctrl + Z 編集が終了したことをオペレーティングシステムに通知し、ファイルを閉じます。

スクリプトへの引き戻し

スクリプトの制限は、一度に1つのスクリプトファイルしかBricsCADにロードできないことです。ただし、スクリプトファイルは別のスクリプトファイルを呼び出すことができます。または、他のカスタマイズ機能を使用して、ツールボックス、メニューマクロ、LISPルーチンなどの追加のスクリプトファイルをロードすることもできます。

もう1つの制限は、スクリプトが無効なコマンド構文を検出すると停止することです。スクリプトを正しくするために、コードデバッグサイクルを数回実行する必要がある場合があります。

すべてのコマンド名とそのオプションをリストするBricsCAD参照テキストを手元に用意しておくと便利です。

厳密にコマンドライン指向

この時代のGUI(グラフィカルユーザーインターフェイス)では、もう1つの制限が重要です。スクリプトでは、マウスの動きやダイアログボックスのアクションを制御できません。これは、ダイアログボックスを表示するほとんどすべてのコマンドにも同等のコマンドラインがあるためです。しかし、コマンドによって、これは異なる方法で処理されます。

  • 一部のコマンドには異なる名前があります。たとえば、レイヤーを制御するために、 ダイアログボックスと -層 コマンドライン用。スクリプトでレイヤーを作成または変更する必要がある場合は、–コマンド、またはより良いまだ クレイヤー 次のようなシステム変数:

;レイヤーを変更:
clayer▄layername▄

  • 一部のコマンドにはシステム変数が必要です FileDia オフ。これにより、 ファイルを開く ファイルを保存 ダイアログボックス-など 開いた, スクリプト、そして VSlide —コマンドラインでファイル名を要求する。したがって、スクリプトファイルには、ファイルダイアログボックスをオフにする次の行を含める必要があります。

;ダイアログボックスをオフにします。
filedia0

;スライドファイルをロード:
滑り台ファイル名

  • いつ FileDia がオフになっている場合は、 ~ (チルダ)ダイアログボックスの表示を強制するファイル名のプレフィックスとして。例えば:

: 脚本
実行するスクリプト:〜 (BricsCADディスプレイ スクリプトを実行 ダイアログボックス。)

  • 一部のコマンドには、同等のコマンドラインがありません。 プロット 代わりに、このコマンドをスクリプトで使用すると、コマンドラインバージョンが自動的に表示されます。
  • BricsCADは–(ハイフン)プレフィックスの付いたコマンドエイリアスを受け入れてコマンドラインバージョンのコマンドを強制しますが、AutoCADにあるハイフンコマンドはありません®.

RecScriptを使用した記録

RecScript コマンドはキーストロークを記録し、それをに保存します。scr スクリプトファイル。

StopScript コマンドは、BricsCADに記録を停止するように指示します。

スクリプト コマンドはスクリプトを再生します。

これがどのように機能するか見てみましょう。 24×26単位のサイズの長方形の境界線を描画するためのスクリプトを記録します。

  1. 新しい図面で、 RecScript コマンド。 (または、 道具 メニュー選択 記録スクリプト.)
    [スクリプトの記録]ダイアログボックスに注目してください。

    BricsCADでのスクリプト
    ファイル名を指定してスクリプトの記録を開始する
  2. スクリプトのファイル名を入力します。スクリプトの機能を連想させる任意の名前を使用でき、長さは最大255文字です。このチュートリアルでは、次のように入力します 境界 次にクリックします セーブ.
  3. ダイアログボックスが消え、BricsCADが何も実行していないように見えることに注意してください。実際、コマンドを入力するのを待っています。太字で示されているコマンドとオプションを入力します。:長方形
    面取り/標高/フィレット/回転/正方形/厚さ/幅/面積/寸法/ <長方形の最初の角を選択>: 0,0
    長方形の他のコーナー: 36,24

    :ズーム
    ズーム:イン/アウト/すべて/中央/ダイナミック/範囲/左/前へ/右/スケール/ウィンドウ/ : e

  4. 完了したら、 StopScript BricsCADに完了したことを通知するコマンド::ストップスクリプト
  5. 次にスクリプトを実行します スクリプト 次のようなコマンド:
    1. 新しい図面を 新着 コマンドを使用して、スクリプトの効果を確認できます。
    2. 入力します スクリプト コマンド。
    3. [スクリプトの実行]ダイアログボックスに注意してください。選ぶ border.scr、次にクリック 開いた.

スクリプトがすぐに四角形を描画してから、新しく描画された境界線の範囲に合わせて描画をズームすることに注意してください。確かに、気づかないほど速く発生する可能性があります。

ヒント によって記録されているコマンドの実行中に、マウスを使用して図面内の点を選択できます。 RecScript コマンド。 BricsCADはピックポイントをX、Y座標として記録します。

手でスクリプトを書く

BricsCADにはスクリプトを作成および実行するためのコマンドがありますが、スクリプトを編集するためのコマンドはありません。によって使用される座標を変更したい場合 レクタン コマンド、Windowsではメモ帳でスクリプトファイルを編集する必要があります。 Linuxではテキスト編集、Macではテキスト編集。

仕組みは次のとおりです。

  1. テキストエディタでborder.scrファイルを開きます。
    ヒント コンピュータ上のborder.scrファイルの場所がわからない場合は、Windowsでファイルを見つけて開く簡単な方法を次に示します。 スクリプト コマンドをクリックし、ダイアログボックスで.srcファイルを右クリックします。ショートカットメニューから[開く]を選択します。ファイルがメモ帳で開くことに注意してください。

    スクリプトの記録セッション中に入力したコマンドとオプションに注意してください。

    テキストエディターでのスクリプトの入力
  2. ボーダーのサイズを18×24に変更します。 「36,24」のテキストを編集して、置き換えます。18,24
  3. 「Border」という名前の青色のレイヤーに長方形を配置するコマンドも追加しましょう:
    1. 「rectang」の前にカーソルを置き、Enterキーを押して空の行を作成します。
    2. 次のテキストを入力します。
      -層
      作る
      境界


      <– 1つの空白行
      <– 2番目の空白行
    3. 必ず2行の空白行を含めてください。これらは押すように振る舞います 入る コマンド中。ファイルは次のようになります。
      スクリプトテキストを編集CADを編集
      スクリプトにEnterを追加する
  4. でファイルを保存します ファイル|保存する コマンド。
  5. BricsCADに戻り、新しい図面を開始します。
  6. 使用 スクリプト border.scrファイルが正しく動作していることをテストするコマンド。赤い四角形が表示されます。
    BricsCADでスクリプトを使用して描画
    スクリプトによって描かれたボーダー。

スクリプトコマンドと修飾子

特にスクリプトに関連するコマンドは合計4つあります。実際、これらのコマンドは他の目的にはまったく役に立ちません。さらに、BricsCADには RecScript この章で前述した、スクリプトを記録するためのコマンド。

大まかに重要な順に、4つの基本的なコマンドは次のとおりです。

脚本

スクリプト コマンドは二重の役割を果たします。(1)スクリプトファイルをロードします。 (2)すぐに実行を開始します。次のように使用します。

: 脚本
実行するスクリプト: ファイル名

オフにすることを忘れないでください(0に設定) FileDia プロンプトがダイアログボックスではなくコマンドラインに表示されるようにするシステム変数。

RSCRIPT

「repeat script」の略で、このコマンドは現在BricsCADにロードされているスクリプトを再実行します。無限ループを作成するための素晴らしい方法。オプションはありません:

: rscript

履歴書

このコマンドは、一時停止したスクリプトファイルを再開します。を押してスクリプトファイルを一時停止します。 バックスペース キー。繰り返しますが、オプションはありません:

: 履歴書

ディレイ

人間の介入なしにスクリプトファイルに一時停止を作成するには、 ディレイ 番号とともにコマンド。この数値は、一時停止をミリ秒単位で指定します。1,000ミリ秒は1秒に相当します。最小遅延は1ミリ秒です。最大値は32767ミリ秒で、33秒未満です。

あなたが使うことができる間 ディレイ ‘:’プロンプトでは、ほとんど意味がありません。代わりに、 ディレイ 次のように、スクリプトファイルで使用して、スライドファイルが表示されている間待機するか、人間がプロセスを監視できるようにスクリプトファイルを遅くします。

;スクリプトを10秒間一時停止します。
10000遅延

特別なキャラクター

スクリプト固有のコマンドに加えて、いくつかの特殊文字とキーがあります。

Enter –(スペース)

最も重要な特殊文字は非表示です。スペースとキャリッジリターン(または行末)は、スペースバーまたはEnterキーを押したときと同じです。実際、どちらも互換性があります。しかし、トリッキーな部分は、それらが見えないということです。場合によっては、コマンドで[Enter]キーを押す必要があるため、たくさんの空白スペースを必要とするスクリプトを作成します 入る キーを続けて数回押します。 AttEdit 優れた例です:

;属性を1つずつ編集します。
attedit 1,2

その間にいくつのスペースがありますか attedit そして座標 1,2?数えるまで待ちます…

このため、次のように1行に1つのスクリプトアイテムを配置することをお勧めします。

;属性を1つずつ編集します。
attedit

1,2

空白行ごとに1つあるため、4つのスペースを数えるのが簡単になりました。

コメント–;

セミコロンを使用すると、スクリプトファイルにコメントを挿入できることにすでに気付いているでしょう。

BricsCADはセミコロン以降を無視します。

トランスペアレント – ‘

スクリプトを実行できます 透過的に コマンド中。単にプレフィックスを付ける スクリプト 次のように、別のコマンドがアクティブなときにスクリプトを実行するアポストロフィ付きのコマンド:

:ライン
行頭: ‘script
実行するスクリプト:ファイル名

BricsCADの4つのスクリプト固有のコマンドはすべて透過的です。 ディレイ。これにより、コマンドの操作中に遅延を作成できます。まるで、BricsCADをゆっくり実行するための言い訳が必要だったかのように!

一時停止–バックスペース

…スクリプトファイルを一時停止するために前に説明したキーです。

停止– esc

…スクリプトファイルのトラックを停止します。使用 RScript 最初から再起動するコマンド。