Problem w/ BooleanUnion between Surface and Volume
Hi,
Currently In order to obtain a single surface mesh for later use in BEM solver, I am trying to make a union between a surface and a volume as shown in the simple example below:
SetFactory("OpenCASCADE");
Cylinder(1) = {0, 0, 0, 0, 0, 10, 1}; Cylinder(2) = {-1.5, 0, 1, 3, 0, 0, 0.6}; Cylinder(3) = {0, -1.5, 1, 0, 3, 0, 0.6};
v = news; Rectangle(v) = {-1.5, -1.5, 2, 3, 3};
HollowRectangle = BooleanDifference{Surface{v}; Delete;} {Volume{1};};
Tower1 = BooleanUnion{Volume{1}; Delete;} {Volume{2}; Delete;};
Tower2 = BooleanUnion{Volume{Tower1}; Delete;} {Volume{3}; Delete;};
Tower3 = BooleanUnion{Volume{Tower2}; Delete;} {Surface{HollowRectangle}; Delete;};
/////////////////////////////////////////////////////////////////////////////
// We increase the number of sub-edges for a nicer display of the geometry:
Geometry.NumSubEdges = 1000;
// We can activate the calculation of mesh element sizes based on curvature
// (here with a target of 20 elements per 2\*Pi radians):
Mesh.MeshSizeFromCurvature = 90;
// We can constraint the min and max element sizes to stay within reasonnable
// values (see \`t10.geo' for more details):
Mesh.MeshSizeMin = 0.001;
Mesh.MeshSizeMax = 0.03;
But I get the following error message:
Info : Reading 'tower_occ.geo'... .
Error : Fuse operation cannot be performed .
Error : 'tower_occ.geo', line 13: Could not apply boolean operator
Info : Done reading 'tower_occ.geo'
Isn't it possible to fuse a surface and a volume ?
Onelab version used:
@.Version : 4.11.0-git- 72b0710e
@.License : GNU General Public License
@.Build OS : Linux64
@.Build date : 20220731
Thanks a lot for any help.
Edited by Christophe Geuzaine