shyzy 发表于 2011-6-24 17:49:47

另有一代码,求改进 (批量圆心位置标直径)

本帖最后由 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)
)

好像是叫触发器吧?

ZZXXQQ 发表于 2011-6-24 21:20:35

也不说要咋改进。

shyzy 发表于 2011-6-25 10:41:22

是想用vlisp啊,比如vla-get-center取圆心,vla-get-diameter取直径,vla-addtext写字这些。

alwtyp 发表于 2011-6-25 10:48:44

不知道想干啥?目的不明確

shyzy 发表于 2011-6-25 10:50:42

没啥不明确的,图纸需要。

zhynt 发表于 2011-6-25 11:11:13

图纸需要和什么代码没什么必然联系吧,我觉得只要能得到需要的结果,用什么方法实现都是无所谓的,如上例,用lsp、vba、.net等均可实现,没有不要过分拘泥。但如果是抱着学习的态度就另当别论了。
页: [1]
查看完整版本: 另有一代码,求改进 (批量圆心位置标直径)