37 lines
993 B
OpenSCAD
37 lines
993 B
OpenSCAD
thickness = 5;
|
|
hole_rad = 5;
|
|
spool_rad = 150;
|
|
square_size = spool_rad + hole_rad * 4;
|
|
triangle_rad = square_size * 2 / 3;
|
|
filament_width = 10;
|
|
filament_height = 20;
|
|
filament_offset = 2;
|
|
// -1 = Left; 1 = Right
|
|
side = -1;
|
|
|
|
difference()
|
|
{
|
|
// Base Shape
|
|
union()
|
|
{
|
|
translate([square_size / 2 * side, 0, 0])
|
|
cube([square_size, square_size, thickness], center = true);
|
|
|
|
translate([0, -square_size / 6, 0])
|
|
rotate([0, 0, -30])
|
|
cylinder(thickness, triangle_rad, triangle_rad, $fn = 3, center = true);
|
|
}
|
|
|
|
// Holes
|
|
for (i = [0:1:2])
|
|
{
|
|
translate([0, -square_size / 6, 0])
|
|
rotate(-30 + i*120)
|
|
translate([triangle_rad - hole_rad * 3, 0, 0])
|
|
cylinder(thickness + 2, hole_rad, hole_rad, $fn = 360, center = true);
|
|
}
|
|
|
|
// Filament Sensor
|
|
translate([square_size * side - side * (filament_width / 2 + filament_offset), square_size / 2 - filament_height / 2, thickness / 2])
|
|
cube([filament_width, filament_height, thickness], center = true);
|
|
} |