Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Math by https://www.thingiverse.com/thing:1880517
- //https://jscalc.io/calc/1Cj6c1zxnr4q8Tzw
- diamInnerHole=85;
- diamInnerSpool = 91;
- diamOuterSpool = 200;
- widthScale=25;
- diamFilament=1.75;
- innerWidth=54;
- translate([0,0,-1])
- linear_extrude(height=0.24+0.2+0.2+0.2){
- difference(){
- union(){
- translate([-diamOuterSpool/2,-widthScale/2]) square(size=[diamOuterSpool,widthScale]);
- circle(d=diamInnerHole);
- }
- circle(d=diamInnerHole-4);
- }
- }
- function getLength(d2) = (pow(d2,2)-pow(diamInnerSpool,2))*PI*innerWidth*0.8/4/pow(diamFilament,2)/1000;
- maxFilament = getLength(diamOuterSpool);
- function getDiam(L) = sqrt(pow(diamInnerSpool,2)+((L*4*1000*pow(diamFilament,2))/(PI*innerWidth*0.8)));
- echo (getDiam(maxFilament));
- perc = 0.75;
- for (perc=[0.02, 0.1, 0.25, 0.37, 0.5, 0.75]){
- rotate([90,0,0]) translate([getDiam(perc*maxFilament)/2,0,-widthScale/2]) cylinder(h=widthScale, r=1);
- rotate([0,0,90]) translate([-widthScale/2+1.5,getDiam(perc*maxFilament)/2,0]) linear_extrude(height=1) text(str(perc*100,"% - ",round(perc*maxFilament),"m"), size=3, font="Liberation Sans:style=Bold");
- rotate([90,0,0]) translate([-getDiam(perc*maxFilament)/2,0,-widthScale/2]) cylinder(h=widthScale, r=1);
- rotate([0,0,-90]) translate([-widthScale/2+1.5,getDiam(perc*maxFilament)/2,0]) linear_extrude(height=1) text(str(perc*100,"% - ",round(perc*maxFilament),"m"), size=3, font="Liberation Sans:style=Bold");
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement