fjutcivil 发表于 2013-8-23 18:13:11

自动绘圆

框选图中所有多段线形成的多边形,并在每个角点绘制一个直径10的小圆




yeahyeah 发表于 2013-8-23 19:34:32

研究研究多段线的组码吧

zlg258369 发表于 2013-8-24 13:42:35

(defun c:plc (/ ss i lis name lit k)
(defun tcp (PLINE)
    (equal (vlax-curve-getStartPoint PLINE)
   (vlax-curve-getEndPoint PLINE)
   1E-6
    )
)
(setq ss (ssget '((0 . "LWPOLYLINE"))))
(setq i 0)
;lis '())
(while (< i (sslength ss))
    (if (tcp (setq name (ssname ss i)))
      (progn
(setq lit (entget name))
(if (= (cdr (assoc 70 lit)) 1)
    (progn
      (foreach tem lit
      (if (= (car tem) 10)
          (entmakex (list '(0 . "CIRCLE") (cons 10 (cdr tem)) '(40 . 5.0)))
      )
      )
    )
    (progn
      (setq lis '())
      (foreach tem lit
      (if (= (car tem) 10)
    (setq lis (cons tem lis))
      )
      )
      (setq k 0)
      (repeat (- (length lis) 1)
      (entmakex (list '(0 . "CIRCLE") (cons 10 (cdr (nth k lis))) '(40 . 5.0)))
      (setq k (+ k 1))
      )
    )
)
      )
    )
    (setq i (+ i 1))
)
)
页: [1]
查看完整版本: 自动绘圆