update design and add side winches
This commit is contained in:
@@ -1,26 +1,15 @@
|
||||
main_or_side = "m"
|
||||
main_not_side = 1; // 0,1
|
||||
plot = "side"; // [side|mid|roller|full]
|
||||
|
||||
if (main_or_side == "m") {
|
||||
base_len = 180;
|
||||
base_hight = 6;
|
||||
base_width = 50;
|
||||
} else {
|
||||
base_len = 60;
|
||||
base_hight = 6;
|
||||
base_width = 45;
|
||||
}
|
||||
base_len = main_not_side ? 180 : 60;
|
||||
base_hight = 6;
|
||||
base_width = main_not_side ? 50 : 45;
|
||||
|
||||
matt_thingness = 4;
|
||||
|
||||
if (main_or_side == "m") {
|
||||
roller_small_d = 30;
|
||||
roller_flansh_d = 50;
|
||||
roller_above_base = 35;
|
||||
} else {
|
||||
roller_small_d = 25;
|
||||
roller_flansh_d = 40;
|
||||
roller_above_base = 30;
|
||||
}
|
||||
roller_small_d = main_not_side ? 30 : 25;
|
||||
roller_flansh_d = main_not_side ? 50 : 40;
|
||||
roller_above_base = roller_flansh_d/2 + matt_thingness + 3;
|
||||
roller_flansh_t = 3;
|
||||
roller_side_tollerance = 0.5;
|
||||
|
||||
@@ -37,9 +26,10 @@ side_mount_hole_sep = 35;
|
||||
side_mount_hole_above_base = 1;
|
||||
side_mount_hole_d = 4;
|
||||
|
||||
mid_arch_roler_cut_r = 25;
|
||||
mid_arch_roler_cut_r = main_not_side ? 23 : 18;
|
||||
mid_winch_flansh_space = roller_flansh_t + 1;
|
||||
mid_winch_tollerance = 0.5;
|
||||
mid_diagnal_ratio = 0.75;
|
||||
|
||||
// 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);
|
||||
@@ -52,8 +42,8 @@ side_flat_trangentPoint_x = (side_width/2) - (side_arch_r*cos(side_arch_trangent
|
||||
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;
|
||||
mid_topRounding_center_y = side_flat_trangentPoint_y*mid_diagnal_ratio;
|
||||
mid_topRounding_side_x = side_flat_trangentPoint_x*mid_diagnal_ratio;
|
||||
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));
|
||||
@@ -98,7 +88,7 @@ module side_2d() {
|
||||
union() {
|
||||
translate([matt_thingness, base_hight]) {
|
||||
winch_side_2d();
|
||||
if (main_or_side == "m")
|
||||
if (main_not_side)
|
||||
translate([base_len/2, 0])
|
||||
winch_side_2d();
|
||||
}
|
||||
@@ -111,8 +101,8 @@ module mid_winch_2d() {
|
||||
union() {
|
||||
polygon(points = [
|
||||
[0, 0],
|
||||
[side_flat_trangentPoint_x/2, side_flat_trangentPoint_y/2],
|
||||
[side_width-side_flat_trangentPoint_x/2, side_flat_trangentPoint_y/2],
|
||||
[side_flat_trangentPoint_x*mid_diagnal_ratio, side_flat_trangentPoint_y*mid_diagnal_ratio],
|
||||
[side_width-side_flat_trangentPoint_x*mid_diagnal_ratio, side_flat_trangentPoint_y*mid_diagnal_ratio],
|
||||
[side_width, 0]
|
||||
]);
|
||||
translate([mid_topRounding_center_x, mid_topRounding_center_y])
|
||||
@@ -132,16 +122,17 @@ module mid_3d() {
|
||||
// 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]);
|
||||
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();
|
||||
if (main_not_side)
|
||||
translate([base_len/2, 0])
|
||||
mid_winch_2d();
|
||||
}
|
||||
@@ -158,6 +149,7 @@ module mid_3d() {
|
||||
[matt_thingness-mid_winch_tollerance+windh_side_mattThinkness_x, matt_thingness],
|
||||
[0, matt_thingness]
|
||||
]);
|
||||
if (main_not_side)
|
||||
translate([matt_thingness+side_width+mid_winch_tollerance, 0])
|
||||
polygon(points = [
|
||||
[0, 0],
|
||||
@@ -165,6 +157,7 @@ module mid_3d() {
|
||||
[base_len/2-side_width-mid_winch_tollerance*2+windh_side_mattThinkness_x, matt_thingness],
|
||||
[-windh_side_mattThinkness_x, matt_thingness],
|
||||
]);
|
||||
if (main_not_side)
|
||||
translate([matt_thingness+base_len/2+side_width+mid_winch_tollerance, 0])
|
||||
polygon(points = [
|
||||
[0, 0],
|
||||
@@ -172,6 +165,14 @@ module mid_3d() {
|
||||
[base_len/2-side_width-mid_winch_tollerance+matt_thingness, matt_thingness],
|
||||
[-windh_side_mattThinkness_x, matt_thingness],
|
||||
]);
|
||||
if (main_not_side == 0)
|
||||
translate([matt_thingness+side_width+mid_winch_tollerance, 0])
|
||||
polygon(points = [
|
||||
[0, 0],
|
||||
[base_len-side_width-mid_winch_tollerance+matt_thingness, 0],
|
||||
[base_len-side_width-mid_winch_tollerance+matt_thingness, matt_thingness],
|
||||
[-windh_side_mattThinkness_x, matt_thingness],
|
||||
]);
|
||||
}
|
||||
}
|
||||
translate([0, base_width*1.5, base_hight])
|
||||
@@ -180,8 +181,10 @@ module mid_3d() {
|
||||
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 + side_mount_hole_above_base])
|
||||
cylinder(h = base_width*2, d = side_mount_hole_d+0.0001);
|
||||
if (main_not_side)
|
||||
translate([matt_thingness+base_len/2+(side_width/2)-(side_mount_hole_sep/2), side_mount_hole_d/2 + side_mount_hole_above_base])
|
||||
cylinder(h = base_width*2, d = side_mount_hole_d+0.0001);
|
||||
if (main_not_side)
|
||||
translate([matt_thingness+base_len/2+(side_width/2)+(side_mount_hole_sep/2), side_mount_hole_d/2 + side_mount_hole_above_base])
|
||||
cylinder(h = base_width*2, d = side_mount_hole_d+0.0001);
|
||||
}
|
||||
@@ -234,16 +237,20 @@ module full() {
|
||||
side_left();
|
||||
mid_3d();
|
||||
roller_front();
|
||||
roller_back();
|
||||
if (main_not_side)
|
||||
roller_back();
|
||||
}
|
||||
|
||||
full();
|
||||
|
||||
// side_3d();
|
||||
// translate([0, 0, -base_hight])
|
||||
// mid_3d();
|
||||
// rotate([90, 0, 0])
|
||||
// roller_3d();
|
||||
if (plot == "full")
|
||||
full();
|
||||
if (plot == "side")
|
||||
side_3d();
|
||||
if (plot == "mid")
|
||||
translate([0, 0, -base_hight])
|
||||
mid_3d();
|
||||
if (plot == "roller")
|
||||
rotate([90, 0, 0])
|
||||
roller_3d();
|
||||
|
||||
|
||||
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
17
3d/winshe_main/render.sh
Executable file
17
3d/winshe_main/render.sh
Executable file
@@ -0,0 +1,17 @@
|
||||
#!/bin/bash
|
||||
|
||||
function plot() {
|
||||
main_not_side=$(test $1 == "main" && echo 1 || echo 0)
|
||||
openscad -o winch_$1_$2.stl -D main_not_side=$main_not_side -D plot=\"$2\" main_winche.scad
|
||||
}
|
||||
|
||||
plot main full
|
||||
plot main side
|
||||
plot main mid
|
||||
plot main roller
|
||||
|
||||
plot side full
|
||||
plot side side
|
||||
plot side mid
|
||||
plot side roller
|
||||
|
||||
71178
3d/winshe_main/winch_main_full.stl
Normal file
71178
3d/winshe_main/winch_main_full.stl
Normal file
File diff suppressed because it is too large
Load Diff
13918
3d/winshe_main/winch_main_mid.stl
Normal file
13918
3d/winshe_main/winch_main_mid.stl
Normal file
File diff suppressed because it is too large
Load Diff
6022
3d/winshe_main/winch_main_roller.stl
Normal file
6022
3d/winshe_main/winch_main_roller.stl
Normal file
File diff suppressed because it is too large
Load Diff
22710
3d/winshe_main/winch_main_side.stl
Normal file
22710
3d/winshe_main/winch_main_side.stl
Normal file
File diff suppressed because it is too large
Load Diff
35786
3d/winshe_main/winch_side_full.stl
Normal file
35786
3d/winshe_main/winch_side_full.stl
Normal file
File diff suppressed because it is too large
Load Diff
7170
3d/winshe_main/winch_side_mid.stl
Normal file
7170
3d/winshe_main/winch_side_mid.stl
Normal file
File diff suppressed because it is too large
Load Diff
6022
3d/winshe_main/winch_side_roller.stl
Normal file
6022
3d/winshe_main/winch_side_roller.stl
Normal file
File diff suppressed because it is too large
Load Diff
11342
3d/winshe_main/winch_side_side.stl
Normal file
11342
3d/winshe_main/winch_side_side.stl
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user