main_winch: update design
This commit is contained in:
parent
bf50a848b3
commit
6f558e23a7
@ -8,6 +8,7 @@ matt_thingness = 4;
|
||||
roller_small_d = 30;
|
||||
roller_flansh_d = 50;
|
||||
roller_flansh_t = 3;
|
||||
roller_side_tollerance = 0.5;
|
||||
|
||||
roller_above_base = 30;
|
||||
|
||||
@ -23,6 +24,10 @@ side_arch_center_h = 20;
|
||||
side_mount_hole_sep = 35;
|
||||
side_mount_hole_d = 4;
|
||||
|
||||
mid_arch_roler_cut_r = 25;
|
||||
mid_winch_flansh_space = roller_flansh_t + 1;
|
||||
mid_winch_tollerance = 0.1;
|
||||
|
||||
// distance between left bottom of side and the center of the top arch
|
||||
side_corner_to_archCenter = sqrt((side_width/2)^2 + side_arch_center_h^2);
|
||||
// angle from center of arch between left bottom and trangent point
|
||||
@ -33,8 +38,17 @@ side_arch_trangent_a = side_flat_a - acos((side_width/2) / side_corner_to_archCe
|
||||
side_flat_trangentPoint_x = (side_width/2) - (side_arch_r*cos(side_arch_trangent_a));
|
||||
side_flat_trangentPoint_y = side_arch_center_h + (side_arch_r*sin(side_arch_trangent_a));
|
||||
|
||||
// mid top rounding
|
||||
mid_topRounding_center_y = side_flat_trangentPoint_y/2;
|
||||
mid_topRounding_side_x = side_flat_trangentPoint_x/2;
|
||||
o = roller_above_base - mid_topRounding_center_y;
|
||||
s = mid_arch_roler_cut_r;
|
||||
mid_topRounding_inner_x = (side_width/2) - sqrt(pow(s, 2) - pow(o, 2));
|
||||
mid_topRounding_d = mid_topRounding_inner_x - mid_topRounding_side_x;
|
||||
mid_topRounding_center_x = mid_topRounding_side_x + mid_topRounding_d/2;
|
||||
|
||||
$fa=5;
|
||||
$fs=1;
|
||||
$fs=0.1;
|
||||
|
||||
module motor_mount_2d(){
|
||||
union() {
|
||||
@ -83,17 +97,80 @@ module mid_winch_2d() {
|
||||
union() {
|
||||
polygon(points = [
|
||||
[0, 0],
|
||||
[side_flat_trangentPoint_x, side_flat_trangentPoint_y],
|
||||
[side_width-side_flat_trangentPoint_x, side_flat_trangentPoint_y],
|
||||
[side_flat_trangentPoint_x/2, side_flat_trangentPoint_y/2],
|
||||
[side_width-side_flat_trangentPoint_x/2, side_flat_trangentPoint_y/2],
|
||||
[side_width, 0]
|
||||
]);
|
||||
translate([mid_topRounding_center_x, mid_topRounding_center_y])
|
||||
circle(d = mid_topRounding_d);
|
||||
translate([side_width-mid_topRounding_center_x, mid_topRounding_center_y])
|
||||
circle(d = mid_topRounding_d);
|
||||
}
|
||||
translate([side_width/2, roller_above_base])
|
||||
circle(r = mid_arch_roler_cut_r);
|
||||
}
|
||||
}
|
||||
|
||||
module mid_3d() {
|
||||
mid_winch_width = base_width - mid_winch_flansh_space*2;
|
||||
difference() {
|
||||
union() {
|
||||
// base
|
||||
translate([0, 0, base_hight])
|
||||
cube([base_len+matt_thingness*2, base_width, matt_thingness]);
|
||||
// translate([0, 0, 0])
|
||||
// cube([matt_thingness, base_width, base_hight+matt_thingness]);
|
||||
// translate([matt_thingness+base_len, 0, 0])
|
||||
// cube([matt_thingness, base_width, base_hight+matt_thingness]);
|
||||
|
||||
// winches
|
||||
translate([matt_thingness, mid_winch_width+mid_winch_flansh_space, base_hight])
|
||||
rotate([90, 0, 0])
|
||||
linear_extrude(mid_winch_width) {
|
||||
mid_winch_2d();
|
||||
translate([base_len/2, 0])
|
||||
mid_winch_2d();
|
||||
}
|
||||
|
||||
// nibs over side
|
||||
winch_side_a_ratio = side_flat_trangentPoint_x / side_flat_trangentPoint_y;
|
||||
windh_side_mattThinkness_x = winch_side_a_ratio * matt_thingness;
|
||||
translate([0, base_width+matt_thingness, base_hight])
|
||||
rotate([90, 0, 0])
|
||||
linear_extrude(base_width+matt_thingness*2) {
|
||||
polygon(points = [
|
||||
[0, 0],
|
||||
[matt_thingness-mid_winch_tollerance, 0],
|
||||
[matt_thingness-mid_winch_tollerance+windh_side_mattThinkness_x, matt_thingness],
|
||||
[0, matt_thingness]
|
||||
]);
|
||||
translate([matt_thingness+side_width+mid_winch_tollerance, 0])
|
||||
polygon(points = [
|
||||
[0, 0],
|
||||
[base_len/2-side_width-mid_winch_tollerance*2, 0],
|
||||
[base_len/2-side_width-mid_winch_tollerance*2+windh_side_mattThinkness_x, matt_thingness],
|
||||
[-windh_side_mattThinkness_x, matt_thingness],
|
||||
]);
|
||||
translate([matt_thingness+base_len/2+side_width+mid_winch_tollerance, 0])
|
||||
polygon(points = [
|
||||
[0, 0],
|
||||
[base_len/2-side_width-mid_winch_tollerance+matt_thingness, 0],
|
||||
[base_len/2-side_width-mid_winch_tollerance+matt_thingness, matt_thingness],
|
||||
[-windh_side_mattThinkness_x, matt_thingness],
|
||||
]);
|
||||
}
|
||||
}
|
||||
translate([0, base_width*1.5, base_hight])
|
||||
rotate([90, 0, 0]) {
|
||||
translate([matt_thingness+(side_width/2)-(side_mount_hole_sep/2), side_mount_hole_d/2])
|
||||
cylinder(h = base_width*2, d = side_mount_hole_d+0.0001);
|
||||
translate([matt_thingness+(side_width/2)+(side_mount_hole_sep/2), side_mount_hole_d/2])
|
||||
cylinder(h = base_width*2, d = side_mount_hole_d+0.0001);
|
||||
translate([matt_thingness+base_len/2+(side_width/2)-(side_mount_hole_sep/2), side_mount_hole_d/2])
|
||||
cylinder(h = base_width*2, d = side_mount_hole_d+0.0001);
|
||||
translate([matt_thingness+base_len/2+(side_width/2)+(side_mount_hole_sep/2), side_mount_hole_d/2])
|
||||
cylinder(h = base_width*2, d = side_mount_hole_d+0.0001);
|
||||
}
|
||||
translate([side_width/2, side_arch_center_h])
|
||||
circle(r = side_arch_r);
|
||||
translate([(side_width/2)-(side_mount_hole_sep/2), side_mount_hole_d/2])
|
||||
circle(d = side_mount_hole_d);
|
||||
translate([(side_width/2)+(side_mount_hole_sep/2), side_mount_hole_d/2])
|
||||
circle(d = side_mount_hole_d);
|
||||
}
|
||||
}
|
||||
|
||||
@ -103,17 +180,56 @@ module side_3d() {
|
||||
}
|
||||
|
||||
module side_right() {
|
||||
translate([0, -0.0001, -0.0001])
|
||||
rotate([90, 0, 0])
|
||||
side_3d();
|
||||
}
|
||||
|
||||
module side_left() {
|
||||
translate([0, base_width+matt_thingness])
|
||||
translate([0, base_width+matt_thingness+0.0001, -0.0001])
|
||||
rotate([90, 0, 0])
|
||||
side_3d();
|
||||
}
|
||||
|
||||
// side_right();
|
||||
// side_left();
|
||||
linear_extrude(matt_thingness)
|
||||
mid_winch_2d();
|
||||
module roller_3d() {
|
||||
union() {
|
||||
rotate([-90, 0, 0])
|
||||
cylinder(d = roller_small_d, h = base_width - roller_side_tollerance*2);
|
||||
rotate([-90, 0, 0])
|
||||
cylinder(d = roller_flansh_d, h = roller_flansh_t);
|
||||
translate([0, base_width - roller_side_tollerance*2-roller_flansh_t])
|
||||
rotate([-90, 0, 0])
|
||||
cylinder(d = roller_flansh_d, h = roller_flansh_t);
|
||||
}
|
||||
}
|
||||
|
||||
module roller_front() {
|
||||
translate([matt_thingness + side_width/2, 0, base_hight+roller_above_base])
|
||||
translate([0, roller_side_tollerance])
|
||||
roller_3d();
|
||||
}
|
||||
|
||||
module roller_back() {
|
||||
translate([matt_thingness + base_len/2 + side_width/2, 0, base_hight+roller_above_base])
|
||||
translate([0, roller_side_tollerance])
|
||||
roller_3d();
|
||||
}
|
||||
|
||||
module full() {
|
||||
side_right();
|
||||
side_left();
|
||||
mid_3d();
|
||||
roller_front();
|
||||
roller_back();
|
||||
}
|
||||
|
||||
full();
|
||||
|
||||
// side_3d();
|
||||
// translate([0, 0, -base_hight])
|
||||
// mid_3d();
|
||||
// rotate([90, 0, 0])
|
||||
// roller_3d();
|
||||
|
||||
|
||||
|
||||
|
||||
BIN
3d/winshe_main/main_winche.stl
Normal file
BIN
3d/winshe_main/main_winche.stl
Normal file
Binary file not shown.
BIN
3d/winshe_main/main_winche_mid+roller_PLA_3h6m.3mf
Normal file
BIN
3d/winshe_main/main_winche_mid+roller_PLA_3h6m.3mf
Normal file
Binary file not shown.
130195
3d/winshe_main/main_winche_mid+roller_PLA_3h6m.gcode
Normal file
130195
3d/winshe_main/main_winche_mid+roller_PLA_3h6m.gcode
Normal file
File diff suppressed because it is too large
Load Diff
BIN
3d/winshe_main/main_winche_mid.stl
Normal file
BIN
3d/winshe_main/main_winche_mid.stl
Normal file
Binary file not shown.
BIN
3d/winshe_main/main_winche_roller.stl
Normal file
BIN
3d/winshe_main/main_winche_roller.stl
Normal file
Binary file not shown.
BIN
3d/winshe_main/main_winche_side.stl
Normal file
BIN
3d/winshe_main/main_winche_side.stl
Normal file
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user