版主,帮忙看看我写的这个小程序速度慢,问题出在哪
这些圆弧原来是二维多段线,我分解后编成圆弧的 不是应该读取圆弧的圆心点坐标和半径值 然后entmake画圆吗?(entmake (list '(0 . "CIRCLE") (cons 10 10_list) (cons 40 40_list)))
以前写过,希望对您有用
;;;桩重画
(DEFUN C:xcct (/ ss n en ent pt lst)
(SETQ ss(SSGET '((0 . "arc,circle")(8 . "桩")))
lst nil
)
(REPEAT (SETQ N (SSLENGTH SS))
(SETQ EN (SSNAME SS (SETQ N (1- N))))
(setq ent (entget en))
(SETQ PT (CDR (ASSOC 10 ent)))
(if (null (vl-remove-if-not '(lambda (x) (equal pt x 1e-6)) lst)
)
(progn (setq lst (cons pt lst))
(entmake (list '(0 . "circle")
(cons 10 pt)
(assoc 8 ent)
(assoc 6 ent)
(assoc 40 ent)
)
)
)
)
(entdel en)
)
(princ)
) 您的速度慢是因为用了join和overkill命令 x_s_s_1 发表于 2020-3-24 21:39
以前写过,希望对您有用
谢谢,效果非常棒,我当时没想起来别的办法 cq4920 发表于 2020-3-24 20:07
你的代码只有一行,我不明白 lty 发表于 2020-3-25 15:00
你的代码只有一行,我不明白
怎么会不明白呢?
cq4920 发表于 2020-3-25 18:02
怎么会不明白呢?
你的程序我试了,也非常棒,效果很好,谢谢了:handshake
页:
[1]