home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 13 / 13.iso / p / p034 / 2.ddi / ARCA / USERDEF / SPLIT.CCC < prev    next >
Encoding:
Text File  |  1993-04-18  |  2.4 KB  |  176 lines

  1. %split.ccc
  2. *12/2/91- Menachem
  3. * geometric sections all options, leaves both sides
  4. :i
  5. ascii c100 r13
  6. if r13 eq 32 :1
  7. mess illegal command, use \GEOM first !
  8. getwe
  9. goto :i
  10. :1
  11. sbreset
  12. mess option: plane: (o-orthogonal, d-diagonal, f-free) <o>
  13. c242='o'
  14. def c242 1
  15. getc c242 1
  16. ascii c242 r10
  17. if r10 eq 100 :d
  18. if r10 eq 102 :f
  19. if r10 eq 111 :t
  20. goto :1
  21. :t
  22. mess axis of section (x,y or z)
  23. getc c2 1
  24. ascii c2 r7
  25. if r7 lt 120 :t
  26. if r7 gt 122 :t
  27. :3
  28. mess define the section by: v-value, p-point <p>
  29. c242='p'
  30. def c242 1
  31. getc c242 1
  32. ascii c242 r8
  33. if r8 eq 118 :v
  34. if r8 ne 112 :3
  35. mess point on section plane
  36. getp p1
  37. if r7 eq 120 :x
  38. if r7 eq 121 :y
  39. if r7 eq 122 :z
  40. :x
  41. y2=y1+3; p2=x1 y2 z1
  42. z3=z1+3; p3=x1 y2 z3
  43. x4=x1+1;y4=y1;z4=z1
  44. x5=x1-1;y5=y1;z5=z1
  45. p6=p4
  46. p7=p5
  47. c1='a'
  48. goto :p
  49. :y
  50. x2=x1+3; p2=x2 y1 z1
  51. z3=z1+3; p3=x2 y1 z3
  52. x4=x1;y4=y1+1;z4=z1
  53. x5=x1;y5=y1-1;z5=z1
  54. p6=p4
  55. p7=p5
  56. c1='a'
  57. goto :p
  58. :z
  59. y2=y1+3; p2=x1 y2 z1
  60. x3=x1+3; p3=x3 y2 z1
  61. x4=x1;y4=y1;z4=z1+1
  62. x5=x1;y5=y1;z5=z1-1
  63. p6=p4
  64. p7=p5
  65. c1='a'
  66. goto :p
  67. :v
  68. mess value on axis
  69. getrd r6
  70. r2=r6+1
  71. c1='c'
  72. goto :p
  73. :d
  74. mess first point on section plane
  75. getp p1
  76. mess second point on section plane
  77. rubber line
  78. getp p2
  79. rubber off
  80. mess pick point on first cut entity
  81. getp p3
  82. mess pick point on second cut entity
  83. getp p5
  84. p6=p3
  85. p7=p5
  86. c1='b'
  87. goto :p
  88. :f
  89. mess first point on section plane
  90. getp p1
  91. mess second point on section plane
  92. getp p2
  93. mess third point on section plane
  94. getp p3
  95. mess pick point on first cut entity
  96. getp p4
  97. mess pick point on second cut entity
  98. getp p5
  99. p6=p4
  100. p7=p5
  101. c1='a'
  102. :p
  103. mess entity to section
  104. :Z
  105. gete i1
  106. i7=i1
  107. mess confirm choice
  108. getyn r3;unshow i1; if r3 eq 1 :c; goto :p
  109. :c
  110. if r8 eq 118 :0
  111. goto :2
  112. :0
  113. r1=r6
  114. :2
  115. ascii c1 r5
  116. if r5 eq 99 :j
  117. c2='q'
  118. :j
  119. r4=0;i3=0
  120. ovl secdb
  121. i8=i3;*new first entity
  122. i1=i7
  123. if r5 eq 98 :9
  124. if r5 eq 99 :E
  125. p4=p5
  126. goto :5
  127. :E
  128. r2=r1-2
  129. goto :5
  130. :9
  131. p3=p5
  132. :5
  133. r4=0;i3=0
  134. ovl secdb
  135. i49=1
  136. if r4 eq 0 :4
  137. if r4 eq 2 :7
  138. if r4 eq 3 :8
  139. mess Error, indicate the wall axial line, try again:
  140. r1 = 0
  141. goto :Z
  142. :7
  143. mess Error, indicated entity is not a solid, try again:
  144. r1=0
  145. goto :Z
  146. :8
  147. mess Error, new entity was not created !
  148. getw
  149. r1=0
  150. goto :6
  151. :4
  152. mess keep the result ?
  153. getyn r1
  154. r33=r1
  155. :6
  156. if r33 eq 1 :D
  157. i9=i1;c211=c1;r32=r2
  158. i1=i8;c1='1';r2=0;ovl dele
  159. i1=i9;c1=c211;r2=r32
  160. :D
  161. i5=1;i2=0
  162. ovl ynlin1
  163. if r5 eq 98 :u
  164. if r5 eq 99 :r
  165. p4=p6
  166. p5=p7
  167. goto :l
  168. :u
  169. p3=p6
  170. p5=p7
  171. goto :l
  172. :r
  173. r2=r6+1
  174. :l
  175. repeat :p
  176.