135 lines
2.6 KiB
OpenSCAD
135 lines
2.6 KiB
OpenSCAD
|
// stoffel-hotend tripod konus mount for deltas
|
||
|
// by zeus - zeus@ctdo.de - CC-BY-NC-4.0
|
||
|
// -> https://www.thingiverse.com/zeus
|
||
|
// -> https://github.com/zeus86
|
||
|
// 25.09.2014
|
||
|
|
||
|
mount_hole_distance=50;
|
||
|
overall_height=50;
|
||
|
material_t=4;
|
||
|
//=======================================
|
||
|
konus_dia=10.75;
|
||
|
konus_big_dia=mount_hole_distance/3;
|
||
|
konus_h=12;
|
||
|
konus_wall_t=6;
|
||
|
hex_cutout_w=6.25;
|
||
|
hex_cutout_t=3;
|
||
|
hex_cutout_d=8;
|
||
|
//=======================================
|
||
|
mount_arm_w=12.5;
|
||
|
mount_arm_block_l=mount_hole_distance/2;
|
||
|
mount_arm_l=mount_hole_distance/2+mount_arm_w/2;
|
||
|
mount_hole_dia=4.75;
|
||
|
mount_hole_hex_dia=8.5;
|
||
|
mount_hole_hex_d=2;
|
||
|
//=======================================
|
||
|
fan_hole_distance=20;
|
||
|
fan_hole_dia=3.2;
|
||
|
fan_base_w=25.5;
|
||
|
fan_base_h=20;
|
||
|
fan_base_t=konus_wall_t;
|
||
|
|
||
|
// ======================================
|
||
|
|
||
|
|
||
|
// ============= BASE =============
|
||
|
|
||
|
|
||
|
module base_plate(){
|
||
|
|
||
|
module base_mount_hole(){
|
||
|
cylinder(r=mount_hole_dia/2,h=material_t*2,center=true,$fn=16);
|
||
|
translate([0,0,material_t/2-mount_hole_hex_d/2+0.1]){
|
||
|
cylinder(r=mount_hole_hex_dia/2,h=mount_hole_hex_d,center=true,$fn=6);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
module base_arm(){
|
||
|
difference(){
|
||
|
union(){
|
||
|
cube([mount_arm_block_l,mount_arm_w,material_t],center=true);
|
||
|
translate([-mount_arm_block_l/2,0,0]){
|
||
|
cylinder(r=mount_arm_w/2,h=material_t,center=true,$fn=64);
|
||
|
}
|
||
|
}
|
||
|
translate([-mount_arm_block_l/2,0,0]){
|
||
|
base_mount_hole();
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
difference(){
|
||
|
union(){
|
||
|
for ( x = [0,120,240] ){
|
||
|
rotate([0,0,x]){translate([-mount_arm_block_l/2,0,0]){base_arm();}}
|
||
|
}
|
||
|
cylinder(r=konus_big_dia/2+konus_wall_t/2,h=material_t,center=true);
|
||
|
}
|
||
|
cylinder(r=konus_dia/2,h=material_t+0.1,center=true,$fn=64);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
// ============ KONUS ============
|
||
|
|
||
|
module konus(){
|
||
|
|
||
|
module hex_cutout(){
|
||
|
translate([-konus_big_dia/4.5-konus_dia/3,0,konus_h+material_t/2-hex_cutout_d/2+0.1]){
|
||
|
cube([hex_cutout_t,hex_cutout_w,hex_cutout_d],center=true);}
|
||
|
rotate([90,0,-90]){translate([0,10,konus_big_dia/3+konus_wall_t]){
|
||
|
cylinder(r=1.75,h=konus_big_dia+konus_wall_t,center=true,$fn=16);}}
|
||
|
}
|
||
|
|
||
|
union(){
|
||
|
difference(){
|
||
|
translate([0,0,konus_h/2+material_t/2]){
|
||
|
cylinder(r1=konus_big_dia/2+konus_wall_t/2,h=konus_h,r2=konus_big_dia/2+konus_wall_t/3.3,h=konus_h,center=true);}
|
||
|
translate([0,0,konus_h/2+material_t/2]){
|
||
|
cylinder(r=konus_dia/2,h=konus_h+0.1,center=true,$fn=64);}
|
||
|
for ( y = [60,180,300] ){
|
||
|
rotate([0,0,y]){hex_cutout();}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
// ============ DRAWING ============
|
||
|
|
||
|
|
||
|
|
||
|
// outside roundness helper:
|
||
|
intersection(){
|
||
|
cylinder(r=30,h=material_t,center=true,$fn=265);
|
||
|
base_plate();}
|
||
|
konus();
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|