オートCADのコマンド・スクリプト


皆さんはオートCADのコマンドラインに”コマンド”を打ち込む事が有るでしょうか?
また、ファンクションキーの”F2”を押して、今使用したコマンドを確認したことは有りますか?
一昔前は当たり前だった”この操作”が、アイコンの発達で見逃されがちになっています。
アイコンを使った方が”速いし容易”だし、それはそれでも良いのです。
でも、せっかく有るコマンドラインやF2キーの使用法を知らないのは勉強不足かも?
(かく言う私も、マクロに興味を持つまではF2キーの存在を知らなかった。^^;)
興味をお持ちの人、一緒に勉強しましょう!!




 1、発想の転換


 コマンドラインって文字通り”コマンドを入れる行”なのですが、”キーボードから入力する!”と考えるのは、”固定概念”というものです。
 マウスで”アイコン”をクリックすると、コマンドラインに文字列が表示される(線を引くアイコンだとコマンド:の横に”_line 1点目を指示:”と表示される)のですが、”_”に続くアルファベットの文字列が、使用した”コマンド”です。
 (ちなみに線を引くコマンドは、”LINE”の4文字なので覚えられえますが、よく使用される雲印を描くコマンドは”REVCLOUD”、ストレッチは”STRETCH”等、私には覚えられそうも有りません。)
 勿論、キーボードから”LINE”と入力しても線を引くことは出来るのですが、普段でもキーボードから入力するのが面倒な時(メールアドレスとかを入力する時)に、毎回キーボードから入力する?なんて事はしませんよね?
 そうです。マウスでコピー・ペースト!!これがスクリプト処理の基本概念です。



 2、コマンドラインに何を貼り付けるのか?


 ずばり、これが今回の主題なのですが、”座標値”です。
 左の絵はワードパットで開いた”座標値”のファイルを範囲選択してコピーするところです。
 座標ファイルは、X,Yの値がテキストで表示されていて”,”(カンマ)で区切られていれば良く、エクセルで作成出来る”CSVファイル”が、この様式に当てはまります。
 …と言いつつ、座標値だけをコマンドラインに貼り付けても”そのようなコマンドはありません”と表示されるだけなので、ここではオートCADの”複写”コマンドで解説しましょう。



 3、座標を求める準備を行う


 左の絵は一般的なSPL(添接板)のCAD図ですが、ゲージ・ピッチの交点にボルト孔を配置する作業が必要なので一つのボルト孔(円)を作画して、それを複写するという作業が考えられます。
 オートCADでの複写作業は、オブジェクト(複写する要素)を選択して、複写の基点を指示した後に複写先を指示します。
 複写元の選択と基点指示は各々一度ずつで済みますが、複写先の指示は大変です。
 左の図形だとピッチが放射なので、16×24=384回も交点指示を行う必要が有るのです。
 こんな作業を辛抱強く行っている作業者に”交点指示のミスを起こすな!!”と指示をするのは正しいのでしょうか?
 こんな時”作画したゲージとピッチの交点を座標化”出来たら、スクリプト処理での一括複写が有効です。



 4、求めた座標をコマンドラインに貼り付ける


 交点の座標をどのようにして求めるか?は、敢えて説明しませんが、求めた座標は”2.”の手順でコピーします。
 その後は、
 @複写する要素を選択。(この場合はボルトを示す円)
 AオートCADの画面で複写アイコンをクリック。
 B複写元の基点を指示。(この場合は円の中心)
 C”目的点を指定 または <基点を移動距離として使用>:”とコマンドラインに表示されるので”:”の右側をクリックする。
 D”:”の右側でカーソルが点滅を始めたら、右クリックで貼り付けを選択。

 少し不思議な気分になれますが、384箇所の交点にボルト孔が一括で複写出来ます。
 まだこの状態では複写コマンドが終了していないので、”ESC”を押してコマンドを終了させます。



 5、結果の確認


 一瞬、何が起こったのか分からなくなりますが、そのような時に”F2キー”を押しましょう。
 別窓で、今起こったことの履歴が表示出来ます。
 右側のスクロールバーを上の方にドラックすると、”複写(COPY)”コマンドの流れが確認出来ます。
 但し、F2キーで開く履歴用の窓には表示制限が有る(約400行まで)ので、必ずしも先頭の行からは表示出来ません。
 納得がいかない時は、座標の数を減らして動作確認を行うのもエンジニアでは?
 
 


いろいろと調べてみると、本来のスクリプト処理は”マクロの延長”として位置付けられているようです。
(マクロは便利だけど255文字までしか動作しない?
 スクリプトはコピー・ペーストの手間が有るけれど、255文字の文字制限が無い。)
実際、座標値ファイルの先頭行に”LINE”という文字列(コマンド)行を挿入してからコピー・ペーストすると、
座標点を結ぶ連続線が一瞬の内に作成出来ます。
(正しくは”座標点の順番通りの連続線”なので、座標点を作成する際には考慮が必要です。)
でもこれって、橋梁で言えば、座標点を結んだ”線形スケルトン”が簡単に作れる…っていうことですよね。
どこかでそんな”フリーソフト”を目にしたけれど、理屈はこれだったンだと思います。
JISの規格に沿ったボルト形状や形鋼の断面が一瞬の内に描けるのも、スクリプトの成せるワザ。
解説ではボルト孔(円)を複写しましたが、ブロック分解された複数要素の再配置などは誰だって嫌だと思います。
もっともっと有効な使用方法は有るはず…って思いませんか?
解説に使用したDXFデータと座標ファイルをダウンロード出来るようにしておきます。
皆さんの自由な発想で、もっと楽しいスクリプト処理を考えてみて下さい。

DXFデータ(spl.dxf)と座標ファイル(zahyo.csv)をダウンロードする
(圧縮ファイル名:scrpt.lzh)


理屈の倉庫に戻る メニューに戻る