56 lines
1.8 KiB
OpenSCAD
56 lines
1.8 KiB
OpenSCAD
![]() |
$fn=60;
|
||
|
|
||
|
// Physical dimensions
|
||
|
EXTRUSION_WIDTH = 40;
|
||
|
EXTRUSION_HEIGHT = 40;
|
||
|
EXTRUSION_GROOVE_WIDTH = 8.2;
|
||
|
|
||
|
MOTOR_WIDTH = 43.0;
|
||
|
MOTOR_HEIGHT = 43.0;
|
||
|
MOTOR_DEPTH = 40.0;
|
||
|
MOTOR_CORNER = 4.5;
|
||
|
MOTOR_SHAFT_HOLE_DIAMETER = 24;
|
||
|
|
||
|
BOLT_HOLE_DIAMETER = 6.4; // M6
|
||
|
BOLT_HOLE_HEAD_DIAMETER = 11; // M6
|
||
|
|
||
|
MGN_RAIL_WR = 12;
|
||
|
MGN_RAIL_HR = 8;
|
||
|
|
||
|
F688ZZ_D = 16;
|
||
|
|
||
|
// Parameters
|
||
|
CORNER_SIZE = 5.0; // Part corner size
|
||
|
MOTOR_TO_BORDER_CLEARANCE = 5.0;
|
||
|
CHAMFER_SIZE = 1;
|
||
|
EXTRUSION_BORDER_CLEARANCE = 4; // Distance between extrusion and part borders
|
||
|
EXTRUSION_GROOVE_SLIDE_CLEARANCE = 0.2; // Slide to groove clearance
|
||
|
EXTRUSION_GROOVE_SLIDE_DEPTH = 2; // Slide depth
|
||
|
|
||
|
// Variables
|
||
|
total_width = EXTRUSION_WIDTH - EXTRUSION_BORDER_CLEARANCE + MOTOR_WIDTH + MOTOR_TO_BORDER_CLEARANCE;
|
||
|
total_height = EXTRUSION_HEIGHT - EXTRUSION_BORDER_CLEARANCE + MOTOR_HEIGHT + MOTOR_TO_BORDER_CLEARANCE;
|
||
|
|
||
|
//minkowski()
|
||
|
{
|
||
|
linear_extrude(8 - CHAMFER_SIZE)
|
||
|
difference()
|
||
|
{
|
||
|
|
||
|
hull()
|
||
|
{
|
||
|
square([EXTRUSION_WIDTH + 3, EXTRUSION_HEIGHT + 3]);
|
||
|
translate([EXTRUSION_WIDTH + MOTOR_WIDTH / 2, EXTRUSION_HEIGHT + MOTOR_HEIGHT / 2]) circle(F688ZZ_D/2 + MOTOR_TO_BORDER_CLEARANCE);
|
||
|
}
|
||
|
|
||
|
translate([-1, -1]) square([EXTRUSION_WIDTH + 1, EXTRUSION_HEIGHT +1]);
|
||
|
translate([EXTRUSION_WIDTH + MOTOR_WIDTH / 2, EXTRUSION_HEIGHT + MOTOR_HEIGHT / 2]) circle(F688ZZ_D/2);
|
||
|
|
||
|
translate([EXTRUSION_WIDTH / 2 - MGN_RAIL_WR / 2, EXTRUSION_HEIGHT - 1]) square([MGN_RAIL_WR, MGN_RAIL_HR + 1]);
|
||
|
|
||
|
square([EXTRUSION_WIDTH / 2 - MGN_RAIL_WR / 2, EXTRUSION_HEIGHT + MGN_RAIL_HR + 10]);
|
||
|
square([EXTRUSION_WIDTH + 10, EXTRUSION_BORDER_CLEARANCE]);
|
||
|
}
|
||
|
|
||
|
translate([CHAMFER_SIZE, CHAMFER_SIZE]) cylinder(CHAMFER_SIZE,CHAMFER_SIZE,0);
|
||
|
}
|