Make Pan Pipe Flute
Fleeting- External reference: https://mykidcraft.com/straw-pan-pipes/
- External reference: https://www.wikihow.com/Make-Pan-Pipes
3 Ways to Make Pan Pipes - wikiHow
can be difficult to say exactly what notes the pipes will create when you cut them to certain lengths, because the pitch also depends on the width of the straws or PVC pipe, which can vary across brands. However, you can get a well-tuned set of pipes in a diatonic scale by cutting your pipes to the following lengths:[2]
Pipe 1: 17.5 cm Pipe 2: 15.5 cm Pipe 3: 13.5 cm Pipe 4: 12.5 cm Pipe 5: 11 cm Pipe 6: 10 cm Pipe 7: 9 cm Pipe 8: 8.5 cm
easier to blow into individual straws if they are spaced a bit, so use offcuts between each straw to spread them a bit.
Straw 1: 19.5
Straw 2: 17
Straw 3: 15.5
Straw 4: 14.5
Straw 5: 13
Straw 6: 11.5
Straw 7: 10
Straw 8: 9.5
a cap for my tubes
I decided to cut some PER pipe to make the pan flute. Let’s print the caps that will close the pipe.
A cap is basically a cone (that will get into the pipe) and a cylinder on top of it.
My PER pipe has 13mm of inner diameter and 16mm of outer diameter, so let’s make a cone of
- inner diameter
- slightly less than 13, let’s say 12
- outer diameter
- 13
- height
- 5
And make the cylinder
- diameter
- 16
- height
- 3
import cadquery as cq
cq.exporters.export(
cq.Workplane("XY", obj=cq.Solid.makeCone(coneinnerdiameter/2, coneouterdiameter/2, coneheight))
.faces(">Z")
.cylinder(cylinderheigh, cylinderdiameter/2, centered=(True, True, False)),
out
)
return out
The cone is slightly too small, let’s try to make it a little bit bigger, like 13 to 15 mm.
The beginning part (13mm) gets into the pipe, but it does not enter until the end (15mm). Also, the cone shape prevents the cap to stick.
Let’s try with a cylinder of 13mm diameter.
import cadquery as cq
cq.exporters.export(
cq.Workplane("XY").cylinder(cylinder1height, cylinder1diameter/2)
.faces(">Z")
.cylinder(cylinderheigh, cylinderdiameter/2, centered=(True, True, False)),
out
)
return out
This cap fits perfectly.
Unfortunately, it does not allow getting some sound, because air still can get through. It still needs some paste or glue to make it air proof.
Let’s create the support to make them fit.
import cadquery as cq
cq.exporters.export(
# the support without the holes
cq.Workplane("XY").box(
pipediameter*pipenumber
+ pipeseparation*(pipenumber-1) # pipenumber-1 intervals
+ pipeseparation*2 # extra space at the beginning and the end
,
pipediameter
+ width*2 # extra space at the beginning and the end
,
height
)
.edges("|Z").fillet(8) # make the corners round, I don't understand the value I put here
# now, make the holes
# first, describe where are the center of all the holes
.rarray(
pipediameter+pipeseparation, # space between the center of the holes
1, # not used
pipenumber,
1, # only one line of pipes
True
)
# describe the shape of the holes
.circle(
pipediameter/2
)
# and actually make the holes
.cutThruAll()
,
out
)
return out