[求助]找一程序,在矩形中间显示出长与宽
<p>找一程序,可以选择的,就是在一矩形中间以单行文字显示出该矩形的长与宽(不要小数,文字图层在:"01文本"层)</p><p>1。提示选择矩形</p>
<p>2。提示文字高度</p> phoenixdjq 在以前写了个,我把它粘在这里吧。哪位高手可以改下,变成选择很多的矩形而不是一个个去选择,谢谢:)
(defun c:nn()
(setq old (getvar "osmode"))
(setvar "osmode" 0) 这个0能控制捕捉方式,如果你输入的数值不同,方式就不同,参看帮助吧
(vl-load-com)
(if (= nil (tblsearch "style" "文字标注"))
(command "-style" "文字标注" "txt" 50 0.8 0 "n" "n" "n")
(command "-style" "文字标注" "txt" 50 0.8 0 "n" "n" "n")
)
(setq p1 (getpoint "\n 请选择窗口的第1点:"))
(setq p2 (getcorner p1 "\n 请选择窗口的第2点:"))
(setq ss (ssget "w" P1 P2 '((0 . "LWPOLYLINE,region,circle"))))
(setq len (sslength ss))
(setq n 0)
(repeat len
(setq ent (ssname ss n))
(setq obj (vlax-ename->vla-object ent))
(vla-GetBoundingBox obj 'pta 'ptb)
(SETQ a (trans (vlax-safearray->list pta) 0 1))
(SETQ b (trans (vlax-safearray->list ptb) 0 1))
(setq jd (polar a (angle a b) (/ (distance a b) 2)))
(setq xzhi (abs (-(car a) (car b))))
(setq yzhi (abs (- (cadr a) (cadr b))))
(setq chicunx (rtos xzhi 2 0))
(setq chicuny (rtos yzhi 2 0))
(setq jieguo (strcat chicunx "X" chicuny))
(command "text" "j" "c" jd "" jieguo "" "")
(setq n (+ 1 n))
)
(setvar "osmode" old)
(princ)
)
有了吗 {:1_1:}
页:
[1]