discuss@lists.openscad.org

OpenSCAD general discussion Mailing-list

View all threads

How to build a surface?

YV
yur_vol@yahoo.com
Thu, May 28, 2026 3:02 PM

I want to build surface of violin.
I found that it is Curtate Cycloid

So basic form is:

include <BOSL2/std.scad>
a=250; //
b=0.9*a;
m=12/b;
//down(a-b)
color("red")translate([0,-170,36])left(a/2)color("red")
for (fi=[0:1:360])
    translate([(a*(fi)-b*sin(fi))/360 ,0,m*((b-b*cos(fi))) ])sphere(1);
    
// OR
    
path =[
 for (fi=[0:1:360]) let(
 
   pt =(a*fi-b*sin(fi))/360, 
   pt2=m*(b-b*cos(fi))
   ) [pt, pt2]
 ];
 color("blue")path_sweep(square([1,1]),path);  

I never use surfaces so I ask

I want to build surface of violin.\ I found that it is Curtate Cycloid ``` So basic form is: include <BOSL2/std.scad> ``` ``` a=250; // ``` ``` b=0.9*a; ``` ``` m=12/b; ``` ``` //down(a-b) ``` ``` color("red")translate([0,-170,36])left(a/2)color("red") ``` ``` for (fi=[0:1:360]) ``` ``` translate([(a*(fi)-b*sin(fi))/360 ,0,m*((b-b*cos(fi))) ])sphere(1); ``` ``` ``` ``` // OR ``` ``` ``` ``` path =[ ``` ``` for (fi=[0:1:360]) let( ``` ``` ``` ``` pt =(a*fi-b*sin(fi))/360, ``` ``` pt2=m*(b-b*cos(fi)) ``` ``` ) [pt, pt2] ``` ``` ]; ``` ``` color("blue")path_sweep(square([1,1]),path); ``` --- I never use surfaces so I ask
AM
Adrian Mariano
Thu, May 28, 2026 6:28 PM

If you can build the 2d point list of the violin as a grid you can use
vnf_vertex_array to make that into a surface.  The hard part seems like
making that point list.  To make a full shape you'd need to model the
front, back and then put them together into one list (or join them) so that
you get a closed object.

On Thu, May 28, 2026 at 11:02 AM yur_vol--- via Discuss <
discuss@lists.openscad.org> wrote:

I want to build surface of violin.
I found that it is Curtate Cycloid

So basic form is:

include <BOSL2/std.scad>

a=250; //

b=0.9*a;

m=12/b;

//down(a-b)

color("red")translate([0,-170,36])left(a/2)color("red")

for (fi=[0:1:360])

 translate([(a*(fi)-b*sin(fi))/360 ,0,m*((b-b*cos(fi))) ])sphere(1);

 // OR

 path =[

for (fi=[0:1:360]) let(

 pt =(a*fi-b*sin(fi))/360,

pt2=m*(b-b*cos(fi))

) [pt, pt2]

];

color("blue")path_sweep(square([1,1]),path);


I never use surfaces so I ask


OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org

If you can build the 2d point list of the violin as a grid you can use vnf_vertex_array to make that into a surface. The hard part seems like making that point list. To make a full shape you'd need to model the front, back and then put them together into one list (or join them) so that you get a closed object. On Thu, May 28, 2026 at 11:02 AM yur_vol--- via Discuss < discuss@lists.openscad.org> wrote: > I want to build surface of violin. > I found that it is Curtate Cycloid > > So basic form is: > > include <BOSL2/std.scad> > > a=250; // > > b=0.9*a; > > m=12/b; > > //down(a-b) > > color("red")translate([0,-170,36])left(a/2)color("red") > > for (fi=[0:1:360]) > > translate([(a*(fi)-b*sin(fi))/360 ,0,m*((b-b*cos(fi))) ])sphere(1); > > // OR > > path =[ > > for (fi=[0:1:360]) let( > > pt =(a*fi-b*sin(fi))/360, > > pt2=m*(b-b*cos(fi)) > > ) [pt, pt2] > > ]; > > color("blue")path_sweep(square([1,1]),path); > > ------------------------------ > > I never use surfaces so I ask > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to discuss-leave@lists.openscad.org
YV
yur_vol@yahoo.com
Thu, May 28, 2026 8:41 PM

