LISPだとこんな感じ?
現在画層でマルチ引出線が作成されます。
オブジェクトの色がbylayerの場合はその画層の色を設定しています。
(defun c:cmt (/ ent clr lyr txt p1 p2)
(setq ent (entget (car (entsel))))
(setq lyr (cdr (assoc 8 ent)))
(setq clr (if (and (assoc 62 ent)(/= (cdr (assoc 62 ent)) 256)) ;bylayerの場合を分岐
(cdr (assoc 62 ent))
(cdr (assoc 62 (tblsearch "layer" lyr)))
)
)
(setq p1 (getpoint "\n起点を指定:"))
(setq p2 (getpoint p1 "\n2点目を指定:"))
(setq txt (strcat "\\C" (itoa clr) ";" (getstring "\n文字列を記入:"))) ;文字列の最初に色指定の書式コードを付加
(command-s "MLEADER" p1 p2 txt)
(command-s "CHANGE" "L" "" "P" "C" "white" "") ;引出線の色を白に
(princ)
)
>4.マルチ引き出し線の色を白色に変更
引出線自体の画層はまちまちなのでしょうか。
決まった画層があるのなら、その画層色を白に設定すればこれは不要な気がしますが・・・
その場合は、「;引出線の色を白に」の行が不要です。
- LUNE
- 2024/04/08 (Mon) 10:32:48