print v0.2. start on openscad convertion

This commit is contained in:
Laila van Reenen 2024-10-17 23:34:45 +02:00
parent 8d5dd888d4
commit bf50a848b3
Signed by: LailaTheElf
GPG Key ID: 1F4E6EE3E6DDF769
5 changed files with 32497 additions and 0 deletions

View File

@ -0,0 +1,119 @@
base_len = 190;
base_hight = 6;
base_width = 60; //??
matt_thingness = 4;
roller_small_d = 30;
roller_flansh_d = 50;
roller_flansh_t = 3;
roller_above_base = 30;
motor_shaft_d = 5;
motor_shaft_base_hole = 8.5;
motor_shaft_offCenter = 5;
motor_mount_sep = 30;
motor_mount_d = 4;
side_width = 50;
side_arch_r = 20;
side_arch_center_h = 20;
side_mount_hole_sep = 35;
side_mount_hole_d = 4;
// 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
side_flat_a = acos(side_arch_r / side_corner_to_archCenter);
// angle from center of horizantal and trangent point
side_arch_trangent_a = side_flat_a - acos((side_width/2) / side_corner_to_archCenter);
// tangent point coordiates
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));
$fa=5;
$fs=1;
module motor_mount_2d(){
union() {
circle(d=motor_shaft_base_hole);
translate([motor_mount_sep/2, -motor_shaft_offCenter])
circle(d=motor_mount_d);
translate([-(motor_mount_sep/2), -motor_shaft_offCenter])
circle(d=motor_mount_d);
}
}
module winch_side_2d(){
difference() {
union() {
translate([side_width/2, side_arch_center_h])
circle(r = side_arch_r);
polygon(points = [
[0, 0],
[side_flat_trangentPoint_x, side_flat_trangentPoint_y],
[side_width-side_flat_trangentPoint_x, side_flat_trangentPoint_y],
[side_width, 0]
]);
}
translate([side_width/2, roller_above_base])
motor_mount_2d();
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);
}
}
module side_2d() {
union() {
translate([matt_thingness, base_hight]) {
winch_side_2d();
translate([base_len/2, 0])
winch_side_2d();
}
square([base_len + 2*matt_thingness, base_hight]);
}
}
module mid_winch_2d() {
difference() {
union() {
polygon(points = [
[0, 0],
[side_flat_trangentPoint_x, side_flat_trangentPoint_y],
[side_width-side_flat_trangentPoint_x, side_flat_trangentPoint_y],
[side_width, 0]
]);
}
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);
}
}
module side_3d() {
linear_extrude(matt_thingness)
side_2d();
}
module side_right() {
rotate([90, 0, 0])
side_3d();
}
module side_left() {
translate([0, base_width+matt_thingness])
rotate([90, 0, 0])
side_3d();
}
// side_right();
// side_left();
linear_extrude(matt_thingness)
mid_winch_2d();

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.