|
|
|
@ -11,44 +11,167 @@ va = 0.02; // Visual addition for difference
|
|
|
|
|
vap = va/2; // Half of visual addition
|
|
|
|
|
van = -(va/2); // Negative half of visual addition
|
|
|
|
|
|
|
|
|
|
pbswiss_mounting_size = 7.2;
|
|
|
|
|
|
|
|
|
|
pb1_small_dia = 10.8;
|
|
|
|
|
pb1_big_dia = 13.2;
|
|
|
|
|
pb1_lenght = 13;
|
|
|
|
|
// Works perfectly !
|
|
|
|
|
pb_10_9_big_dia = 13.3;
|
|
|
|
|
pb_10_9_small_dia = 10.9;
|
|
|
|
|
pb_10_9_lenght = 13;
|
|
|
|
|
pb_10_9_extra_height = 0;
|
|
|
|
|
pb_10_9_clip_offset = 1.9;
|
|
|
|
|
pb_10_9_clip_dia = 1.2;
|
|
|
|
|
|
|
|
|
|
pb_holder(pb1_big_dia,pb1_small_dia,pb1_lenght);
|
|
|
|
|
|
|
|
|
|
pb_12_8_big_dia = 15;
|
|
|
|
|
pb_12_8_small_dia = 12.8;
|
|
|
|
|
pb_12_8_lenght = 14;
|
|
|
|
|
pb_12_8_extra_height = 0;
|
|
|
|
|
pb_12_8_clip_offset = 2.2;
|
|
|
|
|
pb_12_8_clip_dia = 1.2;
|
|
|
|
|
|
|
|
|
|
pb_13_5_big_dia = 16.3;
|
|
|
|
|
pb_13_5_small_dia = 13.5;
|
|
|
|
|
pb_13_5_lenght = 15;
|
|
|
|
|
pb_13_5_extra_height = 0;
|
|
|
|
|
pb_13_5_clip_offset = 2.6;
|
|
|
|
|
pb_13_5_clip_dia = 1.2;
|
|
|
|
|
|
|
|
|
|
module pb_holder(big_dia = 10, small_dia = 5 , distance = 10)
|
|
|
|
|
|
|
|
|
|
//pb_holder(pb_10_9_big_dia,pb_10_9_small_dia,pb_10_9_lenght,pb_10_9_extra_height, pb_10_9_clip_offset, pb_10_9_clip_dia);
|
|
|
|
|
//pb_holder(pb_13_5_big_dia,pb_13_5_small_dia,pb_13_5_lenght,pb_13_5_extra_height, pb_13_5_clip_offset, pb_13_5_clip_dia);
|
|
|
|
|
//pb_holder(pb_12_8_big_dia,pb_12_8_small_dia,pb_12_8_lenght,pb_12_8_extra_height, pb_12_8_clip_offset, pb_12_8_clip_dia);
|
|
|
|
|
|
|
|
|
|
module pb_holder(big_dia = 12, small_dia = 6 , distance = 10, extra_height = 0, clip_offset = 0, clip_dia = 1)
|
|
|
|
|
{
|
|
|
|
|
wall_thickness = 1.6;
|
|
|
|
|
|
|
|
|
|
#difference()
|
|
|
|
|
|
|
|
|
|
hull_thickness = 1;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
main_frame_big_x = big_dia + 2*wall_thickness; // 2 Side walls
|
|
|
|
|
main_frame_big_y = big_dia + wall_thickness-clip_offset; // one Bottom Wall
|
|
|
|
|
|
|
|
|
|
main_frame_small_x = small_dia + 2*wall_thickness; // 2 Side walls
|
|
|
|
|
main_frame_small_y = small_dia + wall_thickness-clip_offset; // one Bottom Wall
|
|
|
|
|
|
|
|
|
|
main_frame_y_offset_flat_bottom =(big_dia - small_dia)/2;
|
|
|
|
|
|
|
|
|
|
chopping_square_size = main_frame_big_x + 4*wall_thickness + extra_height +pbswiss_mounting_size ;
|
|
|
|
|
chopping_square_height = 4*hull_thickness;
|
|
|
|
|
|
|
|
|
|
latch_circle_big = clip_dia;
|
|
|
|
|
latch_circle_small = (latch_circle_big / (big_dia - small_dia)) + (latch_circle_big / (big_dia - small_dia))/2;
|
|
|
|
|
latch_circle_big_y_offset = big_dia/2 + wall_thickness/2 - latch_circle_big/2 - clip_offset/2 ;
|
|
|
|
|
latch_circle_small_y_offset = small_dia/2 + wall_thickness/2 - latch_circle_small/2 - clip_offset/2 ;
|
|
|
|
|
|
|
|
|
|
union()
|
|
|
|
|
{
|
|
|
|
|
difference()
|
|
|
|
|
{
|
|
|
|
|
union()
|
|
|
|
|
{
|
|
|
|
|
difference()
|
|
|
|
|
{
|
|
|
|
|
union()
|
|
|
|
|
{
|
|
|
|
|
// Main Frame
|
|
|
|
|
hull()
|
|
|
|
|
{
|
|
|
|
|
translate([0,0,distance/2+hull_thickness/2])
|
|
|
|
|
cube(size=([main_frame_big_x,main_frame_big_y,hull_thickness]),center=true);
|
|
|
|
|
translate([0,0,-distance/2+hull_thickness/2])
|
|
|
|
|
rotate([0,0,0])
|
|
|
|
|
cube(size=([main_frame_small_x,main_frame_small_y,hull_thickness]),center=true);
|
|
|
|
|
}
|
|
|
|
|
// Main Frame for flat bottom
|
|
|
|
|
hull()
|
|
|
|
|
{
|
|
|
|
|
translate([0,0,distance/2+hull_thickness/2])
|
|
|
|
|
cube(size=([main_frame_big_x,main_frame_big_y,hull_thickness]),center=true);
|
|
|
|
|
translate([0,-main_frame_y_offset_flat_bottom,-distance/2+hull_thickness/2])
|
|
|
|
|
cube(size=([main_frame_small_x,main_frame_small_y,hull_thickness]),center=true);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Screw holder cylindrical Removal
|
|
|
|
|
hull()
|
|
|
|
|
{
|
|
|
|
|
translate([0,wall_thickness/2 + clip_offset ,distance/2+hull_thickness/2])
|
|
|
|
|
cylinder(d=big_dia, h=hull_thickness, center = true);
|
|
|
|
|
|
|
|
|
|
translate([0,wall_thickness/2 + clip_offset,-distance/2+hull_thickness/2])
|
|
|
|
|
cylinder(d=small_dia, h=hull_thickness, center = true);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Top oppening for the Screw holder cylindrical Removal.
|
|
|
|
|
hull()
|
|
|
|
|
{
|
|
|
|
|
translate([0,0,distance/2+van])
|
|
|
|
|
cube(size=([big_dia+2*wall_thickness,big_dia+2*wall_thickness,va]),center=true);
|
|
|
|
|
translate([0,0,-distance/2+vap])
|
|
|
|
|
cube(size=([small_dia+2*wall_thickness,small_dia+2*wall_thickness,va]),center=true);
|
|
|
|
|
translate([0,big_dia/2+wall_thickness/2 + clip_offset ,distance/2+hull_thickness/2])
|
|
|
|
|
cube(size=([big_dia,big_dia,hull_thickness]),center=true);
|
|
|
|
|
translate([0,small_dia/2+wall_thickness/2 + clip_offset ,-distance/2+hull_thickness/2])
|
|
|
|
|
cube(size=([small_dia,small_dia,hull_thickness]),center=true);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Screw holder cylindrical Removal visual extra removal
|
|
|
|
|
translate([0,wall_thickness/2 + clip_offset,-distance/2])
|
|
|
|
|
cylinder(d=small_dia, h=hull_thickness, center = true);
|
|
|
|
|
|
|
|
|
|
// Top oppening for the Screw holder cylindrical Removal visual extra removal
|
|
|
|
|
translate([0,small_dia/2+wall_thickness/2 + clip_offset,-distance/2])
|
|
|
|
|
cube(size=([small_dia,small_dia,hull_thickness]),center=true);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Latching Rounding 1
|
|
|
|
|
hull()
|
|
|
|
|
{
|
|
|
|
|
translate([0,0,distance/2])
|
|
|
|
|
cylinder(d=big_dia, h=va, center = true);
|
|
|
|
|
translate([big_dia/2,latch_circle_big_y_offset,distance/2])
|
|
|
|
|
cylinder(d=latch_circle_big, h=0.001, center = true);
|
|
|
|
|
|
|
|
|
|
translate([0,0,-distance/2])
|
|
|
|
|
cylinder(d=small_dia, h=va, center = true);
|
|
|
|
|
translate([small_dia/2,latch_circle_small_y_offset,-distance/2])
|
|
|
|
|
cylinder(d=latch_circle_small, h=0.001, center = true);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Latching Rounding 2
|
|
|
|
|
hull()
|
|
|
|
|
{
|
|
|
|
|
translate([0,big_dia/2,distance/2+van])
|
|
|
|
|
cube(size=([big_dia,big_dia,va]),center=true);
|
|
|
|
|
translate([0,small_dia/2,-distance/2+vap])
|
|
|
|
|
cube(size=([small_dia,small_dia,va]),center=true);
|
|
|
|
|
translate([-big_dia/2,latch_circle_big_y_offset,distance/2])
|
|
|
|
|
cylinder(d=latch_circle_big, h=0.001, center = true);
|
|
|
|
|
|
|
|
|
|
translate([-small_dia/2,latch_circle_small_y_offset,-distance/2])
|
|
|
|
|
cylinder(d=latch_circle_small, h=0.001, center = true);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Extra thickness addition to the botom
|
|
|
|
|
translate([0,-(big_dia+wall_thickness)/2-extra_height/2+clip_offset/2,0])
|
|
|
|
|
hull()
|
|
|
|
|
{
|
|
|
|
|
translate([0,0,distance/2+hull_thickness/2])
|
|
|
|
|
cube(size=([main_frame_big_x,extra_height,hull_thickness]),center=true);
|
|
|
|
|
translate([0,0,-distance/2+hull_thickness/2])
|
|
|
|
|
cube(size=([main_frame_small_x,extra_height,hull_thickness]),center=true);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Mounting screw hole
|
|
|
|
|
translate([0,-(big_dia+wall_thickness)/2-pbswiss_mounting_size/2-extra_height+clip_offset/2,distance/2-pbswiss_mounting_size/2])
|
|
|
|
|
difference()
|
|
|
|
|
{
|
|
|
|
|
cube(size=([pbswiss_mounting_size,pbswiss_mounting_size,pbswiss_mounting_size]),center=true);
|
|
|
|
|
cylinder(d=2.6, h=pbswiss_mounting_size+va, center = true);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
// Cutting the hull the right distance big side
|
|
|
|
|
translate([0,0,distance/2+chopping_square_height/2])
|
|
|
|
|
cube(size=([chopping_square_size,chopping_square_size,chopping_square_height]),center=true);
|
|
|
|
|
|
|
|
|
|
// Cutting the hull the right distance small side
|
|
|
|
|
translate([0,0,-distance/2-chopping_square_height/2])
|
|
|
|
|
cube(size=([chopping_square_size,chopping_square_size,chopping_square_height]),center=true);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|