147 lines
3.8 KiB
OpenSCAD
147 lines
3.8 KiB
OpenSCAD
$fn=180;
|
|
|
|
boom_length = 600;
|
|
boom_width = 19.5;
|
|
boom_height = 20;
|
|
boom_thickness = 1.6;
|
|
|
|
clamp_length = 15;
|
|
clamp_width = 60;
|
|
clamp_height = 10;
|
|
|
|
clamp_connector_dia = 6;
|
|
clamp_wire_dia = 3;
|
|
|
|
clamp_screw_dia = 3.2;
|
|
clamp_nut_dia = 6.5;
|
|
|
|
nose_height = boom_height/2;
|
|
nose_width = boom_width/4;
|
|
|
|
module boom() {
|
|
color("lightgray") {
|
|
translate([0, -boom_thickness/2, boom_length/2])
|
|
cube([boom_width, boom_thickness, boom_length],
|
|
center=true);
|
|
|
|
translate([boom_width/2 - boom_thickness/2,
|
|
boom_height/2 - boom_thickness,
|
|
boom_length/2])
|
|
cube([boom_thickness, boom_height, boom_length],
|
|
center=true);
|
|
|
|
translate([-boom_width/2 + boom_thickness/2,
|
|
boom_height/2 - boom_thickness,
|
|
boom_length/2])
|
|
cube([boom_thickness, boom_height, boom_length],
|
|
center=true);
|
|
}
|
|
}
|
|
|
|
module element_clamp() {
|
|
color("orange") {
|
|
|
|
difference() {
|
|
union() {
|
|
for(x = [nose_width/2 - boom_width/2 + boom_thickness,
|
|
-nose_width/2 + boom_width/2 - boom_thickness])
|
|
translate([x, nose_height/2+boom_height/2 - boom_thickness,0])
|
|
cube([nose_width, nose_height,clamp_length],
|
|
center=true);
|
|
|
|
translate([0, nose_width/2 + boom_height - boom_thickness, 0])
|
|
cube([clamp_width, nose_width, clamp_length], center=true);
|
|
|
|
for(x = [-nose_width/2 + clamp_width/2,
|
|
nose_width/2 - clamp_width/2])
|
|
translate([x, clamp_height/2 + boom_height -
|
|
boom_thickness + nose_width, 0])
|
|
cube([nose_width, clamp_height,clamp_length],
|
|
center=true);
|
|
|
|
for(x = [nose_width/2 - boom_width/2 + boom_thickness,
|
|
-nose_width/2 + boom_width/2 - boom_thickness])
|
|
translate([x, clamp_height/2 + boom_height -
|
|
boom_thickness + nose_width, 0])
|
|
cube([nose_width, clamp_height,clamp_length],
|
|
center=true);
|
|
}
|
|
|
|
translate([0, boom_height + nose_width/2 + clamp_height/2, 0])
|
|
rotate([0,90,0]) {
|
|
cylinder(d=clamp_connector_dia, h=boom_width, center=true);
|
|
cylinder(d=clamp_wire_dia, h=clamp_width + 0.1, center=true);
|
|
}
|
|
|
|
translate([0, boom_height - nose_height/2 - boom_thickness, 0])
|
|
rotate([0,90,0]) {
|
|
cylinder(d=clamp_nut_dia,
|
|
h=boom_width - nose_width - 2*boom_thickness,
|
|
$fn=6, center=true);
|
|
cylinder(d=clamp_screw_dia, h=clamp_width, center=true);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
module element_wire(wire_length) {
|
|
color("lightblue") {
|
|
translate([0, boom_height + nose_width/2 + clamp_height/2, 0])
|
|
rotate([0,90,0]) {
|
|
cylinder(d=clamp_connector_dia - 0.1, h=boom_width, center=true);
|
|
cylinder(d=clamp_wire_dia - 0.1, h=wire_length, center=true);
|
|
}
|
|
}
|
|
}
|
|
|
|
module clamp() {
|
|
color("orange") {
|
|
clamp_height = boom_height + nose_width;
|
|
clamp_width = boom_width + nose_width;
|
|
|
|
translate([0,boom_height/2 - boom_thickness,0])
|
|
difference() {
|
|
cube([clamp_width,clamp_height,nose_width], center=true);
|
|
translate([0, -nose_width/2, 0])
|
|
cube([boom_width,boom_height + nose_width/2,nose_width + 0.01], center=true);
|
|
}
|
|
|
|
for(x = [-boom_width/2, boom_width/2])
|
|
translate([x, -nose_width/2 - boom_thickness, 0])
|
|
difference() {
|
|
cylinder(r=nose_width/2, h=nose_width, center=true);
|
|
translate([0, -nose_width/4, 0])
|
|
cube([nose_width, nose_width/2 + 0.01, nose_width + 0.01], center=true);
|
|
}
|
|
}
|
|
}
|
|
|
|
//translate([0,0,100 - clamp_length/2]) {
|
|
// element_wire(1022);
|
|
// element_clamp();
|
|
//}
|
|
//
|
|
//translate([0,0,230 + 100 - clamp_length/2]) {
|
|
// element_wire(320);
|
|
// element_clamp();
|
|
//}
|
|
//
|
|
//translate([0,0,370 + 100 - clamp_length/2]) {
|
|
// element_wire(939);
|
|
// element_clamp();
|
|
//}
|
|
//
|
|
//translate([0,0,399 + 100 - clamp_length/2]) {
|
|
// element_wire(323);
|
|
// element_clamp();
|
|
//}
|
|
//
|
|
//translate([0,0,500 + 100 - clamp_length/2]) {
|
|
// element_wire(297);
|
|
// element_clamp();
|
|
//}
|
|
|
|
clamp();
|
|
//boom();
|
|
|