L I Support Top
AutoCAD DIESELマクロ

Last Upate 2007/9/13

AutoCADLT2000i用に製作したマクロ集です。自分の環境でしか動作確認していませんので、うまく動かないときは連絡下さい。

  1. オブジェクトの現在画層、ByLayer変換
  2. 他の図面ファイルにクリップボード経由でコピーするとき、基点を指定してコピー
  3. 図面枠のタイトル部(右下)にズーム
  4. エスケープキーを押す代わりにキャンセル
  5. イレーズボタンの絵を変更
  6. ミラーコマンドの一発版
  7. 直線オブジェクトをポリラインに結合
  8. 道路のスミ切り用マクロ
  9. 幅と高さを入力して四角形を書く
  10. たすき掛けの線を引く
  11. スナップ間隔の切り替え
  12. スナップ間隔をUP/DOWN
  13. ステータスバーに表示される座標のモードの切り替え
  14. ステータスバーに現在の作図状態を表示
  15. よく使う文字メニュー  ・・・ 2002/9/29追加
  16. レイアウト補助用のマクロ  ・・・ 2007/9/13追加
  17. 配管アイソメ用ツールバー ・・・ 2004/8/9追加


※ アイコンのダウンロード方法:
  アイコン画像を右クリックして「対象をファイルに保存」を選んで下さい。(IE)
  一括ダウンロードはこちらから → LI_MacroIcon021010.lzh


  1. 選択したオブジェクトの画層を現在画層にし、線種、色をByLayerにします。

    他からコピーしてきたものを整えるときなどに使っています。

     LI_ByLayer.bmp
    ^C^C_select;$M=$(if,$(getvar,CMDACTIVE),\,)_change;P;;P;C;ByLayer;LT;ByLayer;LW;ByLayer;LA;$M=$(getvar,CLAYER);;
     手順)

    ・ 先に変更するオブジェクトを選択 → ボタンをクリック → オブジェクト ボタンをクリック 変更するオブジェクトを選択(ハイライト) → エンター又は右クリック → オブジェクト変更


  2. 他の図面ファイルにクリップボード経由でコピーするとき、基点を指定してコピーします。

    標準の機能にもありますが、オブジェクトを先に選択している場合、基点指定後に選択を解除させて分かりやすくしています。

    タイトル部分や注釈部など、共通に使う所をコピーする場合に便利です。

     LI_BaseClpCp.bmp
    ^C^C_copybase;\_graphscr;
     手順)

    コピーするオブジェクトを選択 → ボタンをクリック → 基点を指定

    → 他の図面に切替 → ペーストボタン(_pasteclip) → 基点指定 → 張り付け


  3. 図面枠のタイトル部(右下)にズームします。

    タイトルが右下にある図面用ですが、ボタン一発でズームするマクロです。

    図面枠がモデル空間に書いていないといけません。

    また、尺度がシステム変数のDIMSCALEに反映されていないといけません。

     LI_TitleZm.bmp
    _ucs;W;_zoom;W;$M=$(index,0,$(getvar,LIMMAX)),0;@$(*,$(getvar,DIMSCALE),-160),$(*,$(getvar,DIMSCALE),130);
     手順)

    ボタンをクリック → 右下タイトルエリアのズーム


  4. エスケープキーを押す代わりにキャンセルします。

    左手で頬杖などついてだらけているとき、マウスのみでキャンセルするためです。(^^;)

     LI_Cancel.bmp
    ^C^C_graphscr;
     手順)

    ボタンをクリック → 選択中のオブジェクト、コマンドをキャンセル


  5. イレーズボタンの絵が気に入らなかったので。(^^)

    絵だけ変更。いつも使ってる消しゴムの絵にしてみました。

     LI_Erase.bmp
    ^C^C_erase;
     手順)

    オブジェクトを選択 → ボタンをクリック → 消去


  6. ミラーコマンドの一発版です。

    オブジェクトを選択して、基点を指定すると、左右/上下に反転移動/コピーします。

    反転するときは、水平、垂直がほとんどなので、軸を入力する手間を省きました。

     LI_Mirror_hm.bmp
    ^C^C_select;$M=$(if,$(getvar,CMDACTIVE),\,)_mirror;P;;\_non;@0,1;Y;
     LI_Mirror_hc.bmp
    ^C^C_select;$M=$(if,$(getvar,CMDACTIVE),\,)_mirror;P;;\_non;@0,1;N;
     LI_Mirror_vm.bmp
    ^C^C_select;$M=$(if,$(getvar,CMDACTIVE),\,)_mirror;P;;\_non;@1,0;Y;
     LI_Mirror_vc.bmp
    ^C^C_select;$M=$(if,$(getvar,CMDACTIVE),\,)_mirror;P;;\_non;@1,0;N;
     手順)

    反転するオブジェクトを選択 → ボタンをクリック → 基点を指定 → 反転移動またはコピー


  7. 直線オブジェクトをポリラインに結合します。

    直線オブジェクトが多少離れていても(0.1)結合します。距離が離れすぎていると不可。

     LI_Chg_Pline.bmp
    *^C^C_select;$M=$(if,$(getvar,CMDACTIVE),\,)_pedit;M;P;;Y;J;0.1;;
     手順)

    直線オブジェクトを複数選択(ポリラインが混ざっていても可) → ボタンをクリック → ポリライン化


  8. 道路のスミ切り用マクロです。

    2直線のカドを指定長で面取りします。

    CAD&CG2001年7月号の掲載していただいたものです。(てるてるさんBasyaumaさんに感謝ですm(_ _)m)

    Basyaumaさんのマクロを改良したものです。

     LI_Sumikiri.bmp
    *^C^C_setenv;斜線長;\_ucs;OB;\_c;0,0;$M=$(getenv,斜線長);_pline;$(getenv,斜線長),0;_int;\;_area;O;L;_scale;L;;0,0;r;"$M=$(getvar,PERIMETER);$(getenv,斜線長);_PICKBOX;1;_erase;$(getenv,斜線長)<10;;_PICKBOX;$(getvar,PICKBOX);_trim;L;;0,0;;_trim;L;;0,0;;"_ucs;P;
     手順)

    ボタンをクリック → 斜線長をキー入力 → 一方の線を選択 → 書かれた円ともう一方の線の交点をクリック

    → スミ切り線作成


  9. 幅と高さを入力して四角形を書きます。

    基点の指定位置をそれぞれ設けています。

     LI_Rect_ib.bmp
    ^C^C_id;\setenv;"幅";\setenv;"高さ";\rectang;@;_non;$M=@$(getenv,"幅"),$(getenv,"高さ");
     LI_Rect_cc.bmp
    ^C^C_id;\setenv;"幅";\setenv;"高さ";\rectang;@;_non;$M=@$(getenv,"幅"),$(getenv,"高さ");_move;L;;0,0;_non;@$(/,$(getenv,"幅"),-2),$(/,$(getenv,"高さ"),-2);
     LI_Rect_lc.bmp
    ^C^C_id;\setenv;"幅";\setenv;"高さ";\rectang;@;_non;$M=@$(getenv,"幅"),$(getenv,"高さ");_move;L;;0,0;_non;@0,$(/,$(getenv,"高さ"),-2);
     LI_Rect_rc.bmp
    ^C^C_id;\setenv;"幅";\setenv;"高さ";\rectang;@;_non;$M=@$(*,-1,$(getenv,"幅")),$(getenv,"高さ");_move;L;;0,0;_non;@0,$(/,$(getenv,"高さ"),-2);
     LI_Rect_cb.bmp
    ^C^C_id;\setenv;"幅";\setenv;"高さ";\rectang;@;_non;$M=@$(getenv,"幅"),$(getenv,"高さ");_move;L;;0,0;_non;@$(/,$(getenv,"幅"),-2),0;
     LI_Rect_ct.bmp
    ^C^C_id;\setenv;"幅";\setenv;"高さ";\rectang;@;_non;$M=@$(getenv,"幅"),$(*,-1,$(getenv,"高さ"));_move;L;;0,0;_non;@$(/,$(getenv,"幅"),-2),0;
     手順)

    ボタンをクリック → 基点を指定 → 幅を入力 → 高さを入力 → 四角形描画


  10. たすき掛けの線を引きます。

    まず、1本の線を引き、長方形の対角となるように、左右反転した線を自動生成します。

    四角形の中にバッテンを引くとき便利です。

     LI_Crs_line.bmp
    ^C^C$M=_ucs;M;\_setvar;COORDS;1;_line;0,0;\;_setvar;COORDS;$(getvar,COORDS);"$M=_mirror;L;;$(/,$(getvar,LASTPOINT),2),0;_non;@0,1;N;"_ucs;P;
     手順)

    ボタンをクリック → 直線の1点目を指定 → 対角点を指定 → たすき掛け線を生成


  11. スナップ間隔を切り替えます。

    スナップオフから各スパンに分けてボタンを登録することで最適なカーソル移動値に切り替えられます。

    尚、これらのボタンはフライアウトにまとめています。

     LI_Snap_off.bmp
    '_snap;OF;
     LI_Snap_500.bmp
    '_snap;500;
     LI_Snap_100.bmp
    '_snap;100;
     LI_Snap_50.bmp
    '_snap;50;
     LI_Snap_25.bmp
    '_snap;25;
     LI_Snap_10.bmp
    '_snap;10;
     LI_Snap_5.bmp
    '_snap;5;
     LI_Snap_1.bmp
    '_snap;1;
     LI_Snap_05.bmp
    '_snap;0.5;
     手順)

    設定したいスナップのボタンをクリック → スナップ切り替え

    2002/09/05 変更

  12. スナップ間隔をUP/DOWNします。

    ツールバーではなく、ファンクションキーに割り当てています。

    マウス操作より速く切り替えられます。

    f8にスナップDOWN、f9にスナップUPにしています。

    ただ、マクロの文字数の制限で6段階が限界でした。

    f8 '_setvar;USERR4;$M=$(index,1,$(getvar,SNAPUNIT));'_snap;"$M=$(if,$(<=,$(getvar,USERR4),1),100,$(if,$(eq,$(getvar,USERR4),5),1,$(if,$(eq,$(getvar,USERR4),10),5,$(if,$(eq,$(getvar,USERR4),25),10,$(if,$(eq,$(getvar,USERR4),50),25,$(if,$(>=,$(getvar,USERR4),100),50))))))";
    f9 _setvar;USERR4;$M=$(index,1,$(getvar,SNAPUNIT));'_snap;"$M=$(if,$(<=,$(getvar,USERR4),1),5,$(if,$(eq,$(getvar,USERR4),5),10,$(if,$(eq,$(getvar,USERR4),10),25,$(if,$(eq,$(getvar,USERR4),25),50,$(if,$(eq,$(getvar,USERR4),50),100,$(if,$(>=,$(getvar,USERR4),100),1))))))";
      手順)

    f8 → スナップ間隔DOWN(100→50→25→10→5→1→100・・・)

    f9 → スナップ間隔UP(1→5→10→25→50→100→1・・・)


  13. ウィンドウ下部のステータスバーに表示される座標のモードを切り替えます。

    X,Y座標表示と、距離<角度表示を交互に切り替えます。
    コピーや移動のときの目的位置をどう決めるかで切り替えます。

     LI_Coords.bmp
    '_setvar;COORDS;$M=$(if,$(=,$(getvar,COORDS),2),1,2);
     手順)

    ボタンをクリック → X,Y座標表示なら距離<角度表示に、距離<角度表示ならX,Y座標表示に切り替え


  14. ステータスバーに現在の作図状態を表示させます。

    UCSが変更中かどうか、図面尺度、スナップの間隔、座標表示方法を表示します。

     
      _modemacro $(if,$(or,$(index,0,$(getvar,UCSORG)),$(index,1,$(getvar,UCSORG))),UCS変更中) S=1/$(getvar,DIMSCALE) SNAP($(if,$(=,$(getvar,SNAPMODE),0),オフ,$(getvar,SNAPUNIT))) $(nth,$(getvar,COORDS),,"X,Y=","L<R=")
      登録手順)

    テキストエディタで、"startup.scr"(スクリプトファイル)を作成し、上記のマクロを書き込む。

    AutoCAD起動のショートカットのプロパティのリンク先を、"C:\Program Files\AutoCAD LT\aclt.exe" -b "startup.scr"とする。

    → 毎回起動時に設定される


  15. よく使う文字のサブメニューファイル

    サブメニューとして登録します。

    16個までの文字列を登録出来ます。

    yokutukaumoji.lzh
    登録手順)

    1.上の圧縮ファイルをダウンロードして、
      AutoCADのsupportフォルダ(<例>C:\PROGRAM FILES\AUTOCAD LT\support)
      の中に、解凍して下さい。
      メニューと3つの図面ファイルが作られます。
      ・yokutukaumoji.mns
      ・部品−文字合わせ左下.dwg , 部品−文字合わせ中央.dwg , 部品−文字合わせ右下.dwg

    2.AutoCADのメニューで、ツール→カスタマイズ→メニュー→メニューグループで、
      参照ボタンを選択し、yokutukaumoji.mnsを開き、ロードします。
      メニューバータブに切り替えて、メニューグループでYOKUTUKAUMOJIを選択します。
      メニューの「よく使う文字(Y)」を選択し、挿入ボタンをクリックします。
      (メニューバーの選択状態の前に挿入されます)
      閉じるをクリックして終了。


    使い方)
    1.最初に、適当に番号を選び、ポップアップの「よく使う文字の高さの変更」を設定します→エスケープで一端終了。
    2.登録したい番号を選択、ポップアップの「文字を変更する」を選択し、コマンドラインから文字を入力します。
      →エスケープで終了。
    3.挿入したい文字の番号を選択 → 基点を選んで挿入位置でクリック。
      引き出し線の場合は、3点指示。


  16. レイアウト補助用のマクロ

    レイアウトタブでビューポートを操作する。

    メニューファイルに登録して使っています。

    [->レイアウト補助]
    [浮動ビューポート監理(MVIEW)] ^C^C_mview; ビューポートコマンドを実行します。
    [閉じたポリラインにビューポートを割り当てる] ^C^C_mview;O;\ 予め作成しておいたポリラインにビューポートを割り当てます。
    [ビューポート内尺度を1/1にする(Wクリックしてビュー内をアクティブにしておくこと)] ^C^C_zoom;S;1xp; ビューポート内の尺度をモデル空間と同じにします。
    (予めビューポート内をダブルクリックしてモデル空間に入っておきます)
    [ビューポート内表示位置をロックする] ^C^C_mview;L;ON; ビューポート内をクリックしてモデル空間に入っても表示位置が動かなくなります。
    [ビューポート内表示位置ロックを解除する] ^C^C_mview;L;OF; 上の状態を解除します。
    [<-ビューポート内編集から脱出する] ^C^C_mview;O;'zoom;A;^C ビューポートを画面いっぱいに拡大してからモデル空間に入っても脱出できます。


※履歴
2007/ 9/13:レイアウト補助用マクロ追加
2005/11/03:よく使う文字用部品追加
2004/08/09:配管アイソメ用ツールバー追加
2002/10/10:アイコンファイルをダウンロード出来るようにした
2002/09/29:よく使う文字メニュー追加
2002/09/05:スナップ変更マクロをシンプルにした