home *** CD-ROM | disk | FTP | other *** search
- %split.ccc
- *12/2/91- Menachem
- * geometric sections all options, leaves both sides
- :i
- ascii c100 r13
- if r13 eq 32 :1
- mess illegal command, use \GEOM first !
- getwe
- goto :i
- :1
- sbreset
- mess option: plane: (o-orthogonal, d-diagonal, f-free) <o>
- c242='o'
- def c242 1
- getc c242 1
- ascii c242 r10
- if r10 eq 100 :d
- if r10 eq 102 :f
- if r10 eq 111 :t
- goto :1
- :t
- mess axis of section (x,y or z)
- getc c2 1
- ascii c2 r7
- if r7 lt 120 :t
- if r7 gt 122 :t
- :3
- mess define the section by: v-value, p-point <p>
- c242='p'
- def c242 1
- getc c242 1
- ascii c242 r8
- if r8 eq 118 :v
- if r8 ne 112 :3
- mess point on section plane
- getp p1
- if r7 eq 120 :x
- if r7 eq 121 :y
- if r7 eq 122 :z
- :x
- y2=y1+3; p2=x1 y2 z1
- z3=z1+3; p3=x1 y2 z3
- x4=x1+1;y4=y1;z4=z1
- x5=x1-1;y5=y1;z5=z1
- p6=p4
- p7=p5
- c1='a'
- goto :p
- :y
- x2=x1+3; p2=x2 y1 z1
- z3=z1+3; p3=x2 y1 z3
- x4=x1;y4=y1+1;z4=z1
- x5=x1;y5=y1-1;z5=z1
- p6=p4
- p7=p5
- c1='a'
- goto :p
- :z
- y2=y1+3; p2=x1 y2 z1
- x3=x1+3; p3=x3 y2 z1
- x4=x1;y4=y1;z4=z1+1
- x5=x1;y5=y1;z5=z1-1
- p6=p4
- p7=p5
- c1='a'
- goto :p
- :v
- mess value on axis
- getrd r6
- r2=r6+1
- c1='c'
- goto :p
- :d
- mess first point on section plane
- getp p1
- mess second point on section plane
- rubber line
- getp p2
- rubber off
- mess pick point on first cut entity
- getp p3
- mess pick point on second cut entity
- getp p5
- p6=p3
- p7=p5
- c1='b'
- goto :p
- :f
- mess first point on section plane
- getp p1
- mess second point on section plane
- getp p2
- mess third point on section plane
- getp p3
- mess pick point on first cut entity
- getp p4
- mess pick point on second cut entity
- getp p5
- p6=p4
- p7=p5
- c1='a'
- :p
- mess entity to section
- :Z
- gete i1
- i7=i1
- mess confirm choice
- getyn r3;unshow i1; if r3 eq 1 :c; goto :p
- :c
- if r8 eq 118 :0
- goto :2
- :0
- r1=r6
- :2
- ascii c1 r5
- if r5 eq 99 :j
- c2='q'
- :j
- r4=0;i3=0
- ovl secdb
- i8=i3;*new first entity
- i1=i7
- if r5 eq 98 :9
- if r5 eq 99 :E
- p4=p5
- goto :5
- :E
- r2=r1-2
- goto :5
- :9
- p3=p5
- :5
- r4=0;i3=0
- ovl secdb
- i49=1
- if r4 eq 0 :4
- if r4 eq 2 :7
- if r4 eq 3 :8
- mess Error, indicate the wall axial line, try again:
- r1 = 0
- goto :Z
- :7
- mess Error, indicated entity is not a solid, try again:
- r1=0
- goto :Z
- :8
- mess Error, new entity was not created !
- getw
- r1=0
- goto :6
- :4
- mess keep the result ?
- getyn r1
- r33=r1
- :6
- if r33 eq 1 :D
- i9=i1;c211=c1;r32=r2
- i1=i8;c1='1';r2=0;ovl dele
- i1=i9;c1=c211;r2=r32
- :D
- i5=1;i2=0
- ovl ynlin1
- if r5 eq 98 :u
- if r5 eq 99 :r
- p4=p6
- p5=p7
- goto :l
- :u
- p3=p6
- p5=p7
- goto :l
- :r
- r2=r6+1
- :l
- repeat :p