Bonjour,
D'abord bravo pour le logiciel très fiable ( j'utilise les versions
2.14.1 et 3.05 sous windows et des versions correspondantes sous Ubuntu
pour des modélisation pour Code_Aster ).
Cependant un problème subsiste concernant la coloration par entité physique.
Il semble que des Physicals sans rapport soient regroupés et portent la
même couleur
après Mesh et Color by Physical group.
Dans l'exemple joint ( un pont ) c'est le cas du groupe Five qui
rassemble arbitrairement des éléments de la dalle et du fond de caisson,
dont les Physical ont été créés séparément.
Sincères salutations.
Jacques BERTHELLEMY.
___
CEREMA/CTOA, Division des Grands Ouvrages et de l'Innovation
14-20 boulevard Newton, Cité Descartes
77420 Champs-sur-Marne FRANCE
Mobile Cerema : + 33 7 60 83 36 91
Print.JpegQuality = 90;
Print.JpegSmoothing = 0;
General.Color.BackgroundGradient = {0,25,50}; // Haut de l'image Codes
couleur 0 à 256 sur RVB
General.Color.Background = {25,50,100};// Bas de l'imageCodes
couleur 0 à 256 sur RVB
General.Color.SmallAxes = {25,255,25};
General.Color.Text = Yellow;
Geometry.Color.Points = Yellow;
General.Trackball = 1;
General.RotationCenterGravity = 1;
Mesh.VolumeEdges = 1;
General.ExpertMode = 1;
//---
// Maillage GMSH du pont de Chamousset
// Auteurs A. Benmokrane et J. Berthellemy
// unités a priori MPa et m : a conserver dans toutes les données
//---
// 1- Parametres DIMENSIONS PRINCIPALES
-
R=1800.00;
L_trav = 72.996;
L_dalle = 10.75; L_Msup=0.800; L_corn=0.200;
bs=4.20;
bi=3.00;
c=2.10;
pente=(bs-bi)/(2*c);
u_exc=1.925;
n_inter=132; // 116 pour coller à la répartition exacte des connecteurs // 132
pour coller aux diaphrames réels
pas= L_trav/n_inter;
ep_dalle=0.300;
k_loc=61;
th0= - (k_loc-1) * pas / R;
//
//
// Fin des parametres : toute modification au-delà nécessite une bonne
connaissance de GMSH
// et peut conduire sinon à des effets inattendus.
// même chose si paramètres geometriquement impossibles (
embase trop etroite eg )
// Finesses --
G_precis = 0.3;
K1_precis= 2;
K2_precis= 1;
L_grossier = 0.04;
L_moyen =0.20*L_grossier;
L_precis = 0.10*L_grossier;
L_fin = 0.03*L_grossier;
Function Polaire
//-
np=newp;
Point(np) = {(u+R+(L_dalle/2))*Sin(th[k]), R+(L_dalle/2)
-(u+R+(L_dalle/2))*Cos(th[k]) , z, G_precis} ;
Return // Polaire --
Function S_dalle
//-
k=k+1; // k = compteur de passages dans S_dalle
th[k]= th0+ k* pas / R; // Angle Theta de la coupe
Printf(" ") >> 'MESS_glo.txt';
Printf("COUPE DALLE n° %g
---", k) >>
'MESS_glo.txt';
Printf(" th[k]= %g ", th[k]) >> 'MESS_glo.txt';
z= ep_dalle/2; // z=0 au niveau des membrures
sup--- NIVEAU DALLE
u=-L_dalle/2; pd1[k]=newp; Point(pd1[k]) =
{(u+R+(L_dalle/2))*Sin(th[k]), R+(L_dalle/2) -(u+R+(L_dalle/2))*Cos(th[k]) , z,
K1_precis*G_precis} ;
Printf(" premier point de la dallepd1[k]= %g
", pd1[k]) >> 'MESS_glo.txt'; // premier point : stoque son n°
u=-u_exc-1.20; Call Polaire ;
u=-u_exc-0.80; Call Polaire ;
G_precis=G_precis/K1_precis;
u=-bs/2 - (L_Msup/4) - (L_corn/2) ; Call Polaire ;
u=-bs/2 - (L_Msup/4) + (L_corn/2) ; Call Polaire ;
u=-bs/2 + (L_Msup/4) - (L_corn/2) ; Call Polaire ;
u=-bs/2 + (L_Msup/4) + (L_corn/2) ; Call Polaire ;
G_precis=2*G_precis;
u=-u_exc+0.80; Call Polaire ;
u=-u_exc+1.20; Call Polaire ;
u= bs/2 -0.50; Call Polaire ;
G_precis=G_precis/2;
u=bs/2 - (L_Msup/4) - (L_corn/2) ; Call Polaire ;
u=bs/2 - (L_Msup/4) + (L_corn/2) ; Call Polaire ;
u=bs/2 + (L_Msup/4) - (L_corn/2) ; Call Polaire ;
u=bs/2 + (L_Msup/4) + (L_corn/2) ; Call Polaire ;
G_precis= K1_precis*G_precis;
u=bs/2 + (L_Msup/4) + (L_corn/2) + 0.50; Call Polaire ;
G_precis= K1_precis*G_precis;
u= L_dalle/2;Call Polaire ;
G_precis=G_precis/K1_precis;
For j In {1:15}
ln=newl;
Line(ln) = { pd1[k]+j-1, pd1[k]+j }