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:
Brian S. Stephan 2023-08-17 10:53:43 -05:00
parent a3cdbf7069
commit b47b192fd4
Signed by: bss
GPG Key ID: 3DE06D3180895FCB
2 changed files with 79 additions and 0 deletions

View File

@ -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() {
cube([20, 20, frame_z], center=true);
}
@ -133,3 +140,31 @@ module frame_panel_surround() {
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();
}
}

44
src/left-frame.scad Normal file
View File

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