Advertisement
Guest User

Cochran ddStart Lisp

a guest
Jan 18th, 2018
227
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. ;&l0O;(s16.6H
  2. (defun set_arch ()
  3. (setq is_engr nil is_arch T sscale 1)
  4. (setvar "lunits" 4)
  5. (start_list "arch_list")
  6. (mapcar 'add_list archvals)
  7. (end_list)
  8. )
  9.  
  10. (defun set_engr ()
  11. (setq is_engr T is_arch nil sscale 1)
  12. (setvar "lunits" 4)
  13. (start_list "arch_list")
  14. (mapcar 'add_list engrvals)
  15. (end_list)
  16. )
  17.  
  18. (defun sel_disc (which)
  19.  (cond ((= which "rad_1")(setq scr "none" dis "a"))
  20.        ((= which "rad_2")(setq scr "microsoft-lay" dis "e" ))
  21.        ((= which "rad_3")(setq scr "cochran-eng-lay" dis "c"))
  22.        ((= which "rad_4")(setq scr "cochran-security-lay" dis "m"))
  23.        ((= which "rad_5")(setq scr "microsoft-security-lay" dis "p"))      
  24.        ((= which "rad_6")(setq scr "comm-lay" dis "s"))
  25.        ((= which "rad_7")(setq scr "audio-visual-lay" dis "f"))
  26.  )
  27. )
  28.  
  29. (defun sel_sheet (which)
  30. (setq sht_siz (nth (atoi which) sheetvals))
  31. (setq sheet_x (nth (atoi which) sheet_x_vals))
  32. (setq sheet_y (nth (atoi which) sheet_y_vals))
  33. )
  34.  
  35. (defun sel_sscale (which)
  36. (if (= is_arch T)(setq sscale_list archscale)(setq sscale_list engrscale))
  37. (setq sscale (nth (atoi which ) sscale_list))
  38. )
  39.  
  40. (defun sel_curr_style ()
  41. (setq ofildia (getvar "filedia"))
  42. (setvar "filedia" 0)
  43. (if (/= (strcase (getvar "textstyle"))(strcase curr_style ) )
  44.   (progn
  45.     (if (= (strcase curr_style) "ARCH")
  46.      (COMMAND "_.style" "arch" "verdana" 0 1.0 0 "" "" "")
  47.      (COMMAND "_.style" "verdana" "verdana" 0 1.0 0 "" "" "")
  48.     )
  49.   )
  50. (princ)
  51. )
  52. (setvar "filedia" ofildia)
  53. (setq curr_style nil)
  54. )
  55.  
  56.  
  57. (defun make_setup ()
  58. (setvar "userr1" SSCALE)
  59. (setvar "ltscale" (* SSCALE 0.375))
  60. ;(setvar "dimscale" 1)
  61. (setvar "textsize" (* SSCALE 0.09375))
  62. (setvar "gridunit" (list (* 0.5 SSCALE) (* 0.5 SSCALE)))
  63. (setvar "snapunit" (list (* 0.015 SSCALE) (* 0.015 SSCALE)))
  64. (setvar "dimasz" (* SSCALE 0.125))
  65. (setvar "dimtxt" (* SSCALE 0.09375))
  66. (setvar "gridmode" 1)
  67. (setvar "coords" 1)
  68. (setvar "blipmode" 0)
  69. (setvar "limmin" (list 0.0 0.0))
  70. (setvar "limmax" (list (* SSCALE sheet_x) (* SSCALE sheet_y)))
  71. (setvar "limcheck" 0)
  72. (done_dialog 1)
  73. )
  74.  
  75. (defun drop_out ()
  76. (setq sscale nil dis nil mnu nil is_cancel T is_arch nil is_engr nil
  77.       sht_siz nil sheet_x nil sheet_y nil)
  78. (done_dialog 0)
  79. )
  80. ;--------------------------------------------------------------------
  81. ;DDzstart
  82. ;--------------------------------------------------------------------
  83. (defun c:ddzstart ()
  84.   ; load zstart.dcl
  85.  
  86. (setq zstart_dcl_id (load_dialog "ddzstart.dcl"))
  87. (if (< zstart_dcl_id 0) (exit))
  88.  
  89. (if (not (new_dialog "zstart" zstart_dcl_id)) (exit))
  90.  
  91.  
  92.  
  93. (setq archvals (list         " 1\"=1\""
  94.                            " 1/2\"=1'"
  95.                            " 1/4\"=1'"
  96.                            " 3/16\"=1'"
  97.                            " 1/8\"=1'"
  98.                            " 1/16\"=1'"
  99.                            " 1/32\"=1'"
  100.                            " 3/32\"=1'"
  101.                            " 1\"=1'"
  102.  ))
  103.  
  104. (setq archscale (list 1 24 48 64 96 192 384 128 12 ))
  105.  
  106. (setq engrscale (list 6000 2400 1200 720 600 480 360 240 120 60 ))                      
  107.  
  108.  
  109. (setq engrvals (list        "1\"=500'"
  110.             "1\"=200'"
  111.             "1\"=100'"
  112.             "1\"=60'"
  113.             "1\"=50'"
  114.             "1\"=40'"
  115.             "1\"=30'"
  116.             "1\"=20'"
  117.             "1\"=10'"
  118.             "1\"=5'"                                                                                                                                                                                                                                                                                                                                                              
  119. ))
  120.  
  121. (setq sheetvals (list       "42x30"
  122.                 "36x24"
  123.                 "48x35.5"
  124.                 "8.5x11"                                
  125.                 "11x8.5"
  126.                 "11x17"
  127.                 "17x11"                                                                                                                                                                                                                
  128. ))
  129.  
  130. (setq sheet_x_vals (list 42 36 48 8.5 11 11 17 ))
  131. (setq sheet_y_vals (list 29.75 23.75 35.5 11 8.5 17 11 ))
  132.  
  133. (start_list "arch_list")
  134. (mapcar 'add_list archvals)
  135. (end_list)
  136.  
  137.  
  138. (start_list "sheet_size_list")
  139. (mapcar 'add_list sheetvals)
  140. (end_list)
  141.  
  142.  
  143. ;initialize discipline - verdana,sscale 96, sheet 24x36
  144.  
  145.  
  146. (if (/= (getenv "D") nil)
  147.  (progn
  148.   (cond
  149.     ((= (strcase (getenv "D")) "A")(set_tile "rad_1" "1")(sel_disc "rad_1" ))
  150.     ((= (strcase (getenv "D")) "C")(set_tile "rad_2" "1")(set_tile "rad_9" "1")
  151.                    (set_engr) (sel_disc "rad_2" ))
  152.     ((= (strcase (getenv "D")) "E")(set_tile "rad_3" "1")(sel_disc "rad_3" ))
  153.     ((= (strcase (getenv "D")) "M")(set_tile "rad_4" "1")(sel_disc "rad_4" ))
  154.  
  155.     ((= (strcase (getenv "D")) "S")(set_tile "rad_5" "1")(sel_disc "rad_5" ))
  156.  
  157.      ((or
  158.      (= (strcase (getenv "D")) "S")  
  159.      (= (strcase (getenv "D")) "MH")  (set_tile "rad_6" "1")(sel_disc "rad_6" )))
  160.                    
  161.     ((= (strcase (getenv "D")) "F")(set_tile "rad_7" "1")(sel_disc "rad_7" ))
  162.     ((= (strcase (getenv "D")) "P")(set_tile "rad_8" "1")(sel_disc "rad_8" ))
  163.   )
  164.  )
  165.  (sel_disc "rad_1")  ;sets default to verdana
  166. )
  167.  
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  
  174. (sel_sheet "0")     ;indices into lists for sheet_size and SSCALE
  175. (set_arch)
  176. (sel_sscale "1")
  177.  
  178. ;initialize style to verdana-9.7.93 chged to fs default
  179. (setq curr_style "arch")
  180.  
  181. (action_tile "rad_9" "(set_engr)")
  182. (action_tile "rad_8" "(set_arch)")
  183.  
  184. (action_tile "arch" "(setq curr_style $key)" )
  185. (action_tile "verdana" "(setq curr_style $key)" )
  186.  
  187.  
  188. (action_tile "rad_set" "(sel_disc $value)")
  189. (action_tile "sheet_size_list" "(sel_sheet $value)")
  190. (action_tile "arch_list" "(sel_sscale $value)")
  191. (action_tile "accept" "(make_setup)")
  192. (action_tile "cancel" "(drop_out)")
  193.  
  194. (start_dialog)
  195.  
  196.  
  197. (if (= (get_tile "rad_9" ) "1") (set_engr))
  198. (if (= (get_tile "rad_8" ) "1") (set_arch))
  199.  
  200.  
  201.  
  202. (unload_dialog zstart_dcl_id)
  203.  
  204.  
  205. (if (/= is_cancel T)
  206.   (progn
  207.     (setq is_arch nil is_engr nil )
  208.     (sel_curr_style)
  209.     (load (strcat "start" dis))
  210.     (COMMAND "_.script" scr)
  211.   )
  212. ;    (COMMAND "_.script" "none")
  213. )
  214. (setq is_cancel nil)
  215. (COMMAND "_.snap" "on")
  216. (command "_.zoom" "a" (getvar "limmin")(getvar "limmax"))
  217. (PRINC)
  218. (PRINC)
  219. )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement