Created
September 9, 2020 16:04
-
-
Save jonasbits/a238c43accb989b3d7e4e8f4c7456beb to your computer and use it in GitHub Desktop.
inspired from www.youtube.com/watch?v=CHFK5sY8ToE&feature=youtu.be&t=1176 by Alexandre Chappel, this is a reverse engineered design made in openscad
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//inspired from | |
//www.youtube.com/watch?v=CHFK5sY8ToE&feature=youtu.be&t=1176 | |
//reverse engineered design made by Alexandre Chappel | |
//original was made in Fusion 360 | |
//www.patreon.com/chappel | |
revision=7; | |
//link to my comment on above video | |
//www.youtube.com/watch?v=CHFK5sY8ToE&lc=UgzBCuqLaLH0w67O-JJ4AaABAg | |
$fn=50; | |
x=50; | |
y=50; | |
chaffer = 8; | |
h=35; | |
r=4; | |
rimTop = 5; | |
lh = 0.3; //layerHeight 0.3 draft speedy | |
lw = 0.5; //lineWidth 0.5 prusaSlicer | |
dymoWidth = 12; | |
//rotate([90,0,0]) | |
// import("assortment_box_1x1_v4.stl"); | |
//base sortiment box | |
module sortiment(xx=x,yy=x,chaf=7-1,hh=h,rr=r,rim=rimTop){ | |
translate([xx/2,yy/2,0]) | |
hull(){ | |
translate([-xx/2,-yy/2,hh-rim]) //translate to center | |
translate([rr,rr,0]) //move edge to origo | |
minkowski(){ | |
//need to be smaller, use rr constant | |
cube([-rr+xx-rr, -rr+yy-rr, rim]); | |
cylinder(r=rr); | |
} | |
scale([0.95,0.95,1]) | |
translate([-xx/2,-yy/2,1]) | |
translate([rr,rr,0]) | |
minkowski(){ | |
cube([-rr+xx-rr, -rr+yy-rr, rim]); | |
cylinder(r=rr); | |
} | |
cube([xx-chaf,yy-chaf,2],center=true); //chamfer | |
} //end hull | |
} //end module | |
//enable combining to any size with hull | |
module varianter(ii=1,jj=1){ | |
translate([-(ii*x)/2,-(jj*y)/2,0]) | |
hull(){ | |
for(i = [1:ii]){ | |
for(j = [1:jj]){ | |
translate([x*(i-1),y*(j-1),0]) | |
sortiment(); | |
} | |
} | |
} //end hull | |
} | |
//hollow out | |
//xm x-multiply, ym y-multiply, sc scale float | |
module box(xm=1,ym=1,inspect=false){ | |
difference(){ | |
//workpiece | |
varianter(xm,ym); | |
//cutTools | |
//scale([sc,sc,1]) | |
resize([-(lw*2)+(x*xm)-(lw*2),-(lw*2)+(y*ym)-(lw*2),0]) | |
translate([0,0,lh*3]) | |
varianter(xm,ym); | |
if(inspect == true){ | |
translate([0,0,-3]) | |
cube([99,99,99]); | |
} | |
//version dot | |
//translate([(x*xm)/2-5,(y*ym)/2-5,-1.5]) | |
//#cube([1,1,1]); | |
} //end diff | |
} | |
//box(1,1,false); | |
//box(1,2,false); | |
//box(2,2,false); | |
//position on buildplate | |
//prusa build plate | |
//250x210y | |
translate([110,110,0]){ | |
union(){ | |
box(1,2,false); | |
dymoGrip(); | |
} | |
} | |
translate([250/2,225/2,0]) | |
color("gray",0.5) | |
%import("/Applications/Original Prusa Drivers/PrusaSlicer.app/Contents/Resources/profiles/PrusaResearch/mk3_bed.stl"); | |
module dymoGrip(){ | |
translate([-50/2+1,-25/2,-12+50-14]) | |
hull(){ | |
rotate([0,-45,0]) | |
cube([11,25-3,.1]); | |
translate([0,0,11]){ | |
#cube([11,25,1]); | |
translate([-1,0,0]) | |
%cube([dymoWidth,24,2]); //size of DYMO tape | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment