Hi All,
I have the same problem that " Assigning labels to surface mesh - #3 by Alex ", but my errors remain. All the labels after meshing with Tetgen are lost. Here a extract , to create a rectangular parallelepiped (inspired by SurfaceHex in MeshSurface.idp) , it is just a draft :
int [int, int] L1 = [[1, 2], [3, 4], [5,6], [7,8],[9,10],[11,12],[13,14] ]; // label
int orientation =1;
real[int,int] B = [[0, 5], [0, 5], [0, 20]];
real x0=B(0,0),x1=B(0,1);
real y0=B(1,0),y1=B(1,1);
real z0=B(2,0),z1=B(2,1);
int nx=7,ny=8,nz=11;
mesh Thx = square(ny,nz,[y0+(y1-y0)*x,z0+(z1-z0)*y]);
mesh Thy = square(nx,nz,[x0+(x1-x0)*x,z0+(z1-z0)*y]);
mesh Thz = square(nx,ny,[x0+(x1-x0)*x,y0+(y1-y0)*y]);
int[int] refx=[L1(0,0),L1(0,0)],refX=[L1(0,1),L1(0,1)];
int[int] refy=[L1(1,0),L1(1,0)],refY=[L1(1,1),L1(1,1)];
int[int] refz=[L1(2,0),L1(2,0)],refZ=[L1(2,1),L1(2,1)];
meshS Thx0 = movemesh23(Thx,transfo=[x0,x,y],region=refx,orientation=-orientation);
meshS Thx1 = movemesh23(Thx,transfo=[x1,x,y],region=refX,orientation=+orientation);
meshS Thy0 = movemesh23(Thy,transfo=[x,y0,y],region=refy,orientation=+orientation);
meshS Thy1 = movemesh23(Thy,transfo=[x,y1,y],region=refY,orientation=-orientation);
meshS Thz0 = movemesh23(Thz,transfo=[x,y,z0],region=refz,orientation=-orientation);
meshS Thz1 = movemesh23(Thz,transfo=[x,y,z1],region=refZ,orientation=+orientation);
meshS ThS= Thx0 +Thx1 +Thy0 +Thy1 +Thz0 +Thz1 ;
int[int] N=[30,30,60];
real volumetet1=100*(B(0,1)-B(0,0))*(B(1,1)-B(1,0))*(B(2,1)-B(2,0))/ (N(0)*N(1)*N(2)) /6.;
real[int] domaine = [x1/2.0+x0/2.0,y1/2.0+y0/2.0,z1/2.0+z0/2.0 , 40,volumetet1 ];
mesh3 ThV = tetg(Th,switch="pqaAAYYQ",nbofregions=1,regionlist=domaine );
Thank you