The GX270 case contains a perfectly serviceable ATX power supply that can power all the bits & pieces that don’t run directly from the AC power line. I torched the connector off the system board, but there’s no practical way to mount it standing up through the prototyping board I’m using for the low voltage electronics. This bracket surrounds that connector and holds it at right angles to the board, with a pair of screws clamping it in place:

I invoked the shade of Willy McCoy, slashed the outside of the connector with a razor knife, buttered it up with epoxy, and shoved it flush inside the adapter. That messy epoxy bead around the joint should prevent it from pulling out to the front:

The solid model looks like you’d expect:

In the unlikely event you need one, make sure the slot clears the locking clip on your ATX connector, as they differ between (at least) the 20 and 24 pin versions. This is actually a split 20/24 connector, with the smaller connector terminating elsewhere to power the LED strips.
The OpenSCAD source code:
// ATX power supply connector mounting bracket // Ed Nisley - KE4ZNU - September 2014 //- Extrusion parameters must match reality! ThreadThick = 0.20; ThreadWidth = 0.40; HoleWindage = 0.2; // extra clearance Protrusion = 0.1; // make holes end cleanly AlignPinOD = 1.70; // assembly alignment pins: filament dia function IntegerMultiple(Size,Unit) = Unit * ceil(Size / Unit); //---------------------- // Dimensions Screw = [3.5,7.0]; // mounting screws OD = 0; HEAD_OD = 1; Wall = 3.0; ATX = [43.5,9.75,12.0]; // connector outline Shell = ATX + [2*(2*Wall + Screw[OD]),2*Wall,0.0]; // mount outline Latch = [5.0,5.0,7.0]; // latch overlay ScrewOC = ATX[0] + Screw[OD] + 2*Wall; echo(str("Screw OC: ",ScrewOC," mm")); //---------------------- // Useful routines module PolyCyl(Dia,Height,ForceSides=0) { // based on nophead's polyholes Sides = (ForceSides != 0) ? ForceSides : (ceil(Dia) + 2); FixDia = Dia / cos(180/Sides); cylinder(r=(FixDia + HoleWindage)/2, h=Height, $fn=Sides); } module ShowPegGrid(Space = 10.0,Size = 1.0) { RangeX = floor(100 / Space); RangeY = floor(125 / Space); for (x=[-RangeX:RangeX]) for (y=[-RangeY:RangeY]) translate([x*Space,y*Space,Size/2]) %cube(Size,center=true); } ShowPegGrid(); difference() { translate([0,0,Shell[2]/2]) // mount shell cube(Shell,center=true); translate([0,0,ATX[2]/2]) // connector shell cube(ATX + [0,0,2*Protrusion],center=true); translate([0,(Latch[1]/2 + ATX[1]/2 - Protrusion),(-Latch[2]/2 + Shell[2])]) cube(Latch + [0,Protrusion,Protrusion],center=true); for (i=[-1,1]) translate([i*ScrewOC/2,(Shell[1]/2 + Protrusion),Shell[2]/2]) rotate([90,0,0]) PolyCyl(Screw[OD],(Shell[1] + 2*Protrusion)); }