home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 13 / 13.iso / p / p190 / 3.ddi / LSP / HM13.LSP < prev    next >
Encoding:
Text File  |  1990-03-09  |  4.3 KB  |  126 lines

  1. ;****************************************
  2. ;*  The fuction for drwing chain wheel  *
  3. ;****************************************
  4. (DEFUN CWHEEL ()
  5. (SETVAR "CMDECHO" 0)
  6. (SETVAR "BLIPMODE" 0)
  7. (SETQ DGCH "")
  8. ;▓╬╩²╩Σ╚δ:
  9. (MENUCMD "S=CW1")
  10. (PRINC "\n╠ß╩╛:╕├╧ε╩Σ╚δ▒╪╨δ╡π╚í╧α╙ª╡─▓╦╡Ñ: ")
  11. (SETQ XH (GETSTRING "\n╟δ╩Σ╚δ╣÷╫╙┴┤╡─╨═║┼: "))
  12. (SETQ P (GETREAL))
  13. (SETQ D1 (GETREAL))
  14. (SETQ B1 (GETREAL))
  15. (SETQ H2 (GETREAL))
  16. (MENUCMD "S=IN1")
  17. (SETQ Z (GETREAL "\n╟δ╩Σ╚δ┴┤┬╓╡─│▌╩²: "))
  18. (SETQ D (/ P (SIN (/ PI Z))))
  19. (SETQ DF (- D D1))
  20. (SETQ DAX (- (+ D (* 1.25 P)) D1))
  21. (SETQ DAN (- (+ D (* (- 1 (/ 1.6 Z)) P)) D1))
  22. (GRTEXT -1 (STRCAT "│▌╢Ñ╘▓╓▒╛╢╖╢╬º: " "(" (RTOS DAN 2 2) "," (RTOS DAX 2 2) ")"))
  23. (SETQ DA (GETREAL "\n╟δ╩Σ╚δ│▌╢Ñ╘▓╓▒╛╢: "))
  24. (SETQ HAX (- (* (+ 0.625 (/ 0.8 Z)) P) (* 0.5 D1)))
  25. (SETQ HAN (* 0.5 (- P D1)))
  26. (GRTEXT -1 (STRCAT "╖╓╢╚╘▓╧╥│▌╕▀╖╢╬º: " "(" (RTOS HAN 2 2) "," (RTOS HAX 2 2) ")"))
  27. (SETQ HA (GETREAL "\n╟δ╩Σ╚δ╖╓╢╚╘▓╧╥│▌╕▀: "))
  28. (SETQ DGX (- (* P (/ (COS (/ PI Z)) (SIN (/ PI Z)))) (* 1.04 H2) 0.76))
  29. (GRTEXT -1 (STRCAT "│▌▓α═╣╘╡╓▒╛╢ <= " (RTOS DGX 2 2)))
  30. (SETQ DG (GETREAL "\n╟δ╩Σ╚δ│▌▓α═╣╘╡╓▒╛╢: "))
  31. (IF (<= P 12.7)(SETQ BF1 (* 0.93 B1))(SETQ BF1 (* 0.95 B1)))
  32. (SETQ BAN (* 0.1 P))
  33. (SETQ BAX (* 0.15 P))
  34. (GRTEXT -1 (STRCAT "╡╣╜╟┐φ╡─╖╢╬º: " "(" (RTOS BAN 2 2) "," (RTOS BAX 2 2) ")"))
  35. (SETQ BA (GETREAL "\n╟δ╩Σ╚δ│▌▓┐╡╣╜╟┐φ: "))
  36. (COND ((= XH "A")
  37. (GRTEXT -1 (STRCAT "╡╣╜╟░δ╛╢ >= " (RTOS P 2 2)))
  38. (SETQ RX (GETREAL "\n╟δ╩Σ╚δ╡╣╜╟░δ╛╢: "))
  39. (SETQ RX (* RX S))
  40. ))
  41. (MENUCMD "S=IN1")
  42. ;(SETQ L1 (GETREAL "\n╟δ╩Σ╚δ┴┤┬╓╡─│▌┐φ: "))
  43. (GRTEXT -1 (STRCAT "┬╓╘╡╓▒╛╢ < " (RTOS DG 2 2)))
  44. (SETQ D2 (GETREAL "\n╟δ╩Σ╚δ┴┤┬╓┬╓╘╡╓▒╛╢: "))
  45. (SETQ L (GETREAL "\n╟δ╩Σ╚δ┴┤┬╓┬╓╘╡╡─┐φ╢╚: "))
  46. (GRTEXT)
  47. (MENUCMD "S=IN2")
  48. (INITGET "Y N")
  49. (SETQ YN (GETKWORD "\n╩╟╖±╙╨╣½▓ε: "))
  50. (MENUCMD "S=IN1")
  51. (COND ((= YN "Y")
  52.                (SETQ SCHL (GETREAL "\n╟δ╩Σ╚δ╔╧╞½▓ε(0): "))
  53.                (IF (= SCHL NIL)(SETQ SCHL 0))
  54.                (SETQ XCHL (GETREAL "\n╟δ╩Σ╚δ╧┬╞½▓ε(0): "))
  55.                (IF (= XCHL NIL)(SETQ XCHL 0))
  56. ))
  57. (SETQ DGL1 (GETREAL "\n╟δ╩Σ╚δ┬╓╘╡╡╣╜╟│ñ╢╚(0): "))
  58. (COND ((= DGL1 NIL)(SETQ DGL1 0)))
  59. (IF (= DGL1 0)(SETQ ANGL 0)
  60.     (SETQ ANGL (GETREAL "\n╟δ╩Σ╚δ┬╓╘╡╡╣╜╟: ")))
  61. (SETQ H (* 0.5 P))
  62. (SETQ P (* P S) D1 (* D1 S) B1 (* B1 S) H2 (* H2 S))
  63. (SETQ D (* D S) DF (* DF S))
  64. (SETQ DA (* DA S) HA (* HA S) DG (* DG S) BF1 (* BF1 S) BA (* BA S) H (* H S))
  65. (SETQ D2 (* D2 S) L (* L S))
  66. ;╝╞╦π║═╗µ═╝:
  67. (SETQ RA (* 0.04 P))
  68. (SETQ L1 (+ BF1 (* RA 2)))
  69. (SETQ P1 (LIST XB (+ YB (/ D2 2))))
  70. (SETQ P2 (LIST (+ (CAR P1) (/ (- L L1) 2)) (CADR P1)))
  71. (SETQ P3 (LIST (CAR P2) (+ YB (/ DG 2))))
  72. (SETQ P4 (LIST (+ (CAR P3) RA) (+ (CADR P3) RA)))
  73. (SETQ P6 (LIST (+ (CAR P4) BA) (+ YB (/ DA 2))))
  74. (COND ((= XH "B") (SETQ P5 (LIST (CAR P4) (- (CADR P6) H)))))
  75. (SETQ P7 (LIST (+ XB (/ L 2)) (CADR P6)))
  76. (SETQ B (LIST XB YB))
  77. (COMMAND "LINE" B P1 P2 P3 "")
  78. (COMMAND "ARC" P3 "E" P4 "R" RA )
  79. (IF (= XH "A") (COMMAND "ARC" P6 "E" P4 "R" RX )
  80.                (COMMAND "LINE" P4 P5 P6 "")
  81. )
  82. (COMMAND "LINE" P6 P7 "")
  83. (SETQ P7B (LIST (CAR P7) YB))
  84. (COMMAND "MIRROR" "W" B P7 "" P7 P7B "N")
  85. (COMMAND "LAYER" "N" "F7" "S" "F7" "L" "DASHDOT" "" "C" "Y" "" "")
  86. (SETQ P8 (LIST (CAR P4) (+ YB (/ D 2))))
  87. (SETQ P9 (LIST (+ (CAR P8) BF1) (+ YB (/ D 2))))
  88. (COMMAND "LINE" P8 P9 "")
  89. (COMMAND "LAYER" "S" 0 "L" "" "" "")
  90. (SETQ RT (LIST (+ XB L) (CADR P7)))
  91. (COMMAND "MIRROR" "W" B RT "" B P7B "N")
  92. (FN)
  93. (SETQ DL1 D2 DR1 D2 L1 L ANGR BA)
  94. (IF (= XH "A") (SETQ DGR1 RX) (SETQ DGR1 H))
  95. (SETQ DL1 (/ DL1 S) DR1 (/ DR1 S) L1 (/ L1 S) DA (/ DA S))
  96. (SETQ HA (/ HA S) ANGR (/ ANGR S) DGR1 (/ DGR1 S))
  97. (SETQ RA (/ RA S) DG (/ DG S) P (/ P S) D1 (/ D1 S))
  98. (SETQ BF1 (/ BF1 S))
  99. (attdef2)
  100. (ATTDEF1 "SCHD1" DA FPT)
  101. (ATTDEF1 "XCHD1" HA FPT)
  102. (ATTDEF1 "LK1" RA FPT)
  103. (ATTDEF1 "LL1" D1 FPT)
  104. (ATTDEF1 "GPSZ1" "CW" FPT)
  105. (ATTDEF1 "M1" P FPT)
  106. (ATTDEF1 "BF1" BF1 FPT)
  107. (ATTDEF1 "ALF1" DG FPT)
  108. (ATTDEF1 "Z11" Z FPT)
  109. (ATTDEF1 "DIR1" XH FPT)
  110. (SETQ LB (LIST (CAR B) (- YB (/ DA 2))))
  111. (SETQ RT (LIST (+ XB L) (+ YB (/ DA 2))))
  112. (command "block" no fpt "w" LB RT "")
  113. (command "insert" no fpt "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "")
  114. (XB1)
  115. ;(REDRAW)
  116. ;(MENUCMD "S=IN2")
  117. ;(SETQ YN (GETSTRING "\n╩╟╖±╝╠╨°╗¡═Γ▒φ├µ: "))
  118. ;(IF (OR (= YN "Y") (= YN "y"))
  119. ; (PROGN(MENUCMD "I=YY")
  120. ;       (MENUCMD "I=*")
  121. ; )
  122.                (MENUCMD "S=SCREEN")
  123. ;)
  124. )
  125. (CWHEEL)
  126.