这个用一个小插件就可以完成批量绘制圆:
(defun C:tes ( / &k1 &kw1 &ob1 c40 i n1 pt1) (if (null vlax-dump-object) (vl-load-com) ) (if (and (setq c40 (getdist "\n请输入圆的半径")) (> c40 0);输入的值大于0 (princ "\n请选择要绘制圆的多段线") (setq &kw1 (ssget '((0 . "LWPOLYLINE")))) ) (progn (while (setq &k1 (ssname &kw1 0)) (setq &kw1 (ssdel &k1 &kw1) &ob1 (vlax-ename->vla-object &k1)) (setq n1 (fix (vlax-curve-getEndParam &ob1)) i 0);取得坐标数量 (if (null (vlax-curve-isClosed &ob1)) (setq n1 (1+ n1)) );如果不封闭就增加一个点 (repeat n1 (setq pt1 (vlax-curve-getPointAtDist &ob1 (vlax-curve-getDistAtParam &ob1 i)));得到点的坐标 (entmake (list '(0 . "CIRCLE") (cons 10 pt1) (cons 40 c40)));多段线点上绘制圆 (setq i (1+ i)) ) ) ) ) (princ));复制到记事本,以【.lsp】为后缀命名,打开CAD,autolisp加载,命令【TES】