For our final comb we revised a couple things. We separated the teeth to be further than a regular comb in order to print properly. We also widened the outer teeth so it would provide structure. We rounded the teeth ends as well, before they were cone-shaped, this makes it more practical. The body of the comb is longer so that it covers a larger amount of hair.
Code:
// BY_CRC customizable comb
// 2013-08
//
frame_length = 120; // length of frame in mm
frame_width = 8; // width of frame in mm
frame_height = 15; // height of frame in mm
frame_end_tooth_radius = frame_width / 2; // radius of first and last tooth in mm
// tooth radius calculated later
tooth_radius = 3 ; // radius of a tooth in mm
tooth_length = 25; // length of a tooth in mm
tooth_amount = 15; // number of teeth
factor = 0.75; // tooth tip / tooth base factor
z = frame_height – 1;
y = tooth_radius + (frame_width – tooth_radius – tooth_radius) / 2;
// x in for loop
module tooth(radius, length, x, y, z){
translate ( [x, y, z] )
cylinder (h=length, r1=radius, r2=radius*factor, $fn=60);
translate ( [x, y, z+length] )
sphere (r=radius*factor, $fn=60);
}
module frame(length, width, height){
cube ( [length, width, height] );
}
union(){
frame(frame_length, frame_width, frame_height);
tooth(frame_end_tooth_radius, tooth_length+frame_height-1, 0, y, 0);
tooth(frame_end_tooth_radius, tooth_length+frame_height-1, frame_length, y, 0);
for (i = [0:frame_length/tooth_amount:frame_length]) {
tooth(tooth_radius,tooth_length, i, y, z );
}
}
Recent Comments