| 经过调试的程序:  (DEFUN C:DIMCHANGE ()  (SETvar "CMDECHO" 0)  (SETQ OLDOS (GETvar "OSMODE"))  (IF (SETQ SB (SSGET)) (PROGN   (SETQ SD (ENTSEL "\nSelect a Dimtion 选择驱动尺寸:"))   (SETQ SD-DXF (ENTGET (CAR SD)))   (WHILE (NOT (WCMATCH (CDR (ASSOC 0 SD-DXF)) "*DIM*"))     (SETQ SD (ENTSEL "\nSelect a Dimtion 选择驱动尺寸:"))     (SETQ SD-DXF (ENTGET (CAR SD)))   )   (SETQ SP (CDR (ASSOC 13 SD-DXF))               EP (CDR (ASSOC 14 SD-DXF))               ANG (CDR (ASSOC 50 SD-DXF)))   (IF (OR (EQUAL ANG 0.0 0.00001) (EQUAL ANG PI 0.00001))     (SETQ L (ABS (- (CAR SP) (CAR EP))))     (SETQ L (ABS (- (CADR SP) (CADR EP))))   )   (PRINC "\nEnter New Distance 新的长度<") (PRINC L)   (SETQ NEWL (GETDIST ">:")               NEWL (IF NEWL NEWL L))   (SETQ BSB (- L NEWL))   (SETQ SS1 (SSGET "C" SP SP))   (SETQ SL (SSLENGTH SB) I 0 J -1)   (REPEAT SL     (IF (SSDEL (SSNAME SB I) SS1) (SETQ J I))     (SETQ I (1+ I))   )   (IF (>= J 0)     (SETQ SSP SP)     (SETQ SSP EP ANG (+ ANG PI) BSB (* BSB -1))   )   (SETQ N-SP (POLAR SSP ANG BSB))   (SETvar "OSMODE" 0)   (COMMAND "_.UNDO" "_GROUP")   (COMMAND "MOVE" SB "" SSP N-SP "STRETCH" "C" SSP SSP "" SSP N-SP)   (COMMAND "_.UNDO" "_END")   (SETvar "OSMODE" OLDOS)  ))  (SETvar "CMDECHO" 1)  (princ))
 |