 - (defun C:TELLIPSE ()
- (setq OLDZIN (getvar "DIMZIN") OLDOS (getvar "OSMODE"))
- (setvar "CMDECHO" 0) (setvar "OSMODE" 0) (setvar "DIMZIN" 8)
- (princ "\nSelect Ellipse(s) 选择椭圆(弧) :")
- (setq SS (ssget '((0 . "ELLIPSE"))))
- (setvar "PELLIPSE" 1)
- (repeat (setq i (sslength SS))
- (setq SN (ssname SS (setq i (1- i))) LC (entget SN))
- (setq LPRO (cdr (assoc 41 LC))
- X1 (cadr (assoc 10 LC)) X2 (+ X1 (cadr (assoc 11 LC)))
- Y1 (caddr (assoc 10 LC)) Y2 (+ Y1 (caddr (assoc 11 LC)))
- PT1 (list X1 Y1) PT2 (list X2 Y2) DISX (distance PT1 PT2)
- XYDIS (* (cdr (assoc 40 LC)) DISX) ANN (cdr (assoc 42 LC)))
- (if (= LPRO 0)
- (command "ERASE" SN "" "ELLIPSE" "C" PT1 PT2 XYDIS)
- (princ "\n椭圆弧")
- )
- )
- (setvar "PELLIPSE" 0) (setvar "OSMODE" OLDOS) (setvar "DIMZIN" OLDZIN)
- (setvar "CMDECHO" 1)
- (princ)
- )
|