<div>Dear Gmsh community,</div><br><div>I am trying to make a conical tube helix using the Built-In interface. With no luck. I think I don't quite understand the whole functionality of the Extrude command. The following is my code to make a tube helix of parametric equation r(theta)=(A<em>cos(theta),Asin(theta), C</em>*theta).</div><br><div>A=1; C=0.25/Pi;</div><div>r=A/10;</div><div>nturns=4;</div><div>h=1;</div><div>Point(1)={A+r,0,0,h};Point(2)={A-r,0,0,h};
</div><div>Point(3)={A,0,r,h};Point(4)={A,0,-r,h};
</div><div>//
</div><div>Circle(2) = {1, 5, 3};Circle(3) = {3, 5, 2};
</div><div>Circle(4) = {2, 5, 4};Circle(5) = {4, 5, 1};
</div><div>//+</div><div>Curve Loop(1) = {2, 3, 4, 5};Plane Surface(1) = {1};</div><br><div>ext1[] = Extrude {{0,0,C*Pi/2}, {0,0,1}, {0,0,0}, Pi/2} {
</div><div>Surface{1};
</div><div>Layers{30};
</div><div>Recombine;};
</div><div>
</div><div>For m In {1:4*nturns-1}
</div><div>ext1[] = Extrude {{0,0,C*Pi/2}, {0,0,1}, {0,0,0}, Pi/2} {
</div><div>Surface{ext1[0]};
</div><div>Layers{30};
</div><div>Recombine;};
</div><div>EndFor
</div><br><div>Transfinite Surface {1};
</div><div>Recombine Surface{1};
</div><div>Coherence;</div><br><div>We know that for a conical helix  the pitch is constant but radius, curvature and torsion change. This is possible by making the radius a linear function of the height. The following is my attempt to make the spiral helix of parametric equation r(t)=((r+tan(angle)<em>z cos(2pi z), (r+tan(angle) * z sin(2pi  </em>z), z ) for z in [0,max_height].</div><br><div>r = 1/2;
 //Initial radius</div><div>rd = 0.12;
 //Radius of the cross section</div><br><div>t_final=5;
</div><div>angle=Pi/4; // Angle in radians;
</div><div>frec=2*Pi;</div><div>layers=100;</div><br><div>Point(1)={r+rd,0,0,h};Point(2)={r-rd,0,0,h};</div><div>Point(3)={r,0,rd,h};Point(4)={r,0,-rd,h};</div><div>//</div><div>Point(5)={r,0,0,h}; //Centro de inicio de superficie extrude</div><div>//</div><div>Circle(2) = {1, 5, 3};Circle(3) = {3, 5, 2};</div><div>Circle(4) = {2, 5, 4};Circle(5) = {4, 5, 1};</div><br><div>Curve Loop(1) = {2, 3, 4, 5};Plane Surface(1) = {1};</div><br><div>z=t_final/layers;</div><div>thetha=Tan(angle);</div><div>linear_=z+angulo;</div><div>ext1[] = Extrude {?} {</div><div>Surface{1};</div><div>Layers{capas};</div><div>Recombine;};</div><br><div>For m In {1:layers}</div><div>ext1[] = Extrude {?} {</div><div>Surface{ext1[0]};</div><div>Layers{capas};</div><div>Recombine;};</div><div>EndFor</div><br><div>The question marks is because I have no idea how to tell gmsh to make the appropriate twist. I don't want to use the OpenCASCADE and extrude Using Wire because I do not have control on the layers of the mesh and cannot use the recombine and transfinite algorithms successfully, like the code for the regular helix posted at the beginning.</div><br><div>Thanks in advance!</div><br><br><br>