Got it, made partially but
I want to connect two mirrored surfaces to make it solid then diff with target form.

Howto connect? simply append second point list?


 include <BOSL2/std.scad>

a=250; //
b=0.9*a;
k=12;
m=k/b;
    
path =[
 for (fi=[0:1:360]) let(
 
   pt =(a*fi-b*sin(fi))/360, 
   pt2=m*(b-b*cos(fi))
   ) [pt, 0,pt2]
 ];
 color("blue")path_sweep(square([1,1]),path);  

module show_triangulation1(style) {
  pts = [
  for(u=[0:1:360]) 
           [ for (fi=[0:1:360]) let(
 
   pt =(a*fi-b*sin(fi))/360, 
   pt2=m*(b-b*cos(fi)),
   ypt=(a*u-b*sin(u))/360,
   ypt2=m*(b-b*cos(u))
   
   ) [pt, ypt*2,pt2*ypt2*0.04]
		       
		   ]
		 ];
		 
  vnf = vnf_vertex_array(pts, style=style);

  color("#ccf") vnf_polyhedron(vnf);
//  echo(pts);
}

up(20)show_triangulation1( "default");
mirror([0,0,1])up(20)show_triangulation1( "default");
%translate([120,250,0])scale([1,2,1])cyl(d=200,h=100);
Got it, made partially but\ I want to connect two mirrored surfaces to make it solid then diff with target form. Howto connect? simply append second point list? --- ``` include <BOSL2/std.scad> a=250; // b=0.9*a; k=12; m=k/b; path =[ for (fi=[0:1:360]) let( pt =(a*fi-b*sin(fi))/360, pt2=m*(b-b*cos(fi)) ) [pt, 0,pt2] ]; color("blue")path_sweep(square([1,1]),path); module show_triangulation1(style) { pts = [ for(u=[0:1:360]) [ for (fi=[0:1:360]) let( pt =(a*fi-b*sin(fi))/360, pt2=m*(b-b*cos(fi)), ypt=(a*u-b*sin(u))/360, ypt2=m*(b-b*cos(u)) ) [pt, ypt*2,pt2*ypt2*0.04] ] ]; vnf = vnf_vertex_array(pts, style=style); color("#ccf") vnf_polyhedron(vnf); // echo(pts); } up(20)show_triangulation1( "default"); mirror([0,0,1])up(20)show_triangulation1( "default"); %translate([120,250,0])scale([1,2,1])cyl(d=200,h=100); ```
YV
yur_vol@yahoo.com
Fri, May 29, 2026 7:56 AM

I mirrored with zero Z
Do they share boundary edges
but still cannot vnf_join both polyhedrons

What I do wrong?



include <BOSL2/std.scad>
a=250; //
b=0.9*a;
k=12;
m=k/b;
    
path =[
 for (fi=[0:1:360]) let(
   pt =(a*fi-b*sin(fi))/360, 
   pt2=m*(b-b*cos(fi))
   ) [pt, 0,pt2]
 ];
 color("blue")path_sweep(square([1,1]),path);  
 pts = [
  for(u=[0:1:360]) 
           [ for (fi=[0:1:360]) let(
   pt =(a*fi-b*sin(fi))/360, 
   pt2=m*(b-b*cos(fi)),
   ypt=(a*u-b*sin(u))/360,
   ypt2=m*(b-b*cos(u))   
   ) [pt, ypt*2,pt2*ypt2*0.04]		       
		   ]
		 ];		 
  vnf = vnf_vertex_array(pts, style="default");
  color("#ccf") vnf_polyhedron(vnf);
//  echo(pts);
 pts1 = [
  for(u1=[0:1:360]) 
           [ for (fi1=[0:1:360]) let(
   ppt =(a*fi1-b*sin(fi1))/360, 
   ppt2=m*(b-b*cos(fi1)),
   pypt=(a*u1-b*sin(u1))/360,
   pypt2=m*(b-b*cos(u1))   
   ) [ppt, pypt*2,-ppt2*pypt2*0.04]		       
		   ]
		 ];		 
  vnf1 = vnf_vertex_array(pts1, style="default");
  color("#ccf") vnf_polyhedron(vnf1);
    vnf_polyhedron(vnf);
