Fix clearances after first platform print
This commit is contained in:
parent
09336f1d0d
commit
3e5afb4ebd
@ -1,6 +1,6 @@
|
|||||||
include <export.scad>
|
include <export.scad>
|
||||||
//export=MODEL_PLATFORM_HARNESS;
|
//export=MODEL_PLATFORM_HARNESS;
|
||||||
//export=MODEL_PLATFORM_STRAP;
|
export=MODEL_PLATFORM_STRAP;
|
||||||
|
|
||||||
// dependency: https://github.com/revarbat/BOSL
|
// dependency: https://github.com/revarbat/BOSL
|
||||||
include <BOSL/constants.scad>
|
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);
|
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) {
|
module lock_mechanism_button(groove=false) {
|
||||||
button_size=groove
|
button_size=get_platform_lock_button_profile(groove);
|
||||||
?[10,5]
|
size=get_platform_lock_button_size(groove);
|
||||||
:[7,4.5];
|
translate(get_platform_lock_button_pos())
|
||||||
size=[button_size.x, get_platform_wall()*7, button_size.y];
|
left(groove?1:0)
|
||||||
translate([get_platform_lock_pin_size().x*1.5, -get_platform_size().y/2+size.y*1.3, -get_platform_size().z/2])
|
difference() {
|
||||||
cube(size, center=true);
|
cube(size, center=true);
|
||||||
|
up(size.z/2 + (groove?0.5:0)) back(3) cube(size, center=true);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
module lock_buttons_cutout() {
|
module lock_buttons_cutout() {
|
||||||
module cutout_side(groove) {
|
module cutout_side(groove) {
|
||||||
@ -108,6 +110,12 @@ module platform(base) {
|
|||||||
top_size=get_platform_top_size();
|
top_size=get_platform_top_size();
|
||||||
top=!base;
|
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() {
|
||||||
module base_platform_core() {
|
module base_platform_core() {
|
||||||
braced_thinning_wall(h=size.y, l=size.x, thick=size.z, wall=0, strut=wall, orient=ORIENT_X_90);
|
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() {
|
difference() {
|
||||||
base_platform_core();
|
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);
|
base_platform_cutout_for_top();
|
||||||
lock_buttons_cutout();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
module top_platform() {
|
module top_platform() {
|
||||||
@ -126,9 +133,12 @@ module platform(base) {
|
|||||||
|
|
||||||
module strap_connectors() {
|
module strap_connectors() {
|
||||||
//down(size.z/2)
|
//down(size.z/2)
|
||||||
|
difference() {
|
||||||
foreach_platform_strap_connector() {
|
foreach_platform_strap_connector() {
|
||||||
link_connector_pin();
|
link_connector_pin();
|
||||||
}
|
}
|
||||||
|
base_platform_cutout_for_top();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
color(top?"Olive":"YellowGreen")
|
color(top?"Olive":"YellowGreen")
|
||||||
@ -151,6 +161,11 @@ module model_platform_strap() {
|
|||||||
platform(base=true);
|
platform(base=true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Validation:
|
||||||
|
/*intersection() {
|
||||||
|
model_platform_harness();
|
||||||
|
model_platform_strap();
|
||||||
|
}*/
|
||||||
// Export:
|
// Export:
|
||||||
difference() {
|
difference() {
|
||||||
union() {
|
union() {
|
||||||
|
@ -19,5 +19,17 @@ function get_platform_strap_connector_offset() = [
|
|||||||
];
|
];
|
||||||
|
|
||||||
function get_platform_lock_pin_size() = [20, 4, 3];
|
function get_platform_lock_pin_size() = [20, 4, 3];
|
||||||
function get_platform_lock_arm_size() = [65, 2, 3];
|
function get_platform_lock_arm_size() = [46, 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_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