DK7ZB-5elem-dual/antenna.scad

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();