この掲示板は AutoCADマクロ屋本舗 の掲示板です。

【 注意 】最初に必ず ↓↓ 下記内容 ↓↓ を参照ください。
① マクロが分からない方は、まず 【 マクロ講座 】 を参照ください。
② 質問の前に 【 マクロ使用前の注意事項 】 をお読みください。
③ 質問する時は、新規投稿フォーム下の【 新規投稿時のお願い 】を必ずお読みください。

レイアウトを簡単に作成
モデル空間に沢山の図面が有ります。(A1図枠で尺度は様々)
その図面を図面毎に1つのレイアウトを作るのですが、それが面倒なので簡単に作れるLISPは無いでしょうか。

操作としては、
モデル空間に有る図面の図枠を印刷の窓選択みたいな感じで選択する。
そうすると、レイアウトを一つつくり、尺度1:1のA1サイズのビューポートを作り、モデルで選択した範囲をビューポートにフィットさせる。
レイアウトの名前は連番でも、何でも良いです。

こんなのが理想ですが、違った方法でも操作が少しでも簡単になるなら良いです。

宜しくお願いします
  • さかな
  • 2025/04/03 (Thu) 07:50:46
Re: レイアウトを簡単に作成
コマンド並べただけですが。
決まったレイアウトの作成は、1つ元になるものを作って挿入するのが簡単です。
事前準備として、尺度1:1のA1サイズのビューポートがある、「A1」という名前のレイアウトを作成した「C:/temp/A1-Lay.dwt」というファイルを作成します。
番号は1からの連番です。元からあるレイアウト名に数字のみのものがないようにご注意ください。

(defun c:laymake (/ pt1 pt2 no fpath layname)
(setq fpath "C:/temp/A1-Lay.dwt") ;挿入するレイアウトのあるファイルパス
(setq layname "A1") ;挿入するレイアウト名
(setq no 1)
(while (> no 0)
(setvar "ctab" "Model")
(setq pt1 (getpoint "\n最初のコーナーを指定:"))
(setq pt2 (getcorner pt1 "もう一方のコーナーを指定:"))
(command-s "-layout" "T" fpath layname)
(command-s "-layout" "R" layname (itoa no))
(setvar "ctab" (itoa no))
(command-s "regenall")
(command-s "mspace")
(command "zoom" "E")
(command "zoom" "W" pt1 pt2)
(setq no (+ no 1))
)
)
  • LUNE
  • 2025/04/03 (Thu) 10:57:46
Re: レイアウトを簡単に作成
試してみます。ありがとうです。
  • さかな
  • 2025/04/04 (Fri) 08:39:52 New

返信フォーム






プレビュー (投稿前に内容を確認)