This commit is contained in:
Sasza Stanczew 2025-12-24 19:37:49 +01:00
parent 91ff34a5c7
commit a94d1d8b70
3 changed files with 36 additions and 17 deletions

View file

@ -4,10 +4,12 @@ include <BOSL2/threading.scad>
// the values are diameter, length // the values are diameter, length
// specify diameter 2-3mm smaller for clearance, length doesn't matter much // specify diameter 2-3mm smaller for clearance, length doesn't matter much
spectrum = [51, 65]; // in diam = 53 spectrum = [51, 65]; // in diam = 53
rosa_500g = [53, 45];
t = 2; t = 2;
roll = spectrum; //roll = spectrum;
roll = rosa_500g;
grid_const = 100; grid_const = 100;
grid = 18; grid = 18;
@ -44,13 +46,13 @@ union() {
top_d = roll[0] + 5; top_d = roll[0] + 5;
top_h = 6; top_h = 6;
thread_h = 16; thread_h = 17;
chamfer_h = 4; chamfer_h = 4;
chamfer_t = 3; chamfer_t = 8;
// top // top
up(roll[1] + 20) union() { up(roll[1] + 50) union() {
// top // top
difference() { difference() {
cyl(d=roll[0], h=t, anchor=TOP); cyl(d=roll[0], h=t, anchor=TOP);
@ -64,9 +66,9 @@ up(roll[1] + 20) union() {
// outer part with texture // outer part with texture
difference() { difference() {
cyl(d=top_d, h=top_h, anchor=TOP, texture="hex_grid"); cyl(d=top_d, h=top_h, anchor=TOP, texture="hex_grid");
cyl(h=top_h, d=roll[0]-4*t-$slop, anchor=TOP); cyl(h=top_h+1, d=roll[0]-4*t-$slop, anchor=TOP);
} }
// tube(od=top_d, id=roll[0]-4*t-$slop, h=top_h, anchor=TOP, texture="hex"); // tube(od=top_d, id=roll[0]-4*t-$slop, h=top_h, anchor=TOP, texture="hex");
// chamfered part // chamfered part
down(top_h) tube(id=roll[0] - 4*t - $slop, od2=roll[0] - 4*t - $slop + chamfer_t, od1=roll[0] - 4*t - $slop, h=chamfer_h); down(top_h) tube(id=roll[0] - 4*t - $slop, od2=roll[0] - 2*t - $slop + chamfer_t, od1=roll[0] - 4*t - $slop, h=chamfer_h);
} }

View file

@ -1,15 +1,15 @@
include <BOSL2/std.scad> include <BOSL2/std.scad>
z_dist = 25;
l = 110; l = 110;
belt_l = 45; belt_l = 45;
belt_t = 5; belt_t = 5;
hook_angle = -60; hook_angle = -60;
hook_l = 2; hook_l = 1.8;
w = 20; w = 25;
t = 3; t = 4;
round = 10; top_t = 1;
round = w/2;
out_t = belt_t + 2*t; out_t = belt_t + 2*t;
@ -26,7 +26,7 @@ difference() {
union() { union() {
// main part // main part
cuboid([w,t,l], rounding=round, edges=[BOTTOM+LEFT, BOTTOM+RIGHT]); cuboid([w,t,l], rounding=round, edges=[BOTTOM+LEFT, BOTTOM+RIGHT]);
up(l/2) yrot(90) fwd(out_t/2 - t/2) cyl(h=w,d=out_t); up(l/2) yrot(90) fwd(out_t/2 - t/2) cyl(h=w,d=out_t + top_t);
up(l/2) down(belt_l/2) fwd(out_t - t) cuboid([w,t,belt_l], rounding=t/2, edges=[BOTTOM+BACK,BOTTOM+FWD]);; up(l/2) down(belt_l/2) fwd(out_t - t) cuboid([w,t,belt_l], rounding=t/2, edges=[BOTTOM+BACK,BOTTOM+FWD]);;
up(l/2) down(belt_l) fwd(out_t-t) up(t/2) xrot(hook_angle) up(t*hook_l/2) up(l/2) down(belt_l) fwd(out_t-t) up(t/2) xrot(hook_angle) up(t*hook_l/2)
cuboid([w,t,t*hook_l], rounding=t/2, edges=[UP+BACK,UP+FWD]); cuboid([w,t,t*hook_l], rounding=t/2, edges=[UP+BACK,UP+FWD]);

View file

@ -1,13 +1,30 @@
include <BOSL2/std.scad> include <BOSL2/std.scad>
include <BOSL2/screws.scad>
// variables // variables
h = 20; h = 25;
peg_d = 9; peg_d = 10;
// constants // constants
ball_d = 17; ball_d = 17;
ball_shift_h = 1.2;
ball_shift_v = 0.5;
$slop=0.2;
$fn=360; $fn=360;
difference() {
union() {
// main model
fwd(46.5) right(14.65) down(27) import("BotonS40.stl"); fwd(46.5) right(14.65) down(27) import("BotonS40.stl");
up(h/2) cyl(h=h, d=peg_d); // shaft
up(h) sphere(d=ball_d); cyl(h=h*2, d=peg_d);
// ball
back(ball_shift_h) right(ball_shift_v) up(h) sphere(d=ball_d);
}
// hole for M3 screw
up(h + ball_d/2 - 1) union() {
screw_hole("M3,45", head="flat sharp", anchor="head_top", thread=true);
cyl(d=7, h=10, anchor=BOTTOM);
}
}