1 : * @CHFLEC PROCEDUR AM 95/05/02 21:15:10 1649 2 : DEBPROC @CHFLEC ECH1*'FLOTTANT' 3 : CHPO1*'CHPOINT' ARG1/'MOT' TAIL1/'FLOTTANT'; 4 : * [][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][] 5 : * D. DUREISSEIX L.M.T. STRUCTURES & C.M.A.O. le 15/03/93 6 : * ajout taille optionnelle et echelle le 28/08/93 7 : * 8 : * Procedure pour construire un CHamp de FLEChes 9 : * 10 : * on envoie 11 : * ECH1 FLOTTANT echelle pour le trace des efforts 12 : * CHPO1 CHPOINT champ par point a representer 13 : * /ARG1 MOT si egal a 'G ' seul le cote gauche est trace 14 : * 'D ' seul le cote droit est trace 15 : * /TAIL1 FLOTTANT taille des tetes de fleche 16 : * si non precise : 1/5 de la valeur maxi 17 : * on recupere 18 : * PTF1 MAILLAGE definissant les fleches 19 : * ====================================================================== 20 : CHPO1 = ECH1 * CHPO1; 21 : 'SI' ('NON' ('EXISTE' TAIL1)); 22 : TAIL1 = ('MAXI' CHPO1 'ABS') / 5.; 23 : 'FINSI'; 24 : 'SI' ('NON' ('EXISTE' ARG1)); 25 : ARG1 = 'RIEN'; 26 : 'FINSI'; 27 : MAIL1 = 'EXTR' CHPO1 'MAIL'; 28 : NMAIL1 = 'CHAN' 'POI1' MAIL1; 29 : NBNO1 = 'NBNO' NMAIL1; 30 : LSC1 = 'EXTR' CHPO1 'COMP'; 31 : NBC1 = 'DIMENSION' LSC1; 32 : 'SI' (NBC1 'NEG' 2); 33 : 'ERREUR' 'DDCAL_FLEC : PAS LES BONNES COMPOSANTES'; 34 : 'FINSI'; 35 : 'OUBLIE' PTF1; 36 : N1 = 0; 37 : 'REPETE' BLO1 NBNO1; 38 : N1 = N1 + 1; 39 : P1 = NMAIL1 'POINT' N1; 40 : CHX1 = 'EXTR' CHPO1 ('EXTR' LSC1 1) P1; 41 : CHY1 = 'EXTR' CHPO1 ('EXTR' LSC1 2) P1; 42 : 'SI' (('EGA' ('EXTR' LSC1 1) 'UY ') 'OU' 43 : ('EGA' ('EXTR' LSC1 1) 'FY ')); 44 : CH2 = CHY1; CHY1 = CHX1; CHX1 = CH2; 45 : 'FINSI'; 46 : VECT1 = CHX1 CHY1; VEC1 = VECT1 / ('NORME' VECT1); 47 : VEC2 = (-1. * ('COOR' 2 VEC1)) ('COOR' 1 VEC1); 48 : * pointe 49 : 'SI' ('EGA' ARG1 'G '); 50 : P2 = (P1 'MOINS' (TAIL1 * VEC1)) 51 : 'MOINS' (0. * VEC2); 52 : 'SINON'; 53 : P2 = (P1 'MOINS' (TAIL1 * VEC1)) 54 : 'MOINS' ((TAIL1 * 0.25) * VEC2); 55 : 'FINSI'; 56 : 'SI' ('EGA' ARG1 'D '); 57 : P3 = (P1 'MOINS' (TAIL1 * VEC1)) 58 : 'PLUS' (0 * VEC2); 59 : 'SINON'; 60 : P3 = (P1 'MOINS' (TAIL1 * VEC1)) 61 : 'PLUS' ((TAIL1 * 0.25) * VEC2); 62 : 'FINSI'; 63 : FLECH1 = 'MANU' 'TRI3' P1 P2 P3; 64 : * corps 65 : P4 = (P1 'MOINS' (TAIL1 * VEC1)); 66 : P5 = (P4 'MOINS' VECT1) 'PLUS' (TAIL1 * VEC1); 67 : 'SI' ('EXISTE' PTF1); 68 : PTF1 = PTF1 'ET' (FLECH1 'ET' ('MANU' 'SEG2' P4 P5)); 69 : 'SINON'; 70 : PTF1 = (FLECH1 'ET' ('MANU' 'SEG2' P4 P5)); 71 : 'FINSI'; 72 : 'FIN' BLO1; 73 : * 74 : 'FINPROC' PTF1;
© Cast3M 2003 - All rights reserved.
Disclaimer