Fix clearances after first platform print
This commit is contained in:
		
							parent
							
								
									09336f1d0d
								
							
						
					
					
						commit
						3e5afb4ebd
					
				| @ -1,6 +1,6 @@ | ||||
| include <export.scad> | ||||
| //export=MODEL_PLATFORM_HARNESS; | ||||
| //export=MODEL_PLATFORM_STRAP; | ||||
| export=MODEL_PLATFORM_STRAP; | ||||
| 
 | ||||
| // dependency: https://github.com/revarbat/BOSL | ||||
| include <BOSL/constants.scad> | ||||
| @ -53,12 +53,14 @@ module lock_arm() { | ||||
|     translate([joiner_size.x/2, joiner_size.y/2, -joiner_size.z/2 + size.z/2]) cube(joiner_size, center=true); | ||||
| } | ||||
| module lock_mechanism_button(groove=false) { | ||||
|     button_size=groove | ||||
|         ?[10,5] | ||||
|         :[7,4.5]; | ||||
|     size=[button_size.x, get_platform_wall()*7, button_size.y]; | ||||
|     translate([get_platform_lock_pin_size().x*1.5, -get_platform_size().y/2+size.y*1.3, -get_platform_size().z/2]) | ||||
|     cube(size, center=true); | ||||
|     button_size=get_platform_lock_button_profile(groove); | ||||
|     size=get_platform_lock_button_size(groove); | ||||
|     translate(get_platform_lock_button_pos()) | ||||
|     left(groove?1:0) | ||||
|     difference() { | ||||
|         cube(size, center=true); | ||||
|         up(size.z/2 + (groove?0.5:0)) back(3) cube(size, center=true); | ||||
|     } | ||||
| } | ||||
| module lock_buttons_cutout() { | ||||
|     module cutout_side(groove) { | ||||
| @ -108,6 +110,12 @@ module platform(base) { | ||||
|     top_size=get_platform_top_size(); | ||||
|     top=!base; | ||||
|      | ||||
|     module base_platform_cutout_for_top() { | ||||
|         base_top_diff=[base_size.x-top_size.x, base_size.y-top_size.y]; | ||||
|         guiding=0.4; | ||||
|         translate(get_platform_top_pos()) down(top_size.z/2) prismoid(size1=[top_size.x,top_size.y], size2=[top_size.x+base_top_diff.x*guiding,top_size.y+base_top_diff.y*guiding], h=top_size.z); | ||||
|             lock_buttons_cutout(); | ||||
|     } | ||||
|     module base_platform() { | ||||
|         module base_platform_core() { | ||||
|             braced_thinning_wall(h=size.y, l=size.x, thick=size.z, wall=0, strut=wall, orient=ORIENT_X_90); | ||||
| @ -115,8 +123,7 @@ module platform(base) { | ||||
|          | ||||
|         difference() { | ||||
|             base_platform_core(); | ||||
|             translate(get_platform_top_pos()) down(top_size.z/2) prismoid(size1=[top_size.x,top_size.y], size2=[base_size.x-2,base_size.y-2], h=top_size.z); | ||||
|             lock_buttons_cutout(); | ||||
|             base_platform_cutout_for_top(); | ||||
|         } | ||||
|     } | ||||
|     module top_platform() { | ||||
| @ -126,8 +133,11 @@ module platform(base) { | ||||
|          | ||||
|     module strap_connectors() { | ||||
|         //down(size.z/2) | ||||
|         foreach_platform_strap_connector() { | ||||
|             link_connector_pin(); | ||||
|         difference() { | ||||
|             foreach_platform_strap_connector() { | ||||
|                 link_connector_pin(); | ||||
|             } | ||||
|             base_platform_cutout_for_top(); | ||||
|         } | ||||
|     } | ||||
|      | ||||
| @ -151,6 +161,11 @@ module model_platform_strap() { | ||||
|     platform(base=true); | ||||
| } | ||||
| 
 | ||||
| // Validation: | ||||
| /*intersection() { | ||||
|     model_platform_harness(); | ||||
|     model_platform_strap(); | ||||
| }*/ | ||||
| // Export: | ||||
| difference() { | ||||
|     union() { | ||||
|  | ||||
| @ -19,5 +19,17 @@ function get_platform_strap_connector_offset() = [ | ||||
|     ]; | ||||
| 
 | ||||
| function get_platform_lock_pin_size() = [20, 4, 3]; | ||||
| function get_platform_lock_arm_size() = [65, 2, 3]; | ||||
| function get_platform_lock_pin_pos() = [-20, -get_platform_top_size().y/2 + get_platform_wall()*4 + 1, get_platform_top_size().z/2]; | ||||
| function get_platform_lock_arm_size() = [46, 2, 3]; | ||||
| function get_platform_lock_pin_pos() = [-get_platform_lock_pin_size().x/2, -get_platform_top_size().y/2 + get_platform_wall()*4 + 1, get_platform_top_size().z/2]; | ||||
| function get_platform_lock_button_profile(groove) = groove ? [10, 5] : [7, 4.5]; | ||||
| function get_platform_lock_button_size(groove) = [ | ||||
|     get_platform_lock_button_profile(groove).x, | ||||
|     get_platform_size().y * 0.25 + get_platform_lock_pin_size().y + 2, | ||||
|     get_platform_lock_button_profile(groove).y | ||||
|     ]; | ||||
| function get_platform_lock_button_pos() = [ | ||||
|     get_platform_lock_pin_size().x/2 + 5, | ||||
|     -get_platform_lock_button_size(false).y/2, | ||||
|     -get_platform_size().z/2 | ||||
|     ]; | ||||
| 
 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user