Inital 3D added

This commit is contained in:
nedko 2025-06-19 14:32:44 +03:00
commit 038e29f571
5 changed files with 100 additions and 0 deletions

42
3d/base.scad Normal file
View File

@ -0,0 +1,42 @@
include <config.scad>
union()
{
// Center Piece
translate([0, -base_size_y/2 + plate_size_y/2, 0])
difference()
{
// Base
cube([base_size_x + 2 * base_wall_size, base_size_y + 2 * base_wall_size, base_size_z], center = true);
// Hollow
cube([base_size_x, base_size_y, base_size_z + 1], center = true);
// Cut USB
translate([-usb_dist_x, base_size_y/2 + base_wall_size/2, base_size_z/2])
cube([usb_size_x, base_wall_size + 1, usb_size_z * 2], center = true);
}
// Side Pieces
for (x = [-1:2:1])
{
translate([x * (base_size_x/2 + base_wall_size + side_size_x/2), 0, 0])
difference()
{
// Main Block
cube([side_size_x, side_size_y, base_size_z], center = true);
// Cut Screw
translate([0, 0, base_size_z/2])
cylinder(h = base_size_z, d = screw_dia, $fn = seg, center = true);
// Cut Screw Head
translate([0, 0, -screw_dia/4])
cylinder(h = screw_dia/2, d1 = screw_dia * 2, d2 = screw_dia, $fn = seg, center = true);
// Cut Screw Head Extension
translate([0, 0, -base_size_z/2 - screw_dia/2])
cylinder(h = base_size_z, d = screw_dia * 2, $fn = seg, center = true);
}
}
}

BIN
3d/base.stl Normal file

Binary file not shown.

43
3d/config.scad Normal file
View File

@ -0,0 +1,43 @@
wall_size = 1.5;
tol = 1;
seg = 60;
base_wall_size = 3;
base_size_x = 56;
base_size_y = 72;
base_size_z = 6;
plate_size_x = 56;
plate_size_y = 56;
plate_elevation = 37.5;
usb_dist_x = 8.5;
usb_size_x = 8;
usb_size_z = 3;
screw_dia = 3.2;
thread_insert_dia = 4;
thread_insert_z = 6.7;
side_size_x = 10;
side_size_y = 10;
side_size_z = plate_elevation - base_size_z;
top_size_x = plate_size_x;
top_size_y = plate_size_y;
top_size_z = 6;
stem_tol = 0.1;
stem_dist = 5.7;
stem_size_x = 1.2 + stem_tol;
stem_size_y = 3 + stem_tol;
stem_size_z = 3;
stem_hole = 2;
weight_size_x1 = 100;
weight_size_y1 = 100;
weight_size_x2 = top_size_x + tol + 2 * wall_size;
weight_size_y2 = top_size_y + tol + 2 * wall_size;
weight_size_z = max((weight_size_x1 - weight_size_x2)/2, (weight_size_y1 - weight_size_y2)/2);
weight_scale_x = weight_size_x2 / weight_size_x1;
weight_scale_y = weight_size_y2 / weight_size_y1;

15
3d/side.scad Normal file
View File

@ -0,0 +1,15 @@
include <config.scad>
rotate([0, 90, 0])
difference()
{
// Main Block
cube([side_size_x, side_size_y, side_size_z], center = true);
// Cut Holes
for (z = [-1:2:1])
{
translate([0, 0, z * side_size_z/2])
cylinder(h = thread_insert_z * 2, d = thread_insert_dia, $fn = seg, center = true);
}
}

BIN
3d/side.stl Normal file

Binary file not shown.