|
||
AoutoCADLT2002で作図コマンドを徹底研究。マクロの基礎固めをしよう。 何が出来て、何ができないの? |
回転コピーは、よく使う。きっと複雑なマクロだろうと思い
覗いて見た。 メニューマクロには、こう書いてあった。
正式にヘルプを読んでみた。回転複写角度は(反時計回り(+)/時計回り(-))だった。 キーボードから入力して見る。
マクロにすればこうなのだろう。
杭の鉄筋断面用にツールバーに登録。 |
回転複写は、選択、回転、コピーのコマンドを組み合わせマクロ処理はできないのだろうか。 回転のコマンドはrotate。
一旦その位置にコピーし2重にする。そのどちらかを回転する。
select で前選択としpオプションを使う。
マクロはこうだろう。
selectはsingleモードで選択して直ぐ次のステップに移らせる。@ は、@0,0 ということ。相対座標0、0.つまりその場所ということ。 前半の部分で図形を拾い、同じ場所にコピーする。 そして _rotate(回転)コマンドを実行、p オプションで再度最初のオブジェクトを拾う。 360度をn分割ということで、角度計算なしにするには。分割数を最初に問合わせ。 内部計算。DIESEL式の登場。 |
^C^C_setenv;_N;\_select;_si;\_copy;_p;;@;@;_rotate;_p;;\$M=$(/,360,$(getenv,_N)); |
文頭に*で繰り返しだそうだ。文の途中からは駄目なのか? マクロコマンドはMSDOSのバッチファイルに相当するのだろう。 環境変数も10個使える。回転角を足して行って360度で終了。 if間数はあるので出来そうなのだが、1行プログラムの中で はジャンプ先が設定できない。ボタンに割り付けるマクロ としては限界が見える。やはりARRAYというコマンドが 独立してあることが、それを証明しているのだろう。 |
鉄筋の箱抜きにはTrimをよく使う。コンクリートにマンホールの穴あけ
をする時といった場合だ。
ヘルプを読んでもチョット分り辛い。貴方のせいではない、日本語として推敲がされてないと思う。実例で説明しよう。 白い線をまず[click]。選択終了の合図で[Enter] 後は、消したい側を[click]で切り揃えられて行く。 右側に延長したい部分が残る。ここはSHIFT+[click]で延長される。 extendというコマンドもあるが、trimでも延長ができる。 |
トリムは切断線(エッジ)のどちら側を消すか指示しなければ
なりません。だから、消す側をマウスで指示する仕様です。 線が多い場合、一発でトリムする機能はないのでしょうか。 前選択としてselectコマンドのfence(選択時Fと入力)を使うと トリム対象図形だけ選択できます。この後をマクロを使えば何とかなりそう ですが。ロジックとしては、対象図形のある端点のY座標と エッジのY座標を比較して大きいなら切る、小さいなら反対側を切る。 これを全対象図形行えばいいでしょう。 また繰り返しの条件判断がでてきます。コマンドマクロの限界 を越えているのでしょうか。 これが出来れば配筋図専用CADになってしまいます。少し研究 課題としておきます。ブロック、グループ、リージョンなどを使えば うまくゆかないか、2、3トライしましたが簡単には行かないようです。 配筋図でトリムが一番必要なのは、この場合です。エッジである○の中 をクリックすると切りぬかれます。breakでは2点をヒットする必要 があります。Trimは1回で済みます。しかも線の近くをヒットすればよく、 交点ヒットのように神経を使いません。便利です。 でも、○の中をヒットで一括トリムが欲しい所です。これも研究 課題としておきます。 |
|