 - (defun c:tt(/ getcirpts ssgetcir s en ss)
- ;;;计算园的分割点 en 园的图元名 n 园的分割段数
- (defun getcirpts (en n / i d pl)
- (setq i 0 d (/ pi n 0.5))
- (repeat n
- (setq pl (cons (vlax-curve-getpointatparam en i) pl)
- i (+ i d)
- )
- )
- (reverse pl)
- )
- ;;;参数 cir 园的图元名 filter 过滤表 n 园的分割段数
- (defun ssgetcir (cir filter n)
- (if filter
- (ssget "wp" (getcirpts cir n) filter)
- (ssget "wp" (getcirpts cir n))
- )
- )
- ;;;选择的园要在图形可见范围内
- (setq s (ssget '((0 . "circle"))))
- (if s
- (repeat (setq k (sslength s))
- (setq en (ssname s (setq k (1- k))))
- (if (setq ss (ssgetcir en '((0 . "line")) 20)) ;_ 过滤表可自行修改
- (command "erase" ss "")
- )
- )
- )
- )
|