From 8a279c386b8fc7bdd896993fd2ed46eabe072f2c Mon Sep 17 00:00:00 2001 From: jazhawang Date: Sun, 13 Mar 2022 21:59:02 -0400 Subject: [PATCH] initial --- cases/power/old/src/open-frame.scad | 210 ++++++++ cases/power/src/base.scad | 120 +++++ cases/power/src/join.scad | 106 ++++ cases/power/src/sfx-psu.scad | 58 +++ cases/power/stl/legTest.stl | 758 ++++++++++++++++++++++++++++ cases/power/stl/untitled.fpp | Bin 0 -> 262336 bytes 6 files changed, 1252 insertions(+) create mode 100644 cases/power/old/src/open-frame.scad create mode 100644 cases/power/src/base.scad create mode 100644 cases/power/src/join.scad create mode 100644 cases/power/src/sfx-psu.scad create mode 100644 cases/power/stl/legTest.stl create mode 100644 cases/power/stl/untitled.fpp diff --git a/cases/power/old/src/open-frame.scad b/cases/power/old/src/open-frame.scad new file mode 100644 index 0000000..1e2bfa9 --- /dev/null +++ b/cases/power/old/src/open-frame.scad @@ -0,0 +1,210 @@ +totalLength = 200; +totalWidth = 200; +totalHeight = 75; + + +innerLength = 180; + +basePlateHeight = 5; +topPlateHeight = 5; +convexity = 20; +$fn=64; + +cDiameter = 10; +cRadius = cDiameter/2; +cRad = cRadius; +cPos1 = [cRad, cRad, 0]; + +cDelta = [ + // bottom + [0,0,0], + [cDiameter+innerLength, 0, 0], + [cDiameter+innerLength,cDiameter+innerLength, 0], + [0, cDiameter+innerLength, 0], + // top + [0,0,totalHeight-topPlateHeight], + [cDiameter+innerLength, 0, totalHeight-topPlateHeight], + [cDiameter+innerLength,cDiameter+innerLength, totalHeight-topPlateHeight], + [0, cDiameter+innerLength, totalHeight-topPlateHeight] +]; + +function cPos(idx) = cPos1 + cDelta[idx]; + +module cyl(idx) { + translate(v=cPos(idx)) cylinder(r=cRadius,h=idx < 4? basePlateHeight: topPlateHeight); +}; + + +module bottomPlate() { + hull() { cyl(0); cyl(1); cyl(2); cyl(3);}; +} +module topPlate() { + hull() { cyl(4); cyl(5); cyl(6); cyl(7);}; +}; + + +module frontFace() { +hull() { cyl(0); cyl(4); cyl(1); cyl(5);}; +}; +module backFace() { +hull() { cyl(2); cyl(6); cyl(7); cyl(3);}; +}; + + +module frame() { + bottomPlate(); + //topPlate(); + frontFace(); + backFace(); + + // pillars + hull() { cyl(0); cyl(4);}; + hull() { cyl(1); cyl(5);}; + hull() { cyl(2); cyl(6);}; + hull() { cyl(3); cyl(7);}; +} + + +module sfxPowerSupply() { + // corsair sf450 + length = 125.3; + width = 100.2; + height = 63.8; + screwD = 3.5; + + eps = 0.001; + + // body + color([0,1,0]) cube(size=[length, width, height]); + + // main fan + color([0,1,1]) + translate([62.5, 50,0]) + circle(d=88); + + + // open faces + color([0,1,1]) + translate([10,-eps, 7]) + cube(size=[length-20, eps, height-7]); + + + // screw holes + color([1,0,1]) + translate([length-6, eps, height-6]) + rotate(a=[90,0,0]) + circle(d=screwD); + + color([1,0,1]) + translate([6, eps, height-6]) + rotate(a=[90,0,0]) + circle(d=screwD); + + color([1,0,1]) + translate([6, eps, 6]) + rotate(a=[90,0,0]) + circle(d=screwD); + + color([1,0,1]) + translate([length-6, eps, 6]) + rotate(a=[90,0,0]) + circle(d=screwD); + + color([1,0,1]) + translate([6, eps, height-(6+25.5)]) + rotate(a=[90,0,0]) + circle(d=screwD); + + color([1,0,1]) + translate([length-6, eps, height-(6+25.5)]) + rotate(a=[90,0,0]) + circle(d=screwD); + // atx connectors - NA + +} + +sfxPowerSupply(); + +module walls() { +difference() { +union() { +difference() { +difference() { + frame(); + translate([62.5+37-10, 50+10,-25]) + cylinder(d=90, h=50); +}; + translate([47-10, -10, -10]) + cube(size=[106,20,100]); +}; +translate(v=[25-10,0,-0]) +cube(size=[totalLength*0.7, 10, 15]); +} +translate(v=[10,0,-0.2]) +plate(); +} +} + + + +module plate() { +union() { + translate(v=[totalLength-48, -1, 15]) + cube(size=[20, 8, 55]); + + translate([totalLength-38, 10, 60]) + rotate(a=[90,0,0]) + cylinder(d=11.2, h=50); + + translate([totalLength-38, 10, 42]) + rotate(a=[90,0,0]) + cylinder(d=11.2, h=50); + + translate([totalLength-38, 10, 25]) + rotate(a=[90,0,0]) + cylinder(d=11.2, h=50); + }; + +}; + + +module lightning() { + linear_extrude(50) + polygon( + points = [ + [0,0], + [12,10], + [6,11], + [10,16], + [4,17], + [-2,8], + [4,7] + ]); +} + +module decal(numL, numW, sca) { + dL = sca * 16; + dW = sca * 18; + + for (i=[0:numL-1]) { + for (j=[0:numW-1]) { + translate(v=[i*dL,j*dW,0]) + scale(sca) + lightning(); + } + + } +} + +difference() { + walls(); + rotate(a=[90,0,180]) + translate(v=[-161.5,10,180]) + decal(8, 3, 1.0); +}; +translate([28, 16, 6]) +*sfxPowerSupply(); + + + + diff --git a/cases/power/src/base.scad b/cases/power/src/base.scad new file mode 100644 index 0000000..8205361 --- /dev/null +++ b/cases/power/src/base.scad @@ -0,0 +1,120 @@ + +include <./sfx-psu.scad>; + +$fn=64; + + +module gill(he) { + minkowski() { + cylinder(h = 1, r1 = 2, r2 = 2); + cube(size=[he, 3.5, 6], center=true); + } +} + + +module basBarInsert() { + mainLength = 10; + upperDim = 20; + innerDim = 10; + + translate(v=[0,0,mainLength/2]) { + difference() { + cube(size=[upperDim, upperDim, mainLength], center=true); + + translate(v=[0,0,mainLength/2 - innerDim/4]) + cube(size=[innerDim, innerDim, innerDim/2], center=true); + } + } +} + +module base() { + translate(v=[90,90,-2.5]) + basBarInsert(); + + translate(v=[-90,90,-2.5]) + basBarInsert(); + + translate(v=[90,-90,-2.5]) + basBarInsert(); + + translate(v=[-90,-90,-2.5]) + basBarInsert(); + + difference() { + difference() { + cube(size=[200,200,5], center=true); + + minkowski() { + translate(v=[17,-45,0]) + cube(size=[90, 90, 6], center=true); + + cylinder(h = 1, r1 = 2, r2 = 2); + } + } + + union() { + + for (i = [0:12] ) { + rotate(a=[0,0,90]) + translate(v=[50,72.5 - i*12,0]) + gill(he=65); + } + + for (i = [0:1] ) { + rotate(a=[0,0,90]) + translate(v=[-40,72.5 - i*12,0]) + gill(he=80) ; + } + } + } +} + +translate(v=[-46,-95,0]) +*sfxPowerSupply(); + + + + +*base(); + + +legInsertInnerSlack = 0.4; + +module legInsert(length) { + iS = 10-legInsertInnerSlack; + + difference() { + union() { + cube(size=[20,20,length], center=true); + + translate(v=[0,0,iS/2-legInsertInnerSlack/2]) + cube(size=[iS, iS, length], center=true); + } + + union() { + // slot + translate(v=[0,0,-length/2 ]) + cube(size=[10, 10, 10], center=true); + + // linear sliding joins for walls + translate(v=[10,0,-5]) + cylinder(length*2,5,5,$fn=3, center=true); + + rotate(a=[0,0,90]) + translate(v=[10,0,-5]) + cylinder(length*2,5,5,$fn=3, center=true); + + rotate(a=[0,0,180]) + translate(v=[10,0,-5]) + cylinder(length*2,5,5,$fn=3, center=true); + + rotate(a=[0,0,270]) + translate(v=[10,0,-5]) + cylinder(length*2,5,5,$fn=3, center=true); + } + } +} +*cylinder(20,4,5,$fn=3); + +legInsert(length=70); + diff --git a/cases/power/src/join.scad b/cases/power/src/join.scad new file mode 100644 index 0000000..d0ebd75 --- /dev/null +++ b/cases/power/src/join.scad @@ -0,0 +1,106 @@ +/* +// from corner cube +frameExtrusions = [ + 0, // north + 0, // east + 10, // south + 10, // west + 0, // up + 0 // down +]; + +unitVectors = [ + [ 1, 0, 0], // north + [ 0, 1, 0], // east + [-1, 0, 0], // south + [ 0, -1, 0], // west + [ 0, 0, 1], // up + [ 0, 0, -1] // down +]; +*/ + +cornerCubeDimensions = [10,10,10]; + + +slack = 0.45 ; + +legOuterDim = [10,10,10]; +legInnerDim = [5,5,5]; + + +// +module leg() { + difference() { + cube(size=legOuterDim, center=true); + translate(v=[0,0,(legOuterDim[2]-legInnerDim[2])/2]) + cube(size=[legInnerDim[0]+slack, legInnerDim[1]+slack, legInnerDim[2]+slack], center=true); + } +} + + +module threeJoin() { +// corner cube + +difference() { + rotate(a=90, v=[0,0,1]) +union() { +cube(size=cornerCubeDimensions, center=true); + +translate(v=[0,0,10]) +leg(); + +translate(v=[0,-10,0]) +rotate(a=[90,0,0]) +leg(); + +translate(v=[10,0,0]) +rotate(a=[0,90,0]) +leg(); +} + translate(v=[10,10,-20]) + rotate(a=135, v=[1,-1,0]) + cube(size=[100,100,100]); + +} + +} + + translate(v=[10,10,-20]) + rotate(a=135, v=[1,-1,0]) + *cube(size=[100,100,100]); + +module frameBar() { + cube(size=[10,10,10], center=true); + + translate(v=[7.5,0,0]) + cube(size=[5,5,5], center=true); + + translate(v=[-7.5,0,0]) + cube(size=[5,5,5], center=true); +} + +translate(v=[0,0,5]) +rotate(a=45, v=[1,-1,0]) +*threeJoin(); + +frameBar(); + +oslack = 0.05; +module old() { +cube(size=[160,10,10], center=true); + +translate(v=[82.5,0,0]) +cube(size=[5+oslack,5+oslack,5+oslack], center=true); + +translate(v=[-82.5,0,0]) +cube(size=[5+oslack,5+oslack,5+oslack], center=true); + +} + + + +module baseBar() { + + +} +//old(); diff --git a/cases/power/src/sfx-psu.scad b/cases/power/src/sfx-psu.scad new file mode 100644 index 0000000..5828f4b --- /dev/null +++ b/cases/power/src/sfx-psu.scad @@ -0,0 +1,58 @@ + +module sfxPowerSupply() { + // corsair sf450 + length = 125.3; + width = 100.2; + height = 63.8; + screwD = 3.5; + + eps = 0.001; + + // body + color([0,1,0]) cube(size=[length, width, height]); + + // main fan + translate([62.5, 50,0]) + color([0,1,1]) + circle(d=88); + + + // open faces + translate([10,-eps, 7]) + color([0,1,1]) + cube(size=[length-20, eps, height-7]); + + + // screw holes + color([1,0,1]) + translate([length-6, eps, height-6]) + rotate(a=[90,0,0]) + circle(d=screwD); + + color([1,0,1]) + translate([6, eps, height-6]) + rotate(a=[90,0,0]) + circle(d=screwD); + + color([1,0,1]) + translate([6, eps, 6]) + rotate(a=[90,0,0]) + circle(d=screwD); + + color([1,0,1]) + translate([length-6, eps, 6]) + rotate(a=[90,0,0]) + circle(d=screwD); + + color([1,0,1]) + translate([6, eps, height-(6+25.5)]) + rotate(a=[90,0,0]) + circle(d=screwD); + + color([1,0,1]) + translate([length-6, eps, height-(6+25.5)]) + rotate(a=[90,0,0]) + circle(d=screwD); + + +} \ No newline at end of file diff --git a/cases/power/stl/legTest.stl b/cases/power/stl/legTest.stl new file mode 100644 index 0000000..9f936d6 --- /dev/null +++ b/cases/power/stl/legTest.stl @@ -0,0 +1,758 @@ +solid OpenSCAD_Model + facet normal 1 -0 0 + outer loop + vertex 10 2.88675 35 + vertex 10 10 -35 + vertex 10 10 35 + endloop + endfacet + facet normal 1 0 0 + outer loop + vertex 10 10 -35 + vertex 10 2.88675 35 + vertex 10 2.88675 -35 + endloop + endfacet + facet normal 1 -0 0 + outer loop + vertex 10 -10 35 + vertex 10 -2.88675 -35 + vertex 10 -2.88675 35 + endloop + endfacet + facet normal 1 0 0 + outer loop + vertex 10 -2.88675 -35 + vertex 10 -10 35 + vertex 10 -10 -35 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -4.8 4.8 35 + vertex -7.5 4.33013 35 + vertex -4.8 -4.8 35 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -4.33013 7.5 35 + vertex -7.5 4.33013 35 + vertex -4.8 4.8 35 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -10 10 35 + vertex -4.33013 7.5 35 + vertex -2.88675 10 35 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -4.33013 7.5 35 + vertex -10 10 35 + vertex -7.5 4.33013 35 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -7.5 4.33013 35 + vertex -10 10 35 + vertex -10 2.88675 35 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 4.8 -4.8 35 + vertex -4.33013 -7.5 35 + vertex 4.33013 -7.5 35 + endloop + endfacet + facet normal 0 -0 1 + outer loop + vertex -4.33013 -7.5 35 + vertex 4.8 -4.8 35 + vertex -4.8 -4.8 35 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 10 10 35 + vertex 7.5 4.33013 35 + vertex 10 2.88675 35 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 7.5 4.33013 35 + vertex 4.8 4.8 35 + vertex 7.5 -4.33013 35 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 4.33013 7.5 35 + vertex 7.5 4.33013 35 + vertex 10 10 35 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 7.5 4.33013 35 + vertex 4.33013 7.5 35 + vertex 4.8 4.8 35 + endloop + endfacet + facet normal 0 -0 1 + outer loop + vertex 4.33013 7.5 35 + vertex 10 10 35 + vertex 2.88675 10 35 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 7.5 -4.33013 35 + vertex 10 -10 35 + vertex 10 -2.88675 35 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 4.8 -4.8 35 + vertex 7.5 -4.33013 35 + vertex 4.8 4.8 35 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 4.33013 -7.5 35 + vertex 7.5 -4.33013 35 + vertex 4.8 -4.8 35 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 7.5 -4.33013 35 + vertex 4.33013 -7.5 35 + vertex 10 -10 35 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 10 -10 35 + vertex 4.33013 -7.5 35 + vertex 2.88675 -10 35 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -4.33013 7.5 35 + vertex 4.8 4.8 35 + vertex 4.33013 7.5 35 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 4.8 4.8 35 + vertex -4.33013 7.5 35 + vertex -4.8 4.8 35 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -7.5 -4.33013 35 + vertex -4.8 -4.8 35 + vertex -7.5 4.33013 35 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -4.8 -4.8 35 + vertex -7.5 -4.33013 35 + vertex -4.33013 -7.5 35 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -10 -10 35 + vertex -4.33013 -7.5 35 + vertex -7.5 -4.33013 35 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -10 -10 35 + vertex -7.5 -4.33013 35 + vertex -10 -2.88675 35 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -4.33013 -7.5 35 + vertex -10 -10 35 + vertex -2.88675 -10 35 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -5 -5 -35 + vertex -7.5 -4.33013 -35 + vertex -5 5 -35 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -4.33013 -7.5 -35 + vertex -7.5 -4.33013 -35 + vertex -5 -5 -35 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -10 -10 -35 + vertex -4.33013 -7.5 -35 + vertex -2.88675 -10 -35 + endloop + endfacet + facet normal -0 0 -1 + outer loop + vertex -4.33013 -7.5 -35 + vertex -10 -10 -35 + vertex -7.5 -4.33013 -35 + endloop + endfacet + facet normal -0 0 -1 + outer loop + vertex -7.5 -4.33013 -35 + vertex -10 -10 -35 + vertex -10 -2.88675 -35 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 5 5 -35 + vertex -4.33013 7.5 -35 + vertex 4.33013 7.5 -35 + endloop + endfacet + facet normal 0 -0 -1 + outer loop + vertex -4.33013 7.5 -35 + vertex 5 5 -35 + vertex -5 5 -35 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 10 -10 -35 + vertex 7.5 -4.33013 -35 + vertex 10 -2.88675 -35 + endloop + endfacet + facet normal -0 0 -1 + outer loop + vertex 7.5 -4.33013 -35 + vertex 5 -5 -35 + vertex 7.5 4.33013 -35 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 4.33013 -7.5 -35 + vertex 7.5 -4.33013 -35 + vertex 10 -10 -35 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 7.5 -4.33013 -35 + vertex 4.33013 -7.5 -35 + vertex 5 -5 -35 + endloop + endfacet + facet normal 0 -0 -1 + outer loop + vertex 4.33013 -7.5 -35 + vertex 10 -10 -35 + vertex 2.88675 -10 -35 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 7.5 4.33013 -35 + vertex 10 10 -35 + vertex 10 2.88675 -35 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 5 5 -35 + vertex 7.5 4.33013 -35 + vertex 5 -5 -35 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 4.33013 7.5 -35 + vertex 7.5 4.33013 -35 + vertex 5 5 -35 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 7.5 4.33013 -35 + vertex 4.33013 7.5 -35 + vertex 10 10 -35 + endloop + endfacet + facet normal -0 0 -1 + outer loop + vertex 10 10 -35 + vertex 4.33013 7.5 -35 + vertex 2.88675 10 -35 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -4.33013 -7.5 -35 + vertex 5 -5 -35 + vertex 4.33013 -7.5 -35 + endloop + endfacet + facet normal -0 0 -1 + outer loop + vertex 5 -5 -35 + vertex -4.33013 -7.5 -35 + vertex -5 -5 -35 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -7.5 4.33013 -35 + vertex -5 5 -35 + vertex -7.5 -4.33013 -35 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -7.5 4.33013 -35 + vertex -4.33013 7.5 -35 + vertex -5 5 -35 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -10 10 -35 + vertex -4.33013 7.5 -35 + vertex -7.5 4.33013 -35 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -10 10 -35 + vertex -7.5 4.33013 -35 + vertex -10 2.88675 -35 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -4.33013 7.5 -35 + vertex -10 10 -35 + vertex -2.88675 10 -35 + endloop + endfacet + facet normal -1 0 0 + outer loop + vertex -10 2.88675 -35 + vertex -10 10 35 + vertex -10 10 -35 + endloop + endfacet + facet normal -1 -0 0 + outer loop + vertex -10 10 35 + vertex -10 2.88675 -35 + vertex -10 2.88675 35 + endloop + endfacet + facet normal -1 0 0 + outer loop + vertex -10 -10 -35 + vertex -10 -2.88675 35 + vertex -10 -2.88675 -35 + endloop + endfacet + facet normal -1 -0 0 + outer loop + vertex -10 -2.88675 35 + vertex -10 -10 -35 + vertex -10 -10 35 + endloop + endfacet + facet normal 0 1 -0 + outer loop + vertex -2.88675 10 -35 + vertex -10 10 35 + vertex -2.88675 10 35 + endloop + endfacet + facet normal 0 1 0 + outer loop + vertex -10 10 35 + vertex -2.88675 10 -35 + vertex -10 10 -35 + endloop + endfacet + facet normal 0 1 -0 + outer loop + vertex 10 10 -35 + vertex 2.88675 10 35 + vertex 10 10 35 + endloop + endfacet + facet normal 0 1 0 + outer loop + vertex 2.88675 10 35 + vertex 10 10 -35 + vertex 2.88675 10 -35 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex -10 -10 -35 + vertex -2.88675 -10 35 + vertex -10 -10 35 + endloop + endfacet + facet normal 0 -1 -0 + outer loop + vertex -2.88675 -10 35 + vertex -10 -10 -35 + vertex -2.88675 -10 -35 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex 2.88675 -10 -35 + vertex 10 -10 35 + vertex 2.88675 -10 35 + endloop + endfacet + facet normal 0 -1 -0 + outer loop + vertex 10 -10 35 + vertex 2.88675 -10 -35 + vertex 10 -10 -35 + endloop + endfacet + facet normal 1 -0 0 + outer loop + vertex 4.8 -4.8 39.6 + vertex 4.8 4.8 35 + vertex 4.8 4.8 39.6 + endloop + endfacet + facet normal 1 0 0 + outer loop + vertex 4.8 4.8 35 + vertex 4.8 -4.8 39.6 + vertex 4.8 -4.8 35 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -4.8 4.8 39.6 + vertex 4.8 -4.8 39.6 + vertex 4.8 4.8 39.6 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 4.8 -4.8 39.6 + vertex -4.8 4.8 39.6 + vertex -4.8 -4.8 39.6 + endloop + endfacet + facet normal -1 0 0 + outer loop + vertex -4.8 -4.8 35 + vertex -4.8 4.8 39.6 + vertex -4.8 4.8 35 + endloop + endfacet + facet normal -1 -0 0 + outer loop + vertex -4.8 4.8 39.6 + vertex -4.8 -4.8 35 + vertex -4.8 -4.8 39.6 + endloop + endfacet + facet normal 0 1 -0 + outer loop + vertex 4.8 4.8 35 + vertex -4.8 4.8 39.6 + vertex 4.8 4.8 39.6 + endloop + endfacet + facet normal 0 1 0 + outer loop + vertex -4.8 4.8 39.6 + vertex 4.8 4.8 35 + vertex -4.8 4.8 35 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex -4.8 -4.8 35 + vertex 4.8 -4.8 39.6 + vertex -4.8 -4.8 39.6 + endloop + endfacet + facet normal 0 -1 -0 + outer loop + vertex 4.8 -4.8 39.6 + vertex -4.8 -4.8 35 + vertex 4.8 -4.8 35 + endloop + endfacet + facet normal -1 0 0 + outer loop + vertex 5 -5 -35 + vertex 5 5 -30 + vertex 5 5 -35 + endloop + endfacet + facet normal -1 -0 0 + outer loop + vertex 5 5 -30 + vertex 5 -5 -35 + vertex 5 -5 -30 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -5 -5 -30 + vertex 5 5 -30 + vertex 5 -5 -30 + endloop + endfacet + facet normal -0 0 -1 + outer loop + vertex 5 5 -30 + vertex -5 -5 -30 + vertex -5 5 -30 + endloop + endfacet + facet normal 1 -0 0 + outer loop + vertex -5 -5 -30 + vertex -5 5 -35 + vertex -5 5 -30 + endloop + endfacet + facet normal 1 0 0 + outer loop + vertex -5 5 -35 + vertex -5 -5 -30 + vertex -5 -5 -35 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex -5 5 -35 + vertex 5 5 -30 + vertex -5 5 -30 + endloop + endfacet + facet normal 0 -1 -0 + outer loop + vertex 5 5 -30 + vertex -5 5 -35 + vertex 5 5 -35 + endloop + endfacet + facet normal 0 1 -0 + outer loop + vertex 5 -5 -35 + vertex -5 -5 -30 + vertex 5 -5 -30 + endloop + endfacet + facet normal 0 1 0 + outer loop + vertex -5 -5 -30 + vertex 5 -5 -35 + vertex -5 -5 -35 + endloop + endfacet + facet normal 1 -0 0 + outer loop + vertex 7.5 -4.33013 35 + vertex 7.5 4.33013 -35 + vertex 7.5 4.33013 35 + endloop + endfacet + facet normal 1 0 0 + outer loop + vertex 7.5 4.33013 -35 + vertex 7.5 -4.33013 35 + vertex 7.5 -4.33013 -35 + endloop + endfacet + facet normal -0.500001 -0.866025 0 + outer loop + vertex 7.5 4.33013 -35 + vertex 10 2.88675 35 + vertex 7.5 4.33013 35 + endloop + endfacet + facet normal -0.500001 -0.866025 -0 + outer loop + vertex 10 2.88675 35 + vertex 7.5 4.33013 -35 + vertex 10 2.88675 -35 + endloop + endfacet + facet normal -0.500001 0.866025 0 + outer loop + vertex 10 -2.88675 -35 + vertex 7.5 -4.33013 35 + vertex 10 -2.88675 35 + endloop + endfacet + facet normal -0.500001 0.866025 0 + outer loop + vertex 7.5 -4.33013 35 + vertex 10 -2.88675 -35 + vertex 7.5 -4.33013 -35 + endloop + endfacet + facet normal 0.866025 -0.500001 0 + outer loop + vertex -4.33013 7.5 35 + vertex -2.88675 10 -35 + vertex -2.88675 10 35 + endloop + endfacet + facet normal 0.866025 -0.500001 0 + outer loop + vertex -2.88675 10 -35 + vertex -4.33013 7.5 35 + vertex -4.33013 7.5 -35 + endloop + endfacet + facet normal 0 1 -0 + outer loop + vertex 4.33013 7.5 -35 + vertex -4.33013 7.5 35 + vertex 4.33013 7.5 35 + endloop + endfacet + facet normal 0 1 0 + outer loop + vertex -4.33013 7.5 35 + vertex 4.33013 7.5 -35 + vertex -4.33013 7.5 -35 + endloop + endfacet + facet normal -0.866025 -0.500001 0 + outer loop + vertex 4.33013 7.5 -35 + vertex 2.88675 10 35 + vertex 2.88675 10 -35 + endloop + endfacet + facet normal -0.866025 -0.500001 0 + outer loop + vertex 2.88675 10 35 + vertex 4.33013 7.5 -35 + vertex 4.33013 7.5 35 + endloop + endfacet + facet normal 0.500001 0.866025 -0 + outer loop + vertex -7.5 -4.33013 -35 + vertex -10 -2.88675 35 + vertex -7.5 -4.33013 35 + endloop + endfacet + facet normal 0.500001 0.866025 0 + outer loop + vertex -10 -2.88675 35 + vertex -7.5 -4.33013 -35 + vertex -10 -2.88675 -35 + endloop + endfacet + facet normal -1 0 0 + outer loop + vertex -7.5 -4.33013 -35 + vertex -7.5 4.33013 35 + vertex -7.5 4.33013 -35 + endloop + endfacet + facet normal -1 -0 0 + outer loop + vertex -7.5 4.33013 35 + vertex -7.5 -4.33013 -35 + vertex -7.5 -4.33013 35 + endloop + endfacet + facet normal 0.500001 -0.866025 0 + outer loop + vertex -10 2.88675 -35 + vertex -7.5 4.33013 35 + vertex -10 2.88675 35 + endloop + endfacet + facet normal 0.500001 -0.866025 0 + outer loop + vertex -7.5 4.33013 35 + vertex -10 2.88675 -35 + vertex -7.5 4.33013 -35 + endloop + endfacet + facet normal -0.866025 0.500001 0 + outer loop + vertex 2.88675 -10 -35 + vertex 4.33013 -7.5 35 + vertex 4.33013 -7.5 -35 + endloop + endfacet + facet normal -0.866025 0.500001 0 + outer loop + vertex 4.33013 -7.5 35 + vertex 2.88675 -10 -35 + vertex 2.88675 -10 35 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex -4.33013 -7.5 -35 + vertex 4.33013 -7.5 35 + vertex -4.33013 -7.5 35 + endloop + endfacet + facet normal 0 -1 -0 + outer loop + vertex 4.33013 -7.5 35 + vertex -4.33013 -7.5 -35 + vertex 4.33013 -7.5 -35 + endloop + endfacet + facet normal 0.866025 0.500001 0 + outer loop + vertex -2.88675 -10 35 + vertex -4.33013 -7.5 -35 + vertex -4.33013 -7.5 35 + endloop + endfacet + facet normal 0.866025 0.500001 0 + outer loop + vertex -4.33013 -7.5 -35 + vertex -2.88675 -10 35 + vertex -2.88675 -10 -35 + endloop + endfacet +endsolid OpenSCAD_Model diff --git a/cases/power/stl/untitled.fpp b/cases/power/stl/untitled.fpp new file mode 100644 index 0000000000000000000000000000000000000000..e65ce8179e04347894584feb94e4c512883c0fe4 GIT binary patch literal 262336 zcmeIwF^U2~5Cza4@ft#diQ(9e1_L4(m