[Gmsh] Using OpenCASCADE Boolean to create transfinite surfaces (Boundary) which maintain Transfinite mesh

William Logie will.logie at anu.edu.au
Tue Mar 10 15:57:35 CET 2020

Dear Gmsh Members,

I was wondering if anyone can recommend a way for me to create Transfinite Surfaces with the OpenCASCADE kernel which then can be relocated in space (translated/rotated) while maintaining the Transfinite Mesh defined on original curves/surfaces or created through extrusion?

My reasons for using OCC is to piece together volumes (various pipe extrusions), then remove internal surfaces between them with BooleanUnion, and finally delete the Volume (and ends) to leave a surface shell.

Here, a MWE:

// UNITS mm

theta = Pi*30/180;

// Create OCC disk, define circumference as Transfinite Curve and Extrude
Disk(1) = {0, 0, 0, 0.5};
Transfinite Curve{1} = 30;
Extrude {{1, 0, 0}, {0, -10, 0}, theta} {
  Surface{1}; Layers{20}; Recombine;
Extrude {{1, 0, 0}, {0, 10, 0}, theta} {
  Surface{1}; Layers{20}; Recombine;

// Transfinite Cyclinder Surface Mesh is lost with Translate, Rotate or Affine, despite Geometry.CopyMeshingMethod=1 being set, e.g.:
Affine {Cos(theta),Sin(theta),0,0, -Sin(theta),Cos(theta),0,0, 0,0,1,0} {Volume{1,2};}

Many Thanks,


William Logie
PhD Candidate
Research School of Engineering
The Australian National University
Canberra ACT 2601
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://onelab.info/pipermail/gmsh/attachments/20200310/ce928d5a/attachment.html>

More information about the gmsh mailing list