如何选择最后画出来的图形?
用(command "_.qdim" )画完的快速标注,有什么办法自动选择刚标注完的标注吗?
(setq en(entlast)这个en就是最后一个生成的图元了 帮顶一次,我想标注最后画的圆直径,经常选不上 entlast lxw320 发表于 2021-8-13 23:46
entlast
entlast只是最后一个标注,想要的是qdim标出来的一整排哦 qijun0818 发表于 2021-8-14 18:29
(setq en(entlast)这个en就是最后一个生成的图元了
entlast只是最后一个标注,想要的是qdim标出来的一整排哦 (defun xyp-SSelEntnext (en / ss);;本子函数by院长
(setq ss (ssadd))
(while (setq en (entnext en))
(ssadd en ss)
)
(if (zerop (sslength ss))
nil
ss
)
)
;qdim之前先获取最后一个图元
(setq en(entlast))
;然后qdim(vl-cmdf "qdim"......)......
(setq s1(xyp-SSelEntnext en))
;这个s1就是qdim以后的所有标注了 qijun0818 发表于 2021-8-15 16:04
(defun xyp-SSelEntnext (en / ss);;本子函数by院长
(setq ss (ssadd))
(while (setq en (entnext en)) ...
感谢指导!之前也是这样弄的,但是qdim完成后,下面的代码就不跑了,很奇怪!
;;125.1 [功能] 获取在图元 en 之后产生的图元列表
(defun MJ:EntNextAll (EN / LST)
(if EN
(while (setq EN (entnext EN))
(if (not (member (cdr (assoc 0 (entget EN)))
'("ATTRIB" "VERTEX" "SEQEND")
)
)
(setq LST (cons EN LST))
)
)
)
(reverse LST)
)
(setq 0t (entlast))
(command "qdim")
(setq enlst (MJ:EntNextAll 0t))
这里,(command "qdim")执行完后,下一句程序就不跑了,手动跑一次(setq enlst (MJ:EntNextAll 0t)),它就可以,不知道为什么:dizzy: 解决了吗??
页:
[1]