Skip to content

Instantly share code, notes, and snippets.

@acamilo
Forked from madhephaestus/cube.groovy
Last active March 12, 2017 02:02
Show Gist options
  • Save acamilo/b685ea46fa62421492a71e18070d5cc6 to your computer and use it in GitHub Desktop.
Save acamilo/b685ea46fa62421492a71e18070d5cc6 to your computer and use it in GitHub Desktop.
float moduleHeight = 30;
float LCDThickness = 6.3;
CSG cube = new Cube( 157.300,// X dimention
126.300,// Y dimention
moduleHeight// Z dimention
).toCSG().movez(moduleHeight/2)// this converts from the geometry to an object we can work with
CSG body = new Cube(151.3,120.3,moduleHeight).toCSG().movez((moduleHeight/2)+2);
CSG post =new Cylinder(6,6,moduleHeight-LCDThickness,(int)30).toCSG().movez(moduleHeight/2)
post = post.difference( new Cylinder(3.3/2,3.3/2,moduleHeight/2,(int)30).toCSG().movez(moduleHeight));
CSG posts = post.movex(67.5).movey(54);
posts = posts.union(post.movex(-67.5).movey(54))
posts = posts.union(post.movex(67.5).movey(-54))
posts = posts.union(post.movex(-67.5).movey(-54))
posts = posts.movez(-(moduleHeight/2))
CSG wallHole = new Cylinder(4,4,6,(int)30).toCSG();
CSG wallHoles = wallHole.movex(20);
wallHoles = wallHoles.union(wallHole.movex(-20));
CSG conduit = new Cylinder(19.5/2,19.05/2,30,(int)30).toCSG().rotx(90).movez((19.5/2)+3).movey(126.3/2.75)
return [cube.difference(body).union(posts).difference(conduit).difference(wallHoles)];
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment