71 lines
1.6 KiB
OpenSCAD
71 lines
1.6 KiB
OpenSCAD
thick = 1.5;
|
|
size_x = 35;
|
|
size_y = 57.5;
|
|
size_z = 6.5 + thick;
|
|
size_block = 6;
|
|
// Radius of rotary encoder + radius of filament
|
|
rad_rot = 13.75;
|
|
rot_z = 4;
|
|
rad_fil = 1;
|
|
mount_x_dist = 7.5;
|
|
mount_y_dist = 17.5;
|
|
mount_hole = 1.5;
|
|
|
|
conn_x = 16;
|
|
conn_y_dist = 12;
|
|
conn_y = size_y - size_block/2 - rad_rot - mount_y_dist - conn_y_dist;
|
|
|
|
difference()
|
|
{
|
|
union()
|
|
{
|
|
difference()
|
|
{
|
|
// Main Block
|
|
cube([size_x, size_y, size_z], center = true);
|
|
|
|
// Hollow
|
|
translate([0, -(size_block - thick)/2, thick])
|
|
{
|
|
cube([size_x - 2 * thick, size_y - thick - size_block, size_z], center = true);
|
|
}
|
|
|
|
// Rotary Encoder
|
|
translate([0, size_y/2 - size_block/2 - rad_rot, thick])
|
|
{
|
|
cylinder(size_z, rad_rot, rad_rot, $fn = 360, center = true);
|
|
}
|
|
|
|
// Filament Hole
|
|
translate([0, size_y/2 - size_block/2, size_z/2 - rot_z])
|
|
{
|
|
rotate([0, 90, 0])
|
|
cylinder(size_x + 1, rad_fil, rad_fil, $fn = 360, center = true);
|
|
}
|
|
|
|
// Connector
|
|
translate([0, conn_y/2 - size_y/2 - 0.5, 0])
|
|
{
|
|
cube([conn_x, conn_y + 1, size_z + 1], center = true);
|
|
}
|
|
}
|
|
|
|
// Mounts
|
|
for (x = [-1:2:1])
|
|
{
|
|
translate([x * mount_x_dist, size_y/2 - size_block/2 - rad_rot - mount_y_dist, 0])
|
|
{
|
|
cylinder(size_z, mount_hole + 1, mount_hole + 1, $fn = 360, center = true);
|
|
}
|
|
}
|
|
}
|
|
|
|
// Mounting Holes
|
|
for (x = [-1:2:1])
|
|
{
|
|
translate([x * mount_x_dist, size_y/2 - size_block/2 - rad_rot - mount_y_dist, 0])
|
|
{
|
|
cylinder(size_z + 1, mount_hole, mount_hole, $fn = 360, center = true);
|
|
}
|
|
}
|
|
} |