Télécharger rota_imp.procedur

Retour à la liste

Numérotation des lignes :

  1. * ROTA_IMP PROCEDUR PV 18/07/20 21:15:10 9885
  2. 'DEBPROC' ROTA_IMP monmail*'MAILLAGE' angle*'FLOTTANT' poin1*'POINT' poin2*'POINT';
  3. *
  4. * impose une condition de rotation d'un angle angle autour d'un axe poin1 poin2
  5. *
  6. * Attention la raideur fabriquee depend de l'angle
  7. * Attention ne fonctionne pas si il y a des points sur l'axe de rotation
  8. *
  9.  
  10.  
  11. *
  12.  
  13. 'DEPL' monmail 'TOUR' angle poin1 poin2;
  14.  
  15. coorx = 'COOR' 1 monmail;
  16. coory = 'COOR' 2 monmail;
  17. coorz = 'COOR' 3 monmail;
  18.  
  19. 'DEPL' monmail 'TOUR' (angle * -1) poin1 poin2;
  20.  
  21. axe = poin2 'MOIN' poin1;
  22. axex = 'COOR' 1 axe;
  23. axey = 'COOR' 2 axe;
  24. axez = 'COOR' 3 axe;
  25. poin1x = poin1 'COOR' 1;
  26. poin1y = poin1 'COOR' 2;
  27. poin1z = poin1 'COOR' 3;
  28.  
  29. * vecteur radial apres rotation
  30. coorx = coorx - poin1x;
  31. coory = coory - poin1y;
  32. coorz = coorz - poin1z;
  33.  
  34. * normale au vecteur radial et a l'axe de rotation
  35. norm1x = (axey * coorz) - (axez * coory);
  36. norm1y = (axez * coorx) - (axex * coorz);
  37. norm1z = (axex * coory) - (axey * coorx);
  38. normch = (norm1x 'NOMC' 'UX') et (norm1y 'NOMC' 'UY') et (norm1z 'NOMC' 'UZ');
  39.  
  40. * matrice de blocage dans la direction normale
  41. rrota = 'BLOQ' monmail 'DIRE' normch;
  42.  
  43. * coordonnees initiales
  44. coorx = 'COOR' 1 monmail;
  45. coory = 'COOR' 2 monmail;
  46. coorz = 'COOR' 3 monmail;
  47. coorx = coorx - poin1x;
  48. coory = coory - poin1y;
  49. coorz = coorz - poin1z;
  50. coorch = ((coorx 'NOMC' 'UX') et (coory 'NOMC' 'UY') et (coorz 'NOMC' 'UZ')) ;
  51.  
  52. * second membre
  53. lrota = rrota * (coorch * -1);
  54.  
  55. 'FINP' rrota lrota;
  56.  
  57.  

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