1 : * @HELICE PROCEDUR AM 92/06/11 21:15:09 592 2 : *------------------------------------------------- 3 : ****** PROCEDURE @HELICE ****** 4 : *------------------------------------------------- 5 : * 6 : * 7 : * CETTE PROCEDURE A ETE MISE GRACIEUSEMENT 8 : * A DISPOSOTION DE LA COMMUNAUTE CASTEM2000 9 : * PAR M. LIBEYRE ( CEA/DSM/DRFC ) 10 : * 11 : * TEL : ( 33 1 ) 42 25 46 03 12 : * 13 : *------------------------------------------------- 14 : * 15 : ****************************************************** 16 : * PROCEDURE @HELICE DE MAILLAGE EN HELICE 17 : ****************************************************** 18 : * Syntaxe : GEO2 GEO3 = @HELICE GEO1 TYP1 P0 V0 PAS ALPHA NP 19 : * en entree : 20 : * GEO1 : Base de l'helice (point ou maillage de type ligne 21 : * ou surface) 22 : * TYP1 : Type de la base (POIN,LIGN ou SURF) 23 : * PO : Point de l'axe de l'helice 24 : * VO : Vecteur directeur de l'axe de l'helice 25 : * PAS : Pas de l'helice 26 : * ALPHA : Angle de rotation de l'helice 27 : * NP : Nombre d'elements de l'helice 28 : * 29 : * en sortie : 30 : * GEO2 : Sommet de l'helice (homeomorphe a GEO1) 31 : * (de type ligne, surface ou volume) 32 : * GEO3 : Maillage de la trajectoire de l'helice 33 : * (de type ligne, surface ou volume) 34 : ******************************************************* 35 : DEBPROC @HELICE P1/POINT GEO1/MAILLAGE TYP1*MOT P0*POINT 36 : V0*POINT PAS*FLOTTANT ALPHA*FLOTTANT NP*ENTIER ; 37 : DALPHA = ALPHA / NP ; 38 : DVT = (V0 / (NORM V0)) * (DALPHA / 360.) * PAS ; 39 : *------------------------------------------------ 40 : * CAS OU LA BASE EST UN POINT 41 : *------------------------------------------------ 42 : SI (EGA TYP1 'POIN') ; 43 : PF1 = P1 ; 44 : IB = 0 ; 45 : REPETER BOUC1 NP ; 46 : IB = IB + 1 ; 47 : PI1 = PF1 ; 48 : PF1 = (PI1 PLUS DVT) TOUR DALPHA P0 (P0 PLUS V0) ; 49 : LIG1 = DROIT 1 PI1 PF1 ; 50 : SI (EGA IB 1) ; 51 : GEO3 = LIG1 ; 52 : SINON ; 53 : GEO3 = GEO3 ET LIG1 ; 54 : FINSI ; 55 : FIN BOUC1 ; 56 : GEO2 = PF1 ; 57 : FINSI ; 58 : *------------------------------------------------ 59 : * CAS OU LA BASE EST UNE LIGNE 60 : *------------------------------------------------ 61 : SI (EGA TYP1 'LIGN') ; 62 : LIGF1 = GEO1 ; 63 : IB = 0 ; 64 : REPETER BOUC2 NP ; 65 : IB = IB + 1 ; 66 : LIGI1 = LIGF1 ; 67 : LIGF1 = (LIGI1 PLUS DVT) TOUR DALPHA P0 (P0 PLUS V0) ; 68 : * S1 = DALL1 1 LIGI1 LIGF1 ; 69 : S1 = LIGI1 REGLER 1 LIGF1 ; 70 : SI (EGA IB 1) ; 71 : GEO3 = S1 ; 72 : SINON ; 73 : GEO3 = GEO3 ET S1 ; 74 : FINSI ; 75 : FIN BOUC2 ; 76 : GEO2 = LIGF1 ; 77 : FINSI ; 78 : *------------------------------------------------ 79 : * CAS OU LA BASE EST UNE SURFACE 80 : *------------------------------------------------ 81 : SI (EGA TYP1 'SURF') ; 82 : SUF1 = GEO1 ; 83 : IB = 0 ; 84 : REPETER BOUC3 NP ; 85 : IB = IB + 1 ; 86 : SUI1 = SUF1 ; 87 : SUF1 = (SUI1 PLUS DVT) TOUR DALPHA P0 (P0 PLUS V0) ; 88 : V1 = SUI1 VOLU 1 SUF1 ; 89 : SI (EGA IB 1) ; 90 : GEO3 = V1 ; 91 : SINON ; 92 : GEO3 = GEO3 ET V1 ; 93 : FINSI ; 94 : FIN BOUC3 ; 95 : GEO2 = SUF1 ; 96 : FINSI ; 97 : FINPROC GEO2 GEO3;
© Cast3M 2003 - All rights reserved.
Disclaimer