Initial commit
This commit is contained in:
commit
203bc5d3ea
6 changed files with 330 additions and 0 deletions
103
Meshcore Repeater Mounting Plate.scad
Normal file
103
Meshcore Repeater Mounting Plate.scad
Normal file
|
|
@ -0,0 +1,103 @@
|
|||
width=89;
|
||||
height=157;
|
||||
thickness=3;
|
||||
edge_radius=4;
|
||||
|
||||
difference() {
|
||||
translate([edge_radius,edge_radius,0]) {
|
||||
minkowski() {
|
||||
cube([height-2*edge_radius,width-2*edge_radius,thickness/2]);
|
||||
cylinder(thickness/2, edge_radius, edge_radius);
|
||||
}
|
||||
}
|
||||
|
||||
mounting_hole_radius=2.5;
|
||||
translate([5,5,-0.5]) {
|
||||
cylinder(thickness+1, mounting_hole_radius, mounting_hole_radius);
|
||||
}
|
||||
|
||||
translate([5,width-5,-0.5]) {
|
||||
cylinder(thickness+1, mounting_hole_radius, mounting_hole_radius);
|
||||
}
|
||||
|
||||
translate([height-5,5,-0.5]) {
|
||||
cylinder(thickness+1, mounting_hole_radius, mounting_hole_radius);
|
||||
}
|
||||
|
||||
translate([height-5,width-5,-0.5]) {
|
||||
cylinder(thickness+1, mounting_hole_radius, mounting_hole_radius);
|
||||
}
|
||||
}
|
||||
|
||||
// pole mount
|
||||
pipe_diameter=60;
|
||||
pipe_radius=pipe_diameter/2;
|
||||
|
||||
pole_mount_width=15;
|
||||
pole_mount_length=25;
|
||||
pole_mount_height=pipe_radius;
|
||||
channel_width=15;
|
||||
|
||||
channel_angle=65; // TODO: Automatically adapt angle to pipe diameter
|
||||
width_offset=sign(sign(width-pipe_diameter)+1)*((width-pipe_diameter)/2+5);
|
||||
|
||||
difference() {
|
||||
union() {
|
||||
translate([15,width_offset,0]) {
|
||||
difference() {
|
||||
cube([pole_mount_length,pole_mount_width,pole_mount_height]);
|
||||
translate([pole_mount_length/2-channel_width/2,pole_mount_width,thickness]) {
|
||||
rotate([channel_angle,0,0]) {
|
||||
cube([channel_width,2,30]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
mirror([0,1,0]) {
|
||||
translate([15,-width+width_offset,0]) {
|
||||
difference() {
|
||||
cube([pole_mount_length,pole_mount_width,pole_mount_height]);
|
||||
translate([pole_mount_length/2-channel_width/2,pole_mount_width,thickness]) {
|
||||
rotate([channel_angle,0,0]) {
|
||||
cube([channel_width,2,30]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
translate([height-pole_mount_length-15,width_offset,0]) {
|
||||
difference() {
|
||||
cube([pole_mount_length,pole_mount_width,pole_mount_height]);
|
||||
translate([pole_mount_length/2-channel_width/2,pole_mount_width,thickness]) {
|
||||
rotate([channel_angle,0,0]) {
|
||||
cube([channel_width,2,30]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
mirror([0,1,0]) {
|
||||
translate([height-pole_mount_length-15,-width+width_offset,0]) {
|
||||
difference() {
|
||||
cube([pole_mount_length,pole_mount_width,pole_mount_height]);
|
||||
translate([pole_mount_length/2-channel_width/2,pole_mount_width,thickness]) {
|
||||
rotate([channel_angle,0,0]) {
|
||||
cube([channel_width,2,30]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// pipe
|
||||
rotate([0,90,0]) {
|
||||
translate([-pipe_radius-5,width/2,0]) {
|
||||
#cylinder(height,pipe_radius,pipe_radius);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$fn=70;
|
||||
Loading…
Add table
Add a link
Reference in a new issue