
- (defun c:adf (/ sel el e n ju pt0 r angs
- ange pts pte ang larc larc_s larc_ju
- po_en m
- )
- (setvar "CMDECHO" 0)
- (setq sel (car (entsel "\n请选择圆弧:<Exit> ")))
- (if (/= sel nil)
- (progn
- (setq el (entget sel))
- (setq e (assoc 0 el))
- (if (= "ARC" (cdr e))
- (progn
- (setq n (getint "\n等分数:"))
- (setq ju (getreal "\n等分间距:"))
- (setq pt0 (cdr (assoc 10 el)))
- (setq r (cdr (assoc 40 el)))
- (setq angs (cdr (assoc 50 el)))
- (setq ange (cdr (assoc 51 el)))
- (setq pts (polar pt0 angs r)
- pte (polar pt0 ange r)
- )
- (setq ang (- ange angs))
- (if (< ang 0)
- (setq ang (- (* 2 pi) (abs ang)))
- )
- (setq larc (* r ang))
- (setq larc_s (/ (- larc (* ju (- n 1))) n))
- (setq ang_s (* (/ (/ larc_s r) pi) 180.00))
- (setq ang_ju (* (/ (/ ju r) pi) 180.00))
- (command "point" pts)
- (command "ROTATE" "L" "" pt0 ang_s)
- (command "copy" "l" "" "@" "@")
- (setq m 0)
- (setq n1 (- n 2))
- (while (/= n1 m)
- (command "rotate" "l" "" pt0 (+ ang_s ang_ju))
- (command "copy" "l" "" "@" "@")
- (setq n1 (- n1 1))
- )
- (command "point" pts)
- (command "ROTATE" "L" "" pt0 (+ ang_s ang_ju))
- (command "copy" "l" "" "@" "@")
- (setq m 0)
- (setq n1 (- n 2))
- (while (/= n1 m)
- (command "rotate" "l" "" pt0 (+ ang_s ang_ju))
- (command "copy" "l" "" "@" "@")
- (setq n1 (- n1 1))
- )
- )
- )
- )
- )
- )
|