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

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

フィールド
AutoCAD2024使用してます。

フィールドを含む文字オブジェクト(文字・マルチテキスト)を選択すると、関連付けられたオブジェクトをハイライトになるLspはないでしょうか?

ほかの方が作図してる図面でフィールドで㎡など表示してるのですが、リンクされてるオブジェクトをさがすのに時間がかかるので確認できるLspを探してます。
  • syu
  • 2025/07/23 (Wed) 12:01:38
Re: フィールド
コマンド名はhlfo
文字を選択すると、図面全体表示となり、関連付けられたオブジェクトがハイライト表示されます。
関連付けられたオブジェクトのオブジェクトズーム+ハイライトにしたい場合は、コメントにあるように
(command "zoom" "e" ) を
(command "zoom" "o" ob_name "")
に変更してください。

ハイライトの解除はregenコマンドで。

(defun c:hlfo
 ( / ob_name ent ent_name ent_data head_index notflg)

(command "regen")
(setq ent (entsel "フィールドを含む文字を選択:"))
(setq ent_data (entget (car ent)))
(setq ent_name (cdr (assoc 0 ent_data)))
(setq notflg 0)

(if (wcmatch ent_name "*TEXT") ;if-a
(progn ;progn-a
   (setq head_index (assoc 102 ent_data))
   (if head_index ;if-b
(progn ; ;progn-b フィールドが見つかった時の処理
(repeat 4
(setq ent_data (entget (cdr (assoc 360 ent_data))))    
)
;4回繰り返すと関連付けられた図形名が出現
;331と2つ目の330に出現;
(setq ob_name (cdr (assoc 331 ent_data)))  ;331に出現する図形名を取得
(command "zoom" "e" ) ;対象オブジェクトをズームしたい場合は、 (command "zoom" "o" ob_name "")

(redraw ob_name 3)
);end progn-b
(setq notflg 1)
);end if-b
);end progn-a
(setq notflg 1)
);end if-a
(if (= notflg 1)
(progn
(princ "\nフィールドを含む文字列ではありません。")
(quit)
)
)
(princ)
)
  • LUNE
  • 2025/07/23 (Wed) 16:35:03
Re: フィールド
LUNE様

ありがとうございました。
助かりました。
  • syu
  • 2025/07/24 (Thu) 11:12:07

返信フォーム






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