$fn = 50; width_clamp = 30; length_clamp = 57; height_clamp = 20; thickness = 2; radius = 4; diameter_cable = 10; diameter_cable_tie = 6; thickness_cable_tie = 2; color("steelblue") 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 () { for (x = [-1:2:1]) for (y = [-1:2:1]) { translate([x*(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); } 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); } } }