A straightforward cable clip:
It looks better than the previous hack bent from a snippet of PET clamshell:
Ream out the holes with suitable drills, clean out the slot using Tiny Bandsaw™, and it’s all good.
In retrospect, the slot isn’t worth the effort, because it doesn’t open wide enough to admit the cable and doesn’t provide any clamping force; a simple block with two holes would do as well. If the heatsink didn’t already have a 3 mm screw in play, I’d use an adhesive-backed clip from the early Kenmore LEDs.
The OpenSCAD source code isn’t much to look at:
//-----
// Cable clip
// Reoriented into build position, because we only need one
ClipWall = 3*ThreadWidth;
Clip = [15.0,10.0,CableOD + 2*ClipWall];
module CableClip(CableOD = 2.0) {
ClipSides = 4*3;
ClipRadius = Clip.y/2;
ScrewOD = 3.0;
ClipOC = Clip.x - ClipRadius - CableOD/2 - ClipWall;
translate([0,0,Clip.y/2])
rotate([90,0,90])
translate([0,0,0*Clip.z/2])
difference() {
union() {
rotate(180/ClipSides)
cylinder(d=Clip.y/cos(180/ClipSides),h=Clip.z,$fn=ClipSides,center=true);
translate([ClipRadius,0,0])
cube([Clip.x - ClipRadius,Clip.y,Clip.z],center=true);
}
translate([0,0,-(Clip.z/2 + Protrusion)])
rotate(180/8)
PolyCyl(ScrewOD,Clip.z + 2*Protrusion,8);
rotate([90,0,0])
translate([ClipOC,0,-Clip.y])
rotate(180/8)
PolyCyl(CableOD,2*Clip.y,8);
translate([ClipOC - Clip.x/2,0,0])
cube([Clip.x,2*Clip.y,2*ThreadWidth],center=true);
}
}