Skip to content

Instantly share code, notes, and snippets.

@danclien
Created December 29, 2020 07:30
Show Gist options
  • Save danclien/d73f979f108de195045469ee986e7aa6 to your computer and use it in GitHub Desktop.
Save danclien/d73f979f108de195045469ee986e7aa6 to your computer and use it in GitHub Desktop.
// Special control variable for the number of facets used to generate an arc
$fn = 100;
// Radius of the corner in mm
radius = 10;
// Thickness of the sander guide
frameThickness = 3;
// Length of the sander guide
frameExtension = 15;
// Length of the slot for the sanding paper in mm
slotLength = 98;
// Thickness of the slot for the sanding paper in mm
slotThickness = 1;
// Amount of frame on each side of the slot in mm
slotPadding = 10;
// Size of the solid block to cut out the cylinder in mm
size = radius+frameThickness;
// Total width in mm
guideWidth = size + frameExtension;
// Total length of the sanding block in mm
length = slotLength + (slotPadding*2);
// When doing differences, need to remove zero-thickness polygons
buffer = 1;
difference() {
union() {
cube([size, size, length]);
cube([guideWidth, frameThickness, length]);
cube([frameThickness, guideWidth, length]);
}
// Cylinder
translate([size, size, -buffer])
cylinder(length+(buffer*2), radius, radius);
// Slot 1
translate([-slotThickness, size-slotThickness, slotPadding])
cube([size, slotThickness, slotLength]);
// Slot 2
translate([size-slotThickness, -slotThickness, slotPadding])
cube([slotThickness, size, slotLength]);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment