另有一代码,求改进 (批量圆心位置标直径)
本帖最后由 shyzy 于 2011-6-24 17:50 编辑(defun c:cr(/ ss n i sname pt pd);圆心位置标直径
(setq ss (ssget '((0 . "circle"))))
(setq n (sslength ss))
(setq i 0)
(while (< i n)
(setq sname (ssname ss i))
(setq pt (cdr (assoc 10 (entget sname))));圆心
(setq pd (cdr (assoc 40 (entget sname))));直径
(command "_.text" "j" "mc" pt (* pd 0.8) "0" (rtos (* pd 2) 2 0))
(setq i (1+ i))
)
(princ)
)
好像是叫触发器吧?
也不说要咋改进。 是想用vlisp啊,比如vla-get-center取圆心,vla-get-diameter取直径,vla-addtext写字这些。 不知道想干啥?目的不明確 没啥不明确的,图纸需要。 图纸需要和什么代码没什么必然联系吧,我觉得只要能得到需要的结果,用什么方法实现都是无所谓的,如上例,用lsp、vba、.net等均可实现,没有不要过分拘泥。但如果是抱着学习的态度就另当别论了。
页:
[1]