[求助]求助板块自动编号
<p>求助能够批量将正方形的长边和短边用文字标注在相应的长方形上面。</p><p>邮箱<a href="mailto:longer1000@sina.com.cn">longer1000@sina.com.cn</a></p> linheyuanpcb 发表于 2009-2-28 10:29(defun c:nn()(setq old (getvar "osmode"))(setvar "osmode" 0)(vl-load-com)(if (= nil (tblsearch "styl ...
把你这个命令做成LSP后,加载了,要输入什么命令来使用啊?请指教,多谢了 linheyuanpcb 发表于 2009-2-28 10:29
(defun c:nn()(setq old (getvar "osmode"))(setvar "osmode" 0)(vl-load-com)(if (= nil (tblsearch "styl ...
这个要怎么使用啊?谢谢 地美橄榄树 发表于 2020-4-16 14:26
把你这个命令做成LSP后,加载了,要输入什么命令来使用啊?请指教,多谢了
nn
;批量复线对象长宽标注 明经 ZZXXQQ 2009.2.23
(defun c:tt ()
(vl-load-com)
(command "undo" "be")
(setvar "cmdecho" 0)
(command "ucs" "w")
(if (and (princ "\n选择实体 :") (setq ss (ssget '((0 . "LWPOLYLINE") (90 . 4))))) (progn
(setq i 0)
(repeat (sslength ss)
(setq end (ssname ss i))
(setq end_data (entget end))
(vla-getboundingbox(vlax-ename->vla-object end) 'minp 'maxp)
(setq minp (vlax-safearray->list minp)
maxp (vlax-safearray->list maxp))
(setq minx (car minp)
maxx (car maxp)
miny (cadr minp)
maxy (cadr maxp))
(setq p1 (list minx miny) p2 (list minx maxy)
p3 (list maxx maxy) p4 (list maxx miny))
(command "DIMLINEAR" "non" p1 "non" p2 "non" (polar p2 pi (/ (distance p2 p1) 3)))
(command "DIMLINEAR" "non" p1 "non" p4 "non" (polar p4 (/ pi -2) (/ (distance p4 p3) 3)))
(setq i(1+ i))
)
(command "undo" "e")
))
(princ)
)
能不能做到文字自动避让啊,就是不要让它们有重叠在一起?谢谢 <p>非常感谢<font face="Verdana" color="#da2549"><strong>ZZXXQQ版主,</strong><font color="#000000">我在好多论坛上发过这样的帖子,但不知道是没有挑战性还是不值得--都没有回音,在此再次表示感谢。</font></font></p><p><font face="Verdana">另版主能否将标注改为用文字标注,格式为长度*宽度。</font></p> <div class="tpc_content">(defun c:nn()<br/>(setq old (getvar "osmode"))<br/>(setvar "osmode" 0)<br/>(vl-load-com)<br/><br/>(if (= nil (tblsearch "style" "文字标注"))<br/>(command "-style" "文字标注" "txt" 2 0.8 0 "n" "n" "n")<br/>(command "-style" "文字标注" "txt" 2 0.8 0 "n" "n" "n")<br/>)<br/><br/><br/>(setq p1 (getpoint "\n 请选择窗口的第1点:"))<br/><br/>(setq p2 (getcorner p1 "\n 请选择窗口的第2点:"))<br/><br/>(setq ss (ssget "w" P1 P2 '((0 . "LWPOLYLINE,region,Line"))))<br/><br/><br/>(setq len (sslength ss))<br/>(setq n 0)<br/><br/><br/>(repeat len<br/>(setq ent (ssname ss n))<br/>(setq obj (vlax-ename->vla-object ent))<br/> (vla-GetBoundingBox obj 'pta 'ptb)<br/><br/>(SETQ a (trans (vlax-safearray->list pta) 0 1))<br/>(SETQ b (trans (vlax-safearray->list ptb) 0 1))<br/>(setq jd (polar a (angle a b) (/ (distance a b) 2)))<br/><br/>(setq xzhi (abs (-(car a) (car b))))<br/>(setq yzhi (abs (- (cadr a) (cadr b))))<br/>(setq chicunx (rtos xzhi 2 2))<br/>(setq chicuny (rtos yzhi 2 2))<br/>(setq jieguo (strcat chicunx "X" chicuny))<br/><br/>(command "text" jd "" jieguo "" "")<br/>(setq n (+ 1 n))<br/>)<br/><br/>(setvar "osmode" old)<br/>(princ)<br/>)</div> 试试上面的程序,看下是不是你要的效果 <p>明经这个平台上的高手真多,正是我想要的,非常感谢<font face="Verdana" color="#61b713"><strong>linheyuanpcb、</strong><font color="#da2549"><strong>ZZXXQQ</strong></font><font color="#000000">版主以及所有关注的朋友。</font></font></p><p><strong><font face="Verdana" color="#61b713">linheyuanpcb交个朋友好不?我QQ64400732</font></strong></p> <p><strong><font face="Verdana" color="#61b713">longer1000 你好,程序只是我共享下,呵^^源程序并不是我本人所写</font></strong></p><p><strong><font face="Verdana" color="#61b713"> 我们感谢原作者就好了,呵^^^</font></strong></p> 呵呵,好的
页:
[1]
2