批量选择矩形,统一写入指定内容的文字
批量选择矩形,统一写入指定内容的文字;矩形大小不同,文字内容是统一的,可由用户指定内容(多行文本/单行文本都可以);
文字写入后,最好能在矩形中心居中
示意效果如下图;
希望有大佬有空帮忙写一个,感激!:handshake
试试这个:
本帖最后由 嘒彼小星 于 2024-8-13 18:37 编辑
(defun c:tt(/ ss str i s_n pt)
(if(setq ss (ssget '((0 . "LWPOLYLINE"))))
(progn
(setq str(getstring "\n输入文字:<回车选取文字>"))
(if (= str "")(setq str(cdr(assoc 1(entget(ssname (ssget ":S" '((0 . "TEXT,MTEXT"))) 0))))))
(setq i 0)
(repeat (sslength ss)
(setq s_n(ssname ss i))
(setq pt(mapcar '(lambda (a b)(* 0.5 (+ a b)))(vlax-curve-getPointatParam s_n 0)(vlax-curve-getPointatParam s_n 2)))
(entmake (list '(0 . "TEXT") (cons 1 str) (cons 11 pt) (cons 10 pt) (cons 40 (getvar "TEXTSIZE"))'(72 . 1)'(73 . 2)))
(setq i(1+ i))
)
)
)
(princ)
)
实用于矩形或者旋转的矩形 。其他多边形,则本程序不实用
感谢各位大佬分享 感谢各位大佬分享
页:
[1]