You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
45 lines
1.4 KiB
45 lines
1.4 KiB
$fn = 50;
|
|
width_clamp = 30;
|
|
length_clamp = 49;
|
|
height_clamp = 28;
|
|
thickness = 2;
|
|
radius = 4;
|
|
diameter_cable = 12;
|
|
diameter_cable_tie = 5;
|
|
offset_cable = 13;
|
|
thickness_cable_tie = 2;
|
|
right = 0;
|
|
left = 1;
|
|
color("DarkSlateGray")
|
|
difference() {
|
|
difference() {
|
|
// Body
|
|
hull()
|
|
for (x = [-1:2:1])
|
|
for (y = [-1:2:1])
|
|
{
|
|
translate([x * (width_clamp/2-radius + thickness), y * (length_clamp/2-radius + thickness), (height_clamp+thickness)/2])
|
|
cylinder(h = height_clamp + thickness, r = radius, center = true);
|
|
}
|
|
// Cutout for the actual clamp
|
|
translate([0, 0, height_clamp/2-0.001])
|
|
cube([width_clamp, length_clamp, height_clamp], center=true);
|
|
}
|
|
translate([0, length_clamp/2 - 2 - diameter_cable/2, 0])
|
|
union () {
|
|
// Cutout cable tie
|
|
for (y = [-1:2:1])
|
|
{
|
|
translate([left*(-width_clamp/2 + diameter_cable_tie/2) - right*(-width_clamp/2 + diameter_cable_tie/2), y*(diameter_cable/2 + 1), 0])
|
|
cube([diameter_cable_tie, thickness_cable_tie, height_clamp*3], center = true);
|
|
}
|
|
// Cutout cable
|
|
translate([right*width_clamp/2 - left*width_clamp/2, 0, -offset_cable])
|
|
hull() {
|
|
translate([0, 0, height_clamp - diameter_cable/2])
|
|
rotate([0, 90, 0])
|
|
cylinder(r = diameter_cable/2, h = width_clamp/2, center = true);
|
|
cube([width_clamp/2, diameter_cable, height_clamp], center=true);
|
|
}
|
|
}
|
|
}
|
|
|