Download @enca.procedur

Back to the list

   1 : * @ENCA     PROCEDUR  AM        95/05/02    21:15:33     1649           
   2 : DEBPROC @ENCA TAIL1*'FLOTTANT' MAIL1*'MAILLAGE' VEC1*'POINT';
   3 : * [][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][]
   4 : *     D. DUREISSEIX       L.M.T. STRUCTURES & C.M.A.O.       le 23/03/93
   5 : *
   6 : * Procedure pour construire un vrai ENCAstrement en 2D
   7 : *
   8 : * on envoie
   9 : *         TAIL1  FLOTTANT pour definir la taille 
  10 : *         MAIL1  MAILLAGE ligne sur laquelle il y a encastrement
  11 : *         VEC1   POINT    vecteur pour l'orientation des hachures
  12 : *                         (normale interieure)
  13 : * on recupere
  14 : *         PTF1   MAILLAGE definissant l'encastrement
  15 : * ======================================================================
  16 :   VEC1 = VEC1 / ('NORME' VEC1);
  17 :   'OUBLIE' PTF1;
  18 :   NMAIL1 = 'CHAN' 'POI1' MAIL1;
  19 :   NNO1   = 'NBNO' NMAIL1;
  20 :   N1 = 1;
  21 :   'REPETE' BLO1 (NNO1 - 1);
  22 :     N1 = N1 + 1;
  23 :     P1 = NMAIL1 'POINT' (N1 - 1);
  24 :     P2 = NMAIL1 'POINT' N1;
  25 :     VEC2 = P2 'MOINS' P1;
  26 :     VECT2 = VEC2 / ('NORME' VEC2);
  27 :     DIST1 = 'NORME' VEC2;
  28 :     D1 = 0.;
  29 :     'REPETE' BLO2 (('ENTIER' (DIST1 / TAIL1)) + 1);
  30 :       PT1 = P1 'PLUS' (D1 * VECT2);
  31 : *      'SI' (('NORME' (P2 'MOINS' PT1)) < (TAIL1 / 3.));
  32 : *        'QUITTER' BLO2;
  33 : *      'FINSI';
  34 :       PT2 = (PT1 'PLUS'  ((TAIL1 * 1.5) * VECT2))
  35 :                  'MOINS' ((TAIL1 * 1.5) * VEC1);
  36 :       'SI' ('EXISTE' PTF1);
  37 :         PTF1 = PTF1 'ET' ('MANU' 'SEG2' PT1 PT2);
  38 :       'SINON';
  39 :         PTF1 = ('MANU' 'SEG2' PT1 PT2);
  40 :       'FINSI'; 
  41 :       D1 = D1 + TAIL1;
  42 :     'FIN' BLO2;
  43 :   'FIN' BLO1;
  44 : *
  45 : *  'MENAGE';
  46 : 'FINPROC' PTF1;

© Cast3M 2003 - All rights reserved.
Disclaimer