这是一个lisp,其中包含您想要的内容。你可以告诉我们你需要什么。
- (defun c:setup ( / SHEET SCALE SF1)
- (initget "1 2 3 4 Exit")
- (setq SHEET (getkword "\nEnter Sheet [1]22X34,[2]24X36,[3]30X42,[4]36X48/<Exit>: "))
- (if (or (not SHEET) (= SHEET "Exit")) (exit))
- (initget "1 2 3 4 5 6 7 8 9 Exit")
- (setq SCALE (getkword "\nEnter Scale [1]FULL,[2]1/2,[3]1/4,[4]1/8,[5]1/20,[6]1/30,[7]1/40,[8]1/50,[9]custom/<Exit>: "))
- (if (or (not SCALE) (= SCALE "Exit")) (exit))
- (setq SCALE
- (cond
- ((= SCALE "1") 1.0)
- ((= SCALE "2") 24.0)
- ((= SCALE "3") 48.0)
- ((= SCALE "4") 96.0)
- ((= SCALE "5") 240.0)
- ((= SCALE "6") 360.0)
- ((= SCALE "7") 480.0)
- ((= SCALE "8") 600.0)
- ((= SCALE "9")
- (initget "Exit")
- (setq SF1 (getreal "\nEnter the desired scale factor/<Exit>: "))
- (if (or (not SF1) (= SF1 "Exit")) (exit))
- SF1
- ) ;_ c9
- ) ;_ cond
- ) ;_ setq
- (command ".DIMSCALE" SCALE ".LTSCALE" (/ SCALE 2.0))
- (cond
- ((= SHEET "1")
- ;; 22X34
- ;; DO SOMETHING FOR THIS SHEET
- ) ;_ c1
- ((= SHEET "2")
- ;; 24X36
- ;; DO SOMETHING FOR THIS SHEET
- ) ;_ c2
- ((= SHEET "3")
- ;; 30X42
- ;; DO SOMETHING FOR THIS SHEET
- ) ;_ c3
- ((= SHEET "4")
- ;; 36X48
- ;; DO SOMETHING FOR THIS SHEET
- ) ;_ c4
- ) ;_ cond
- (princ "\nDimscale = ") (princ (getvar "dimscale"))
- (princ "\nLTscale = ") (princ (getvar "ltscale"))
- (princ)
- ) ;_ defun c:setup
希望这有帮助!!! |