$$$$ @CHFLEC * @CHFLEC PROCEDUR AM 95/05/02 21:15:10 1649 DEBPROC @CHFLEC ECH1*'FLOTTANT' CHPO1*'CHPOINT' ARG1/'MOT' TAIL1/'FLOTTANT'; * [][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][] * D. DUREISSEIX L.M.T. STRUCTURES & C.M.A.O. le 15/03/93 * ajout taille optionnelle et echelle le 28/08/93 * * Procedure pour construire un CHamp de FLEChes * * on envoie * ECH1 FLOTTANT echelle pour le trace des efforts * CHPO1 CHPOINT champ par point a representer * /ARG1 MOT si egal a 'G ' seul le cote gauche est trace * 'D ' seul le cote droit est trace * /TAIL1 FLOTTANT taille des tetes de fleche * si non precise : 1/5 de la valeur maxi * on recupere * PTF1 MAILLAGE definissant les fleches * ====================================================================== CHPO1 = ECH1 * CHPO1; 'SI' ('NON' ('EXISTE' TAIL1)); TAIL1 = ('MAXI' CHPO1 'ABS') / 5.; 'FINSI'; 'SI' ('NON' ('EXISTE' ARG1)); ARG1 = 'RIEN'; 'FINSI'; MAIL1 = 'EXTR' CHPO1 'MAIL'; NMAIL1 = 'CHAN' 'POI1' MAIL1; NBNO1 = 'NBNO' NMAIL1; LSC1 = 'EXTR' CHPO1 'COMP'; NBC1 = 'DIMENSION' LSC1; 'SI' (NBC1 'NEG' 2); 'ERREUR' 'DDCAL_FLEC : PAS LES BONNES COMPOSANTES'; 'FINSI'; 'OUBLIE' PTF1; N1 = 0; 'REPETE' BLO1 NBNO1; N1 = N1 + 1; P1 = NMAIL1 'POINT' N1; CHX1 = 'EXTR' CHPO1 ('EXTR' LSC1 1) P1; CHY1 = 'EXTR' CHPO1 ('EXTR' LSC1 2) P1; 'SI' (('EGA' ('EXTR' LSC1 1) 'UY ') 'OU' ('EGA' ('EXTR' LSC1 1) 'FY ')); CH2 = CHY1; CHY1 = CHX1; CHX1 = CH2; 'FINSI'; VECT1 = CHX1 CHY1; VEC1 = VECT1 / ('NORME' VECT1); VEC2 = (-1. * ('COOR' 2 VEC1)) ('COOR' 1 VEC1); * pointe 'SI' ('EGA' ARG1 'G '); P2 = (P1 'MOINS' (TAIL1 * VEC1)) 'MOINS' (0. * VEC2); 'SINON'; P2 = (P1 'MOINS' (TAIL1 * VEC1)) 'MOINS' ((TAIL1 * 0.25) * VEC2); 'FINSI'; 'SI' ('EGA' ARG1 'D '); P3 = (P1 'MOINS' (TAIL1 * VEC1)) 'PLUS' (0 * VEC2); 'SINON'; P3 = (P1 'MOINS' (TAIL1 * VEC1)) 'PLUS' ((TAIL1 * 0.25) * VEC2); 'FINSI'; FLECH1 = 'MANU' 'TRI3' P1 P2 P3; * corps P4 = (P1 'MOINS' (TAIL1 * VEC1)); P5 = (P4 'MOINS' VECT1) 'PLUS' (TAIL1 * VEC1); 'SI' ('EXISTE' PTF1); PTF1 = PTF1 'ET' (FLECH1 'ET' ('MANU' 'SEG2' P4 P5)); 'SINON'; PTF1 = (FLECH1 'ET' ('MANU' 'SEG2' P4 P5)); 'FINSI'; 'FIN' BLO1; * 'FINPROC' PTF1;