现在试试这个草稿。
- (defun c:test (/ s i sn ss lst le di j)
- (vl-load-com)
- (if (setq s (ssget "_:L" '((0 . "CIRCLE,LINE"))))
- (repeat (setq i (sslength s))
- (setq sn (ssname s (setq i (1- i))))
- (if (eq (cdr (assoc 0 (entget sn))) "CIRCLE")
- (progn
- (setq le (/ (vlax-curve-getdistatparam sn (vlax-curve-getendparam sn))
- 50
- )
- di le
- )
- (repeat 50
- (setq lst (vl-list* (vlax-curve-getpointatdist sn le) lst))
- (setq le (+ di le))
- )
- (if (setq ss (ssget "_WP" lst '((0 . "~CIRCLE"))))
- (repeat (setq j (sslength ss))
- (entdel (ssname ss (setq j (1- j))))
- )
- )
- (setq lst nil)
- )
- (entdel sn)
- )
- )
- (princ)
- )
- (princ)
- )
|