【AutoCAD LT】2重線コマンド(DLINE)の定常オブジェクトスナップが無効になるのをコマンドマクロでどうにかしたかった話。
CADで建築図面の壁や梁を描くときに重宝する2重線コマンド。
AutoCAD LTでも「2重線(DLINE)」というコマンドを使用することで、平行する2線を書くことが出来るのですが、このコマンドには難点があって、定常オブジェクトスナップが一時的に無効になってしまうんですよね。
これではせっかく描いた壁芯は意味をなさず、柱面にあわせて描くこともできない。
一応、オブジェクトスナップの設定をし直すことで一時的に復活しますが、2重線を描くたびにオブジェクトスナップの設定なんてしてられません。
そこでコマンドマクロを利用して、DLINE実行時に定常オブジェクトスナップの設定もするようにできないものか調べてやってみました。
コマンドマクロ
動作はAutoCAD LT 2020で確認しています。
*^C^C_dline;'osmode;値;
上記は2重線コマンドを繰り返し実行しつつ、定常オブジェクトスナップの設定変更も一緒に行うことで問題を解決しようと考えたコマンドマクロです。
事前準備として、必要な定常オブジェクトスナップをオンにして「osmode」コマンドを一度実行し、現状の値をメモしておいてください。このとき数値を変更してしまうと定常オブジェクトスナップの設定が変わってしまうので気をつけてください。
ちなみにこれは定常オブジェクトスナップの設定が保存されているシステム変数らしいです。
どういったコマンドマクロなのか、簡単な解説です。
*^C^C_dline;'osmode;値;
2重線コマンドを繰り返し実行させます。
*^C^C_dline;'osmode;値;
割り込みを使い、一時的に無効になっている定常オブジェクトスナップの設定を書き換えます。値は事前準備でメモした数値に置き換えてください。
問題点
2重線(DLINE)の仕様として、オブジェクトスナップを有効にし、スナップを利用して線を描くと一度目でコマンドが終了するようです。スナップしなければ連続で描けますが、実用性に欠けますよね。
よって、このコマンドマクロを利用しても1組の2重線を描くことの繰り返しになり、壁式工法の躯体図を描くときのように、壁芯にそって連続して2重線を描きたいとき等には向いていないかもしれません。
逆にRC造の柱間の壁のように毎回途切れるものを描くには便利かも?
終わりに
新しい職場でAutoCADを使うことになったのですが、2重線コマンドがあまりに使い勝手が悪いので、調べてそれっぽいコマンドマクロを作ってみました。
2020版になってもこんなに使いづらい仕様になっていることに呆れていますが、何か理由があるんでしょうか?オブジェクトスナップの問題を解決しても、2重線のオフセット(ドラッグ線)の設定が面倒くさかったりで、あんまり使いたくないコマンドのひとつですね。
インターネットで調べても欲しかった情報が見当たらなかったので、自分でコマンドマクロを書いてみましたが、もっと賢いやり方があればぜひ教えて下さい。
よろしくお願いいたします。