$fn = 64; // --- Parametric Dimensions --- length = 130; width = 40; height = 40; v_groove_radius = 8; // Creates a 16mm wide, 8mm deep V-groove slope_start = 85; difference() { // Main block body translate([0, -width/2, 0]) cube([length, width, height]); // 45-degree chamfer cut to create the angled face translate([slope_start, -width/2 - 1, height]) rotate([0, 45, 0]) cube([height * 3, width + 2, height * 3]); // Bottom V-groove for centering on pipes or corners // 45-degree walls are 3D printable without supports translate([-1, 0, 0]) rotate([0, 90, 0]) rotate([0, 0, 45]) cylinder(r=v_groove_radius, h=length + 2, $fn=4); // --- 90 Degree Guide Holes --- // 4mm hole translate([12, 0, -1]) cylinder(d=4, h=height + 2); // 6mm hole translate([24, 0, -1]) cylinder(d=6, h=height + 2); // 8mm hole translate([38, 0, -1]) cylinder(d=8, h=height + 2); // 10mm hole translate([54, 0, -1]) cylinder(d=10, h=height + 2); // --- 45 Degree Guide Holes --- // 4mm hole translate([93, 0, 32]) rotate([0, 45, 0]) cylinder(d=4, h=height * 3, center=true); // 6mm hole translate([103, 0, 22]) rotate([0, 45, 0]) cylinder(d=6, h=height * 3, center=true); // 8mm hole translate([113, 0, 12]) rotate([0, 45, 0]) cylinder(d=8, h=height * 3, center=true); }