既存コマンドREVCLOUDを使ってポリラインなどの図形から雲マークにするコマンドを作ります。
AutoLISPでオプションの円弧の長さ、オブジェクト をプログラムしておいて、自作コマンド実行時にはオブジェクトをクリックするだけで、特定の円弧の長さの雲マークになるようにします。
予備知識
この記事では、AutoCADの既存コマンドをAutoLISPプログラムにします。
関数 command-s を使って、既存コマンドを使う方法についての記事はこちら。
コマンド内容
図面に雲マークを入れる既存コマンドREVCLOUD[雲マーク]を使います。
コマンドのオプションでは、
- 円弧の長さは最小長と最大長どちらも5に設定。
- オブジェクトオプションにして、ポリラインなどの図形をクリックして雲マークにする。
- 反転はしない。
これらをAutoLISPでプログラムします。
AutoLISPプログラム
コマンド名は test です。
(defun c:test ()
(command-s "._REVCLOUD" "_A" 5 5 "_O" pause "_N")
(princ));defun
AutoLISPの説明
(command-s “._REVCLOUD” “_A” 5 5 “_O” pause “_N”)
コマンド実行後、[円弧の長さ(A)] オプションを選び、最小長と最大長どちらも5に設定します。
そして、[オブジェクト(O)] オプションを選び、pause で図形をユーザー選択にします。
最後の方向反転は、”無し”にしていますが、ここも pause にすれば、コマンド実行の度に、ユーザー入力にできます。
カスタマイズ例
画層を変更するようにすれば、現在画層関係なく、雲マーク用の画層に作図することができます。
自作関数にして、円弧の長さを引数にすると、例えば、大中小と何種類かの雲マークの基準があるのであれば、類似コマンドを作るのが楽だと思います。
画層選択など、いろいろカスタマイズを加えたコマンドサンプルです。
まとめ
- コマンドREVCLOUDを使ったコマンド
- オプションを選択して使っているコマンドはAutoLISPで自作コマンドにしてしまうと便利。
Comments