Skip to content

Instantly share code, notes, and snippets.

@jonasbits
Created September 9, 2020 16:04
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jonasbits/a238c43accb989b3d7e4e8f4c7456beb to your computer and use it in GitHub Desktop.
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
//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