//up(20)show_triangulation1( "default");
//mirror([0,0,1])up(20)show_triangulation1( "default");
//%translate([120,250,0])scale([1,2,1])cyl(d=200,h=100);
full = vnf_join([vnf,vnf1]);
vnf_polyhedron(full);


I mirrored with zero Z \ Do they share boundary edges\ but still cannot vnf_join both polyhedrons What I do wrong? --- ``` include <BOSL2/std.scad> ``` ``` a=250; // ``` ``` b=0.9*a; ``` ``` k=12; ``` ``` m=k/b; ``` ``` ``` ``` path =[ ``` ``` for (fi=[0:1:360]) let( ``` ``` pt =(a*fi-b*sin(fi))/360, ``` ``` pt2=m*(b-b*cos(fi)) ``` ``` ) [pt, 0,pt2] ``` ``` ]; ``` ``` color("blue")path_sweep(square([1,1]),path); ``` ``` pts = [ ``` ``` for(u=[0:1:360]) ``` ``` [ for (fi=[0:1:360]) let( ``` ``` pt =(a*fi-b*sin(fi))/360, ``` ``` pt2=m*(b-b*cos(fi)), ``` ``` ypt=(a*u-b*sin(u))/360, ``` ``` ypt2=m*(b-b*cos(u)) ``` ``` ) [pt, ypt*2,pt2*ypt2*0.04] ``` ``` ] ``` ``` ]; ``` ``` vnf = vnf_vertex_array(pts, style="default"); ``` ``` color("#ccf") vnf_polyhedron(vnf); ``` ``` // echo(pts); ``` ``` pts1 = [ ``` ``` for(u1=[0:1:360]) ``` ``` [ for (fi1=[0:1:360]) let( ``` ``` ppt =(a*fi1-b*sin(fi1))/360, ``` ``` ppt2=m*(b-b*cos(fi1)), ``` ``` pypt=(a*u1-b*sin(u1))/360, ``` ``` pypt2=m*(b-b*cos(u1)) ``` ``` ) [ppt, pypt*2,-ppt2*pypt2*0.04] ``` ``` ] ``` ``` ]; ``` ``` vnf1 = vnf_vertex_array(pts1, style="default"); ``` ``` color("#ccf") vnf_polyhedron(vnf1); ``` ``` vnf_polyhedron(vnf); ``` ``` //up(20)show_triangulation1( "default"); ``` ``` //mirror([0,0,1])up(20)show_triangulation1( "default"); ``` ``` //%translate([120,250,0])scale([1,2,1])cyl(d=200,h=100); ``` ``` full = vnf_join([vnf,vnf1]); ``` ``` vnf_polyhedron(full); ``` --- ---
AM
Adrian Mariano
Fri, May 29, 2026 10:32 AM

Using your original version you can build a surface like this:

vnf = vnf_vertex_array(pts, style=style,reverse=true);
vnf2 = zflip(vnf);
v = vnf_join([vnf,vnf2]);
vnf_polyhedron(v);

Note that reverse is needed because your made your faces backwards.  The
way to tell this is to select "thrown together" as the rendering method
(instead of preview) and use F5.  If your object is entirely yellow you're
OK.  If you see any purple, those parts are backwards.  An object is only
valid if it's entirely yellow.  (And this won't work if you apply your own
color.)  If you want to use this method for a violin you'll also need to
construct with vnf_verte_array the strip that connects the two halves.

Another option that might be less work would be to use textured_tile()
which can accept your points and put them on a cuboid for you, so it
creates the other faces.  That will only work if your points exist on a
grid in (x,y) though.

On Fri, May 29, 2026 at 3:57 AM yur_vol--- via Discuss <
discuss@lists.openscad.org> wrote:

I mirrored with zero Z
Do they share boundary edges
but still cannot vnf_join both polyhedrons

What I do wrong?


include <BOSL2/std.scad>

a=250; //

b=0.9*a;

k=12;

m=k/b;

 path =[

for (fi=[0:1:360]) let(

pt =(a*fi-b*sin(fi))/360,

pt2=m*(b-b*cos(fi))

) [pt, 0,pt2]

];

color("blue")path_sweep(square([1,1]),path);

pts = [

for(u=[0:1:360])

        [ for (fi=[0:1:360]) let(

pt =(a*fi-b*sin(fi))/360,

pt2=m*(b-b*cos(fi)),

ypt=(a*u-b*sin(u))/360,

ypt2=m*(b-b*cos(u))

) [pt, ypt*2,pt2*ypt2*0.04]		

	   ]

	 ];		

vnf = vnf_vertex_array(pts, style="default");

color("#ccf") vnf_polyhedron(vnf);

//  echo(pts);

pts1 = [

for(u1=[0:1:360])

        [ for (fi1=[0:1:360]) let(

ppt =(a*fi1-b*sin(fi1))/360,

ppt2=m*(b-b*cos(fi1)),

pypt=(a*u1-b*sin(u1))/360,

pypt2=m*(b-b*cos(u1))

) [ppt, pypt*2,-ppt2*pypt2*0.04]		

	   ]

	 ];		

vnf1 = vnf_vertex_array(pts1, style="default");

color("#ccf") vnf_polyhedron(vnf1);

 vnf_polyhedron(vnf);

//up(20)show_triangulation1( "default");

//mirror([0,0,1])up(20)show_triangulation1( "default");

//%translate([120,250,0])scale([1,2,1])cyl(d=200,h=100);

full = vnf_join([vnf,vnf1]);

vnf_polyhedron(full);




OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org

Using your original version you can build a surface like this: vnf = vnf_vertex_array(pts, style=style,reverse=true); vnf2 = zflip(vnf); v = vnf_join([vnf,vnf2]); vnf_polyhedron(v); Note that reverse is needed because your made your faces backwards. The way to tell this is to select "thrown together" as the rendering method (instead of preview) and use F5. If your object is entirely yellow you're OK. If you see any purple, those parts are backwards. An object is only valid if it's entirely yellow. (And this won't work if you apply your own color.) If you want to use this method for a violin you'll also need to construct with vnf_verte_array the strip that connects the two halves. Another option that might be less work would be to use textured_tile() which can accept your points and put them on a cuboid for you, so it creates the other faces. That will only work if your points exist on a grid in (x,y) though. On Fri, May 29, 2026 at 3:57 AM yur_vol--- via Discuss < discuss@lists.openscad.org> wrote: > I mirrored with zero Z > Do they share boundary edges > but still cannot vnf_join both polyhedrons > > What I do wrong? > > ------------------------------ > > > include <BOSL2/std.scad> > > a=250; // > > b=0.9*a; > > k=12; > > m=k/b; > > path =[ > > for (fi=[0:1:360]) let( > > pt =(a*fi-b*sin(fi))/360, > > pt2=m*(b-b*cos(fi)) > > ) [pt, 0,pt2] > > ]; > > color("blue")path_sweep(square([1,1]),path); > > pts = [ > > for(u=[0:1:360]) > > [ for (fi=[0:1:360]) let( > > pt =(a*fi-b*sin(fi))/360, > > pt2=m*(b-b*cos(fi)), > > ypt=(a*u-b*sin(u))/360, > > ypt2=m*(b-b*cos(u)) > > ) [pt, ypt*2,pt2*ypt2*0.04] > > ] > > ]; > > vnf = vnf_vertex_array(pts, style="default"); > > color("#ccf") vnf_polyhedron(vnf); > > // echo(pts); > > pts1 = [ > > for(u1=[0:1:360]) > > [ for (fi1=[0:1:360]) let( > > ppt =(a*fi1-b*sin(fi1))/360, > > ppt2=m*(b-b*cos(fi1)), > > pypt=(a*u1-b*sin(u1))/360, > > pypt2=m*(b-b*cos(u1)) > > ) [ppt, pypt*2,-ppt2*pypt2*0.04] > > ] > > ]; > > vnf1 = vnf_vertex_array(pts1, style="default"); > > color("#ccf") vnf_polyhedron(vnf1); > > vnf_polyhedron(vnf); > > //up(20)show_triangulation1( "default"); > > //mirror([0,0,1])up(20)show_triangulation1( "default"); > > //%translate([120,250,0])scale([1,2,1])cyl(d=200,h=100); > > full = vnf_join([vnf,vnf1]); > > vnf_polyhedron(full); > > ------------------------------ > ------------------------------ > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to discuss-leave@lists.openscad.org
YV
yur_vol@yahoo.com
Sat, May 30, 2026 3:43 PM

Thank you! I did it.

Thank you! I did it. ![](data:image/png;base64,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)