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

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

線種のロード確認
LISPを作成しております。

カレントの線種をCENTERにしたいとき、(setvar "celtype" "center")としています。
図面内に線種"center"がロードされていないとき、この部分で止まってしまいます。

そこで線種"center"がロードされているか調べて、されていないならメッセージを出すか、自動でロードする方法が有れば教えて下さい。
  • JIJII
  • 2024/04/08 (Mon) 09:18:06
Re: 線種のロード確認
下記コードで、線種"center"がロードされているか調べて、自動でロードします。

(if (not (tblsearch "ltype" "center"))
(command "-linetype" "load" "center" (nth (getvar "MEASUREMENT") '("acad.lin" "acadiso.lin")) "")
)

tblsearchで、現在のファイルの線種定義に"center"があるかどうか調べ、なければ"-linetype"コマンドでロードしますが、線種のロードには、線種定義ファイルがメートル系かインチ系かを判断する必要があるため、システム変数MEASUREMENTを取得して判断しています。
  • LUNE
  • 2024/04/08 (Mon) 10:19:17
Re: 線種のロード確認
適確なアドバイスありがとうございます。

希望通りです。

素晴らしいです。
  • JIJII
  • 2024/04/08 (Mon) 12:08:40

返信フォーム






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