Created
December 29, 2020 07:30
-
-
Save danclien/d73f979f108de195045469ee986e7aa6 to your computer and use it in GitHub Desktop.
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
// 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