Download or view pumpHolder.frink in plain text format
/** This designs a pump holder for my sous vide controller for 3-D
printing. */
width = 1 inch
height = .4 inch
depth = .5 inch
potInnerRadius = 23.4 cm / 2
thickness = 3.4 mm
potOuterRadius = potInnerRadius + thickness
cutDepth = .3 in
res = 254 / inch
v = newJava["frink.graphics.VoxelArray", [round[-width res/2], round[width res], round[-depth res/2], round[depth res], 0, round[height res], true]]
// The outer surface of the cut cylinder
c1 = newJava["frink.graphics.VoxelArray", [round[-width res/2], round[width res], round[-depth res/2], round[depth res], 0, round[height res], false]]
c1.drawCylinder[0, round[-potOuterRadius res], round[height res], 0, round[-potOuterRadius res], round[(height-cutDepth) res], round[potOuterRadius res]]
// Inner surface of cut cylinder
c2 = newJava["frink.graphics.VoxelArray", [round[-width res/2], round[width res], round[-depth res/2], round[depth res], 0, round[height res], false]]
c2.drawCylinder[0, round[-potOuterRadius res], round[height res], 0, round[-potOuterRadius res], round[(height-cutDepth) res], round[potInnerRadius res]]
c1.remove[c2]
c1.translate[0, round[thickness/2 res], 0]
v.remove[c1]
ringHeight = height
ringInnerDiameter = 13 mm
ringThickness = .3 in
ringOuterDiameter = ringInnerDiameter + ringThickness
ring = v.makeCylinder[0,
round[(-depth/2 - ringOuterDiameter/2 + ringThickness/2) res],
round[ringHeight res],
0,
round[(-depth/2 - ringOuterDiameter/2 + ringThickness/2) res],
0,
round[ringOuterDiameter/2 res]]
ring2 = v.makeCylinder[0,
round[(-depth/2 - ringOuterDiameter/2 + ringThickness/2) res],
0,
0,
round[(-depth/2 - ringOuterDiameter/2 + ringThickness/2) res],
round[ringHeight res],
round[ringInnerDiameter/2 res]]
ring.remove[ring2]
v = v.union[ring]
v.projectX[undef].show["X"]
v.projectY[undef].show["Y"]
v.projectZ[undef].show["Z"]
filename = "pumpHolder.obj"
print["Writing $filename..."]
w = new Writer[filename]
w.println[v.toObjFormat["pumpHolder", 1/(res mm)]]
w.close[]
println["done."]
Download or view pumpHolder.frink in plain text format
This is a program written in the programming language Frink.
For more information, view the Frink
Documentation or see More Sample Frink Programs.
Alan Eliasen was born 20136 days, 4 hours, 18 minutes ago.