试着祈祷
- (defun C:Test (/ SOLID EL vte os RAD n List_p s1 edge p1 p2 pm)
- ;*** GP_ 06 dec. 2011 ***
- (if (not (member "geomcal.arx" (arx))) (arxload "geomcal"))
- (setq EL (entlast))
- (setq vte (getvar "vtenable"))
- (setq os (getvar "osmode"))
- (setq cmd (getvar "cmdecho"))
- (setvar "vtenable" 0)
- (setvar "cmdecho" 0)
- (prompt "\nSelect 3DSOLID ")
- (if (and
- (setq SOLID (ssget '((0 . "3DSOLID"))))
- (setq RAD (getreal "\nFillet radius "))
- )
- (progn
- (if (tblsearch "VIEW" "#") (command "_-VIEW" "_D" "#"))
- (command "_-VIEW" "_S" "#" )
- (command "_VPOINT" "1,-1.3,1")
- (setvar "osmode" 0)
- (repeat (setq n (sslength SOLID))
- (setq List_p nil)
- (setq s1 (ssname SOLID (setq n (1- n))))
- (if (> (distof (substr (getvar "acadver") 1 4)) 18.1)
- (command "isolateobjects" s1 "")
- )
- (command "_ZOOM" "_OBJ" s1 "")
- (command "_XEDGES" s1 "")
- (while (setq edge (entnext EL))
- (setq p1 (cdr (assoc 10 (entget edge))))
- (setq p2 (cdr (assoc 11 (entget edge))))
- (entdel edge)
- (setq List_p (cons (cal "pm=plt(p1,p2,0.5)") List_p))
- )
- (repeat (setq i (length List_p))
- (command "_FILLET" (nth (setq i (1- i)) List_p) RAD "")
- )
- (if (> (distof (substr (getvar "acadver") 1 4)) 18.1)
- (command "unisolateobjects" "")
- )
- )
- (command "_-VIEW" "_R" "#")
- (command "_-VIEW" "_D" "#")
- (setvar "vtenable" vte)
- (setvar "cmdecho" cmd)
- (setvar "osmode" os)
- )
- )
- (princ)
- )
|