Télécharger @chflec.procedur

Retour à la liste

Numérotation des lignes :

  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;
  75.  

© Cast3M 2003 - Tous droits réservés.
Mentions légales