Download @defa2dp.procedur

Back to the list

   1 : * @DEFA2DP  PROCEDUR  AM        95/05/02    21:15:28     1649           
   2 : DEBPROC @DEFA2DP TAI1*'FLOTTANT' ORI1*'POINT' VEC1*'POINT' TYP1*'MOT' ;
   3 : * [][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][]
   4 : * J.Y. COGNARD & D. DUREISSEIX   L.M.T. STRUCTURES & CMAO    le 03-03-93
   5 : *
   6 : * Procedure pour construire un appui en 2D (voir @DEFA2DL)
   7 : *     DEFinition d'un APpui en 2D pour un Point 
   8 : *
   9 : * on envoie
  10 : *         TAI1  FLOTTANT pour definir la taille 
  11 : *         ORI1  POINT    pour definir l'origine
  12 : *         VEC1  POINT    vecteur interieur pour l'orientation
  13 : *         TYP1  MOT      pour definir le type d'appui
  14 : *                        'roul' pour un appui simple
  15 : *                        'enca' pour un encastrement (par defaut)
  16 : * on recupere
  17 : *         MAI1  MAILLAGE definissant l'appui
  18 : * ======================================================================
  19 : VEC1 = VEC1 / ( 'NORME' VEC1 ) ;  RAC3 = ( 3. ** 0.5 ) / 2. ;
  20 : VEC2 = ( -1. * ( 'COOR' 2 VEC1 ) ) ( 'COOR' 1 VEC1 ) ;
  21 : * triangle
  22 : PT2 = ( ORI1 'MOINS' ( ( TAI1 * RAC3 ) * VEC1 ) )
  23 :              'MOINS' ( ( TAI1 * 0.5  ) * VEC2 );
  24 : PT3 = PT2 'PLUS' ( TAI1 * VEC2 ) ;
  25 : TRI1 = 'MANU' 'TRI3' ORI1 PT2 PT3 ;
  26 : * bati
  27 : PT4 = PT3 ;  COE1 = TAI1 * 0.3 ;
  28 : PT5 = ( PT4 'PLUS' ( COE1 * VEC2) ) 'MOINS' ( COE1 * VEC1) ;
  29 : BAT0 = MANU 'SEG2' PT4 PT5 ;  BAT1 = BAT0 ;
  30 : I1 = 0 ;  VCI1 = ( TAI1 / 4. ) * VEC2 ;
  31 : 'REPETE' BLO1 4;
  32 :   I1 = I1 + 1;  BAT0 = BAT0 'MOINS' VCI1 ;  BAT1 = BAT1 'ET' BAT0;
  33 : 'FIN' BLO1;
  34 : *
  35 : 'SI' ( 'EGA' TYP1 'roul' ) ;
  36 : *   roulettes 
  37 : *   """""""""
  38 :   RAY1 = TAI1 * 0.2 ;  VCI1 = RAY1 * VEC1 ;  VCI2 = RAY1 * VEC2 ;
  39 :   PTR2 = ORI1 'PLUS' VCI1 ;  PTR3 = ORI1 'MOINS' VCI1 ;
  40 :   PTR4 = ORI1 'PLUS' VCI2 ;  PTR5 = ORI1 'MOINS' VCI2 ;
  41 :   ROU0 = ( 'CERC' PTR2 ORI1 PTR4 4 ) 'ET' ( 'CERC' PTR4 ORI1 PTR3 4 )
  42 :     'ET' ( 'CERC' PTR3 ORI1 PTR5 4 ) 'ET' ( 'CERC' PTR5 ORI1 PTR2 4 ) ;
  43 :   ROU1 = ROU0 'MOINS' ( ( ( TAI1 * RAC3 ) + RAY1 ) * VEC1 ) ;
  44 :   VCI2 = ( ( TAI1 * ( 0.5 - RAC3 ) ) * VEC2 ) ;
  45 :   ROU2 = ROU1 'PLUS' VCI2 ;  ROU3 = ROU1 'MOINS' VCI2 ;
  46 : *
  47 : *   translation du bati
  48 :   BAT1 = BAT1 'ET' ( 'MANU' 'SEG2' PT2 PT3 ) ;
  49 :   BAT1 = BAT1 'MOINS' ( ( TAI1 * 0.4 ) * VEC1 ) ; 
  50 : *   maillage final
  51 :   MAI1 = TRI1 'ET' BAT1 'ET' ROU2 'ET' ROU3 ; 
  52 : 'SINON' ;
  53 : * point fixe
  54 : * """"""""""
  55 : * maillage final
  56 :   MAI1 = TRI1 'ET' BAT1;  
  57 : 'FINSI' ;
  58 : *
  59 : 'FINPROC' MAI1 ;

© Cast3M 2003 - All rights reserved.
Disclaimer