138 lines
2.4 KiB
Text
138 lines
2.4 KiB
Text
OPTI 'DIME' 3 'ELEM' 'CU20';
|
|
|
|
LX1p = 4.;
|
|
LX1 = 20.;
|
|
LY1 = 5.;
|
|
LY1t = 3.;
|
|
N1 = 5;
|
|
|
|
LX0 = (LX1 * N1) + (LX1p * (N1+1));
|
|
|
|
LX2 = 21.;
|
|
LY2 = 10.;
|
|
LY2t = 3.;
|
|
N2 = N1;
|
|
LX2p = (LX0 - (N2 * LX2)) / (N2 + 1);
|
|
|
|
LX3 = 5.;
|
|
LY3 = 2.;
|
|
LY3t = 4.;
|
|
N3 = N2 * 3;
|
|
LX3p = (LX0 - (N3 * LX3)) / (N3 + 1);
|
|
|
|
Y1 = LY1 + (LX1/2) + LY1t;
|
|
Y2 = Y1 + LY2 + (LX2/2) + LY2t;
|
|
Y3 = Y2 + LY3 + (LX3/2) + LY3t;
|
|
|
|
DENSITE 1;
|
|
|
|
P0 = (0.-LX1p) 0. 0.;
|
|
PB = 0. 0. 0.;
|
|
LI = D P0 PB;
|
|
BL1 = D P0 PB;
|
|
I = 0;
|
|
REPETER BOUCLE1;
|
|
SI (I < N1);
|
|
PA = PB;
|
|
PB = (I * (LX1p+LX1)) LY1 0.;
|
|
LI = LI ET (D PA PB);
|
|
|
|
PA = PB;
|
|
PB = (I * (LX1p+LX1) + LX1) LY1 0.;
|
|
LI = LI ET (C PASS PA ((I * (LX1p+LX1) + (LX1/2)) (LY1+(LX1/2)) 0.) PB);
|
|
|
|
PA = PB;
|
|
PB = (I * (LX1p+LX1) + LX1) 0. 0.;
|
|
LI = LI ET (D PA PB);
|
|
|
|
PA = PB;
|
|
PB = (I * (LX1p+LX1) + LX1 + LX1p) 0. 0.;
|
|
LI = LI ET (D PA PB);
|
|
BL1 = BL1 ET (D PA PB);
|
|
|
|
I = I + 1;
|
|
SINON;
|
|
QUITTER BOUCLE1;
|
|
FINSI;
|
|
FIN BOUCLE1;
|
|
PA = PB;
|
|
PB = (I * (LX1p+LX1)) (LY1 + (LX1/2)) 0.;
|
|
LI = LI ET (D PA PB);
|
|
|
|
PA = PB;
|
|
PB = (I * (LX1p+LX1)) Y3 0.;
|
|
LI = LI ET (D PA PB);
|
|
|
|
PA = PB;
|
|
PB = (0.-LX1p) Y3 0.;
|
|
LI = LI ET (D PA PB);
|
|
|
|
LI = LI ET (D PB P0);
|
|
|
|
TR2 = LI;
|
|
I = N2-1;
|
|
REPETER BOUCLE2;
|
|
SI (I >EG 0);
|
|
PB = (I * (LX2p+LX2) + LX2p - LX1p) Y1 0.;
|
|
PA = (I * (LX2p+LX2) + LX2 + LX2p - LX1p) Y1 0.;
|
|
TRx = D PA PB;
|
|
|
|
PA = PB;
|
|
PB = (I * (LX2p+LX2) + LX2p - LX1p) (Y1+LY2) 0.;
|
|
TRx = TRx ET (D PA PB);
|
|
|
|
PA = PB;
|
|
PB = (I * (LX2p+LX2) + LX2 + LX2p - LX1p) (Y1+LY2) 0.;
|
|
TRx = TRx ET (C PASS PA ((I * (LX2p+LX2) + (LX2/2) + LX2p - LX1p) (Y1+LY2+(LX2/2)) 0.) PB);
|
|
|
|
PA = PB;
|
|
PB = (I * (LX2p+LX2) + LX2 + LX2p - LX1p) Y1 0.;
|
|
TRx = TRx ET (D PA PB);
|
|
|
|
TR2 = TR2 ET TRx;
|
|
I = I - 1;
|
|
SINON;
|
|
QUITTER BOUCLE2;
|
|
FINSI;
|
|
FIN BOUCLE2;
|
|
|
|
I = N3-1;
|
|
REPETER BOUCLE3;
|
|
SI (I >EG 0);
|
|
PB = (I * (LX3p+LX3) - LX1p + LX3p) Y2 0.;
|
|
PA = (I * (LX3p+LX3) + LX3 - LX1p + LX3p) Y2 0.;
|
|
TRx = D PA PB;
|
|
|
|
PA = PB;
|
|
PB = (I * (LX3p+LX3) - LX1p + LX3p) (Y2+LY3) 0.;
|
|
TRx = TRx ET (D PA PB);
|
|
|
|
PA = PB;
|
|
PB = (I * (LX3p+LX3) + LX3 - LX1p + LX3p) (Y2+LY3) 0.;
|
|
TRx = TRx ET (C PASS PA ((I * (LX3p+LX3) + (LX3/2) - LX1p + LX3p) (Y2+LY3+(LX3/2)) 0.) PB);
|
|
|
|
PA = PB;
|
|
PB = (I * (LX3p+LX3) + LX3 - LX1p + LX3p) Y2 0.;
|
|
TRx = TRx ET (D PA PB);
|
|
|
|
TR2 = TR2 ET TRx;
|
|
I = I - 1;
|
|
SINON;
|
|
QUITTER BOUCLE3;
|
|
FINSI;
|
|
FIN BOUCLE3;
|
|
|
|
ELIM TR2 .1;
|
|
TRAC TR2;
|
|
|
|
SU = SURF 'PLAN' TR2;
|
|
ELIM SU .01;
|
|
TRAC SU;
|
|
|
|
VO = SU VOLU 6 'TRAN' (0. 0. 4.) ;
|
|
TRAC VO;
|
|
|
|
OPTI 'SAUV' 'MAILLAGE3d.sauv';
|
|
SAUV;
|
|
|
|
FIN;
|