home *** CD-ROM | disk | FTP | other *** search
/ DP Tool Club 8 / CDASC08.ISO / VRAC / SEP93CAD.ZIP / TIP897.LSP < prev    next >
Lisp/Scheme  |  1993-08-31  |  4KB  |  105 lines

  1. ; TIP897:  SET-UP.LSP  Setup Information   (C)1993, John K. Sherman
  2.  
  3. ; ****************************************************************
  4. ; Calculate and set TEXTSIZE, DIMSCALE, LTSCALE
  5. ; and record SET-UP parameters.
  6. ;
  7. ; --------------------- PRDATA -------------------
  8. (defun PRDATA ()
  9.    (setq dnam (getvar "DWGNAME"))
  10.    (setq dnam (strcase dnam))
  11.    (setq fnam (strcat dnam ".PAR"))
  12.    (setq setdat (open fnam "w"))
  13.    (write-line (strcat "DRAWING NAME:   " dnam) setdat)
  14.    (write-line "SET-UP DATA / SET-UP.LSP" setdat)
  15.    (write-line "------------------------" setdat)
  16.    (write-line (strcat "RUN MVSETUP 1st    " mv1) setdat)
  17.    (write-line (strcat "UNIT TYPE:         " ut) setdat)
  18.    (write-line (strcat "SCALE FACTOR:      " (rtos sf 2 1)) setdat)
  19.    (write-line (strcat "TEXTSIZE:          " (rtos ts 2 3)) setdat)
  20.    (write-line (strcat "PLOTTED TEXTSIZE:  " (rtos tso 2 5)) setdat)
  21.    (write-line (strcat "LTSCALE:           " (rtos lsc 2 4)) setdat)
  22.    (write-line (strcat "DIMSCALE:          " (rtos ds 2 4)) setdat)
  23.    (write-line (strcat "PAPER SIZE:        " psz) setdat)
  24.    (close setdat)
  25. )
  26. ; ---------- MAIN PROGRAM --------------
  27. (defun C:SET-UP (/ ans d dnam ds fnam lu l lsc mv1 psz sf ts tso 
  28.    u ut ux uy)
  29.    (graphscr)
  30.    (setvar "CMDECHO" 0)
  31.    ;
  32.    ; ---------- SCALE FACTOR --------------
  33.    (setq lu (getpoint
  34.    "\nPick or Enter coordinates of upper right corner: ")) 
  35.    (terpri)
  36.    (if (/= mv_sc nil)
  37.       (progn
  38.          (setq sf mv_sc)
  39.          (setq mv1 "YES")
  40.       )
  41.       (progn
  42.          (princ "To convert a SCALE of 1/2")
  43.          (princ (chr 34))
  44.          (princ" = 1'-0")
  45.          (princ (chr 34))
  46.          (princ " to SCALE FACTOR, work in the same units, ")
  47.          (terpri)
  48.          (princ "use 1/2:12/1 converts to 1:24/1 or 1:24 to get a ")
  49.          (princ "SCALE FACTOR of 24.")
  50.          (setq sf (getreal "\nEnter Scale Factor "))
  51.          (setq mv1 "NO")
  52.       )
  53.    )
  54.    ; ---------- UNIT TYPE --------------
  55.    (prompt "UNIT TYPES: 1=SCI: 2=DEC: 3=ENGR: 4=ARCH: 5=METRIC")
  56.    (setq ans (getreal "\nEnter Unit Type Number: "))
  57.    (cond ((= ans 1) (setq ut "SCIENTIFIC"))
  58.       ((= ans 2) (setq ut "DECIMAL"))
  59.       ((= ans 3) (setq ut "ENGINEERING"))
  60.       ((= ans 4) (setq ut "ARCHITECTURAL"))
  61.       ((= ans 5) (setq ut "METRIC"))
  62.    )
  63.    ; ------------ TEXT SIZE ---------------
  64.    (setq ts (getreal
  65.    "\nEnter text size desired on plot <3/32>: ")) 
  66.    ; CHANGE TO SUIT
  67.    (terpri)
  68.    (if (= ts nil) ;accept default with <CR>
  69.       (setq ts 0.09375)               
  70.       ; CHANGE TO AGREE WITH ABOVE CHANGE
  71.    )
  72.    (cond
  73.       ((/= ans 5) (setq ts (* ts sf)))
  74.       ((= ans 5) (setq ts (* ts sf 25.4)))
  75.    )
  76.    (command "TEXTSIZE" ts)
  77.    (setq tso (/ ts sf))
  78.    ;
  79.    ; --------- DIMSCALE ----------
  80.    (setq ds (/ ts (getvar "DIMTXT")))
  81.    (command "DIMSCALE" ds)
  82.    ;
  83.    ; --------- LTSCALE -----------
  84.    (setq l (getvar "limmin"))
  85.    (setq u (getvar "limmax"))
  86.    (setq d (distance l u))
  87.    (setq lsc (fix (/ d 36)))  
  88.    ; CHANGE TO SUIT
  89.    (if (< lsc 1.0) (setq lsc (/ d 36)))  
  90.    ; CHANGE TO SUIT
  91.    (command "ltscale" lsc)
  92.    ;
  93.    ; -------- PAPER SIZE ---------
  94.    (setq ux (/ (car lu) sf))
  95.    (setq uy (/ (cadr lu) sf))
  96.    (setq ux (rtos ux 2 1))
  97.    (setq uy (rtos uy 2 1))
  98.    (setq psz (strcat  ux " X " uy )
  99.    )
  100.    ; -----------------------------
  101.    (PRDATA)
  102.    (princ "\nSee or import ")(princ fnam)
  103.    (princ " for listing of SET-UP parameters.") (princ)
  104. )
  105.