successful version of the left frame
print seems aligned with the top plate, hole sizes look right, still need to pair it with a true middle frame
This commit is contained in:
parent
a3cdbf7069
commit
b47b192fd4
|
@ -123,6 +123,13 @@ module topplate() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
module frame_box() {
|
||||||
|
difference() {
|
||||||
|
cube([frame_x, frame_y, frame_z], center=true);
|
||||||
|
cube([160, 185, frame_z+5], center=true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
module frame_mount_column() {
|
module frame_mount_column() {
|
||||||
cube([20, 20, frame_z], center=true);
|
cube([20, 20, frame_z], center=true);
|
||||||
}
|
}
|
||||||
|
@ -133,3 +140,31 @@ module frame_panel_surround() {
|
||||||
scale([1, 1, 2]) base_topplate();
|
scale([1, 1, 2]) base_topplate();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
module base_frame() {
|
||||||
|
frame_box();
|
||||||
|
translate([0, 0, frame_z/2 + top_plate_z/2])
|
||||||
|
frame_panel_surround();
|
||||||
|
translate([(top_plate_x/2)-10, (top_plate_y/2)-10, 0])
|
||||||
|
frame_mount_column();
|
||||||
|
translate([-((top_plate_x/2)-10), (top_plate_y/2)-10, 0])
|
||||||
|
frame_mount_column();
|
||||||
|
translate([(top_plate_x/2)-10, -((top_plate_y/2)-10), 0])
|
||||||
|
frame_mount_column();
|
||||||
|
translate([-((top_plate_x/2)-10), -((top_plate_y/2)-10), 0])
|
||||||
|
frame_mount_column();
|
||||||
|
}
|
||||||
|
|
||||||
|
module frame() {
|
||||||
|
difference() {
|
||||||
|
base_frame();
|
||||||
|
translate([(top_plate_x/2)-10, (top_plate_y/2)-10, 0])
|
||||||
|
frame_hex_bolt_hole();
|
||||||
|
translate([-((top_plate_x/2)-10), (top_plate_y/2)-10, 0])
|
||||||
|
frame_hex_bolt_hole();
|
||||||
|
translate([(top_plate_x/2)-10, -((top_plate_y/2)-10), 0])
|
||||||
|
frame_hex_bolt_hole();
|
||||||
|
translate([-((top_plate_x/2)-10), -((top_plate_y/2)-10), 0])
|
||||||
|
frame_hex_bolt_hole();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,44 @@
|
||||||
|
/* Copyright Brian Stephan 2023
|
||||||
|
*
|
||||||
|
* This file is part of bullet-system-stick.
|
||||||
|
*
|
||||||
|
* bullet-system-stick is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by the
|
||||||
|
* Free Software Foundation, either version 3 of the License, or (at your
|
||||||
|
* option) any later version.
|
||||||
|
*
|
||||||
|
* bullet-system-stick is distributed in the hope that it will be useful, but
|
||||||
|
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
||||||
|
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||||||
|
* more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License along with
|
||||||
|
* bullet-system-stick. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
include <components.scad>
|
||||||
|
|
||||||
|
module left_frame() {
|
||||||
|
difference() {
|
||||||
|
frame();
|
||||||
|
// chop the right edge off
|
||||||
|
translate([frame_x/2, 0, 0]) cube([10.001, 2*(frame_y+top_plate_y), 2*(frame_z+top_plate_z)], center=true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
difference() {
|
||||||
|
left_frame();
|
||||||
|
// connection hole to other frames
|
||||||
|
translate([frame_x/2, (frame_y/4)+10, (frame_z/4)]) rotate([0, 90, 0]) m4_hole();
|
||||||
|
translate([frame_x/2, (frame_y/4)+10, -(frame_z/4)]) rotate([0, 90, 0]) m4_hole();
|
||||||
|
translate([frame_x/2, (frame_y/4)-10, (frame_z/4)]) rotate([0, 90, 0]) m4_hole();
|
||||||
|
translate([frame_x/2, (frame_y/4)-10, -(frame_z/4)]) rotate([0, 90, 0]) m4_hole();
|
||||||
|
|
||||||
|
translate([frame_x/2, -((frame_y/4)+10), (frame_z/4)]) rotate([0, 90, 0]) m4_hole();
|
||||||
|
translate([frame_x/2, -((frame_y/4)+10), -(frame_z/4)]) rotate([0, 90, 0]) m4_hole();
|
||||||
|
translate([frame_x/2, -((frame_y/4)-10), (frame_z/4)]) rotate([0, 90, 0]) m4_hole();
|
||||||
|
translate([frame_x/2, -((frame_y/4)-10), -(frame_z/4)]) rotate([0, 90, 0]) m4_hole();
|
||||||
|
|
||||||
|
// cable routing hole
|
||||||
|
translate([frame_x/2, 0, 0]) rotate([0, 90, 0]) frame_interchange_hole();
|
||||||
|
}
|
Loading…
Reference in New Issue