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() {
 | 
			
		||||
	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
									
								
							
							
						
						
									
										44
									
								
								src/left-frame.scad
									
									
									
									
									
										Normal 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();
 | 
			
		||||
}
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user