wip bom
16
README.md
@ -28,14 +28,14 @@ Please see [the assembly README here](./assembly)
|
||||
|
||||
### BOM - Single Rack:
|
||||
|
||||
| Item | Name | Quantity | Comment |
|
||||
|------|-----------------------------|----------|---------------------------|
|
||||
| | M3x8 FHCS | 16 | Get double! |
|
||||
| | M3x10 FHCS | 4 | ☝️ |
|
||||
| | M3x12 FHCS | 16 | ☝️ |
|
||||
| | M3 hex nut | 36 | ☝️ |
|
||||
| | 3x10mm steel dowel pin | 4 | 3mm diameter, 10mm height |
|
||||
| | 6x2mm neodymium disc magnet | 8 | 6mm diameter, 2mm height |
|
||||
| Item | Name | Quantity | Comment |
|
||||
|-----------------------------------|-----------------------------|----------|---------------------------|
|
||||
|  | M3x8 FHCS | 16 | Get double! |
|
||||
|  | M3x10 FHCS | 4 | ☝️ |
|
||||
|  | M3x12 FHCS | 16 | ☝️ |
|
||||
| | M3 hex nut | 36 | ☝️ |
|
||||
| | 3x10mm steel dowel pin | 4 | 3mm diameter, 10mm height |
|
||||
| | 6x2mm neodymium disc magnet | 8 | 6mm diameter, 2mm height |
|
||||
|
||||
#### Notes:
|
||||
|
||||
|
||||
BIN
media/bom/dowel.gif
Normal file
|
After Width: | Height: | Size: 243 KiB |
BIN
media/bom/m3_10.gif
Normal file
|
After Width: | Height: | Size: 410 KiB |
BIN
media/bom/m3_10_test.gif
Normal file
|
After Width: | Height: | Size: 31 KiB |
BIN
media/bom/m3_12.gif
Normal file
|
After Width: | Height: | Size: 470 KiB |
BIN
media/bom/m3_12_test.gif
Normal file
|
After Width: | Height: | Size: 36 KiB |
BIN
media/bom/m3_8.gif
Normal file
|
After Width: | Height: | Size: 348 KiB |
BIN
media/bom/m3_8_test.gif
Normal file
|
After Width: | Height: | Size: 26 KiB |
BIN
media/bom/m3_hex.gif
Normal file
|
After Width: | Height: | Size: 240 KiB |
BIN
media/bom/magnet.gif
Normal file
|
After Width: | Height: | Size: 203 KiB |
54
misc/bomAnimations.scad
Normal file
@ -0,0 +1,54 @@
|
||||
include <../helper/screws.scad>
|
||||
include <../helper/magnet.scad>
|
||||
include <../helper/dowel.scad>
|
||||
|
||||
$vpr=[85,0,25];
|
||||
//$vpd=40;
|
||||
$vpd=25;
|
||||
$vpf=20;
|
||||
|
||||
|
||||
|
||||
// m3FHCS(length=8,tilt=45,r=360*$t);
|
||||
magnet(tilt=90, r=360*$t);
|
||||
// hingeDowel(tilt=90,r=360*$t);
|
||||
// m3Hex(tilt=90,r=360*$t);
|
||||
|
||||
metalColor = [0.8,0.8,0.8];
|
||||
|
||||
module m3FHCS(length, tilt, r) {
|
||||
rotate(a=[0,0,r])
|
||||
rotate(a=[tilt,0,0])
|
||||
translate(v=[0,0,length/2])
|
||||
color(metalColor) {
|
||||
difference() {
|
||||
counterSunkHead_N("m3", screwExtension = length-m3CounterSunkHeadLength, headExtension = 0.5);
|
||||
cylinder($fn = 6, r = 1.2);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
module m3Hex(tilt, r) {
|
||||
|
||||
rotate(a=[0,0,r])
|
||||
rotate(a=[tilt,0,0])
|
||||
color(metalColor)
|
||||
hexNut("m3");
|
||||
}
|
||||
|
||||
module hingeDowel(tilt, r) {
|
||||
rotate(a=[0,0,r])
|
||||
rotate(a=[tilt,0,0])
|
||||
translate(v=[0,0,-dowelPinH/2])
|
||||
color(metalColor)
|
||||
cylinder(h = dowelPinH, r = dowelPinR);
|
||||
}
|
||||
|
||||
|
||||
module magnet(tilt, r) {
|
||||
rotate(a=[0,0,r])
|
||||
rotate(a=[tilt,0,0])
|
||||
translate(v=[0,0,-magnetH/2])
|
||||
color(metalColor)
|
||||
cylinder(r = magnetR, h = magnetH);
|
||||
}
|
||||
BIN
misc/good/opt_dowel.gif
Normal file
|
After Width: | Height: | Size: 243 KiB |
BIN
misc/good/opt_m3_10.gif
Normal file
|
After Width: | Height: | Size: 410 KiB |
BIN
misc/good/opt_m3_12.gif
Normal file
|
After Width: | Height: | Size: 470 KiB |
BIN
misc/good/opt_m3_8.gif
Normal file
|
After Width: | Height: | Size: 348 KiB |
BIN
misc/good/opt_m3_hex.gif
Normal file
|
After Width: | Height: | Size: 240 KiB |
BIN
misc/good/opt_magnet.gif
Normal file
|
After Width: | Height: | Size: 203 KiB |
4818
old/base1.stl
@ -1,79 +0,0 @@
|
||||
include <../../common.scad>
|
||||
include <../screws.scad>
|
||||
|
||||
$fn=64;
|
||||
|
||||
module baseFrame() {
|
||||
difference() {
|
||||
cube(size=[200,200,4], center=true);
|
||||
cube(size=[180,180,4], center=true);
|
||||
}
|
||||
|
||||
translate(v=[80,80,0])
|
||||
cube(size=[20,20, 4],center=true);
|
||||
|
||||
translate(v=[-80,80,0])
|
||||
cube(size=[20,20, 4],center=true);
|
||||
|
||||
translate(v=[80,-80,0])
|
||||
cube(size=[20,20, 4],center=true);
|
||||
|
||||
translate(v=[-80,-80,0])
|
||||
cube(size=[20,20, 4],center=true);
|
||||
}
|
||||
|
||||
module lugBottom() {
|
||||
difference() {
|
||||
cube(size=[9.7,9.7,6], center=true);
|
||||
|
||||
translate(v=[2,2,0])
|
||||
cube(size=[9.1,9.1,5+1], center=true);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
module base() {
|
||||
|
||||
difference() {
|
||||
union() {
|
||||
translate(v=[0,0,4/2])
|
||||
baseFrame();
|
||||
|
||||
|
||||
translate(v=[-90,-90,-6/2])
|
||||
lugBottom();
|
||||
|
||||
mirror(v=[1,0,0])
|
||||
translate(v=[-90,-90,-6/2])
|
||||
lugBottom();
|
||||
|
||||
mirror(v=[0,1,0])
|
||||
translate(v=[-90,-90,-6/2])
|
||||
lugBottom();
|
||||
|
||||
mirror(v=[1,1,0])
|
||||
translate(v=[-90,-90,-6/2])
|
||||
lugBottom();
|
||||
}
|
||||
|
||||
union() {
|
||||
translate(v=[80,80,0])
|
||||
cylinder(h = 100, r = m3ptr, $fn=32, center=true);
|
||||
|
||||
translate(v=[-80,80,0])
|
||||
cylinder(h = 100, r = m3ptr, $fn=32, center=true);
|
||||
|
||||
translate(v=[80,-80,0])
|
||||
cylinder(h = 100, r = m3ptr, $fn=32, center=true);
|
||||
|
||||
translate(v=[-80,-80,0])
|
||||
cylinder(h = 100, r = m3ptr, $fn=32, center=true);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
base();
|
||||
|
||||
|
||||
@ -1,37 +0,0 @@
|
||||
|
||||
slack = 0.5;
|
||||
m3Diameter = 3.0;
|
||||
m3Radius = m3Diameter/2.0;
|
||||
m3ptr = m3Radius + slack;
|
||||
|
||||
legLength = 200;
|
||||
|
||||
|
||||
module baseLeg(legLength) {
|
||||
cube(size=[3, 15, legLength]);
|
||||
}
|
||||
|
||||
|
||||
module leg() {
|
||||
difference() {
|
||||
baseLeg(legLength);
|
||||
|
||||
union() {
|
||||
for (i = [0:18]) {
|
||||
translate(v=[0,10,(i+1)*10])
|
||||
rotate(a=[0,90,0])
|
||||
cylinder(h = 100, r = m3ptr, $fn=32, center=true);
|
||||
}
|
||||
|
||||
translate(v=[0,10,(0+1)*10])
|
||||
rotate(a=[0,90,0])
|
||||
*cylinder(h = 100, r = m3ptr, $fn=32, center=true);
|
||||
|
||||
translate(v=[0,10,(18+1)*10])
|
||||
rotate(a=[0,90,0])
|
||||
*cylinder(h = 100, r = m3ptr, $fn=32, center=true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
leg();
|
||||
@ -1,45 +0,0 @@
|
||||
|
||||
slack = 0.5;
|
||||
m3Diameter = 3.0;
|
||||
m3Radius = m3Diameter/2.0;
|
||||
m3ptr = m3Radius + slack;
|
||||
|
||||
legLength = 60;
|
||||
|
||||
|
||||
module baseLeg(legLength) {
|
||||
difference() {
|
||||
cube(size=[16,16, legLength]);
|
||||
|
||||
translate(v=[4,4,4])
|
||||
cube(size=[16, 16, legLength-2*4]);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
module leg(ui) {
|
||||
assert(ui > 0);
|
||||
|
||||
legLength = 20 + (ui-1)*10;
|
||||
|
||||
difference() {
|
||||
baseLeg(legLength);
|
||||
|
||||
union() {
|
||||
for (i = [0:ui-1]) {
|
||||
translate(v=[0,10,(i+1)*10])
|
||||
rotate(a=[0,90,0])
|
||||
cylinder(h = 100, r = m3ptr, $fn=32, center=true);
|
||||
|
||||
translate(v=[10,0,(i+1)*10])
|
||||
rotate(a=[90,0,0])
|
||||
cylinder(h = 100, r = m3ptr, $fn=32, center=true);
|
||||
}
|
||||
|
||||
translate(v=[10,10,legLength/2])
|
||||
cylinder(h = legLength*2, r = m3ptr, $fn=32, center=true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
leg(18);
|
||||
@ -1,158 +0,0 @@
|
||||
include <../../common.scad>
|
||||
include <../screws.scad>
|
||||
|
||||
|
||||
//slack = 0.5;
|
||||
//m3Diameter = 3.0;
|
||||
//m3Radius = m3Diameter/2.0;
|
||||
//m3ptr = m3Radius + slack;
|
||||
|
||||
legWidth = 16;
|
||||
legLength = 16;
|
||||
legHeight = 60;
|
||||
|
||||
legFrontThickness = 6;
|
||||
legSupportThickness = 4;
|
||||
|
||||
legWingThickness = 4;
|
||||
legWingLength = 9;
|
||||
|
||||
// 9.5 to account for space for inserting hex nuts at the top
|
||||
legWingWidth = 9.5+legSupportThickness;
|
||||
|
||||
|
||||
module legWing() {
|
||||
difference() {
|
||||
cube(size=[legWingLength, legWingThickness, legWingWidth]);
|
||||
|
||||
union() {
|
||||
translate(v=[4,0,10])
|
||||
rotate(a=[90,0,0])
|
||||
cylinder(r=m3RadiusSlacked, h=20, center=true);
|
||||
|
||||
translate(v=[14,0,10])
|
||||
rotate(a=[90,0,0])
|
||||
cylinder(r=m3RadiusSlacked, h=20, center=true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
module base() {
|
||||
difference() {
|
||||
cube(size=[25,25,legWingThickness]);
|
||||
|
||||
union() {
|
||||
translate(v=[20,20,0])
|
||||
cylinder(r=m3RadiusSlacked, h=100, center=true);
|
||||
|
||||
translate(v=[10,10,0])
|
||||
cylinder(r=m3RadiusSlacked, h=100, center=true);
|
||||
|
||||
translate(v=[20,10,0])
|
||||
cylinder(r=m3RadiusSlacked, h=100, center=true);
|
||||
|
||||
translate(v=[10,20,0])
|
||||
cylinder(r=m3RadiusSlacked, h=100, center=true);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
module baseLeg(legHeight) {
|
||||
union() {
|
||||
difference() {
|
||||
cube(size=[16,16, legHeight]);
|
||||
|
||||
union() {
|
||||
translate(v=[4,6,0])
|
||||
cube(size=[16, 16, legHeight]);
|
||||
|
||||
// compensate for differences between leg/wing thickness
|
||||
translate(v=[legSupportThickness,legSupportThickness,0])
|
||||
cube(size=[legWidth,legWidth,legSupportThickness+10]);
|
||||
|
||||
translate(v=[legSupportThickness,legSupportThickness,legHeight-legWingWidth])
|
||||
cube(size=[legWidth,legWidth,legSupportThickness+10]);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
translate(v=[16,0,0])
|
||||
legWing();
|
||||
|
||||
|
||||
translate(v=[16,0,legHeight])
|
||||
mirror(v=[0,0,1]) {
|
||||
legWing();
|
||||
}
|
||||
|
||||
mirror(v=[1,-1,0]) {
|
||||
translate(v=[16,0,0])
|
||||
legWing();
|
||||
|
||||
|
||||
translate(v=[16,0,legHeight])
|
||||
mirror(v=[0,0,1]) {
|
||||
legWing();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
base();
|
||||
|
||||
translate(v=[0,0,legHeight-legWingThickness])
|
||||
base();
|
||||
}
|
||||
|
||||
*baseLeg(180);
|
||||
|
||||
module leg(ui) {
|
||||
assert(ui > 0);
|
||||
|
||||
legLength = 20 + (ui-1)*10;
|
||||
|
||||
difference() {
|
||||
baseLeg(legLength);
|
||||
|
||||
union() {
|
||||
|
||||
intersection() {
|
||||
union() {
|
||||
for (i = [1:ui-2]) {
|
||||
translate(v=[0,10,(i+1)*10])
|
||||
rotate(a=[0,90,0])
|
||||
*cylinder(h = 100, r = m3ptr, $fn=32, center=true);
|
||||
|
||||
translate(v=[10,3,(i+1)*10])
|
||||
rotate(a=[90,-10,0])
|
||||
m4HexNutPocketNegative();
|
||||
}
|
||||
}
|
||||
translate(v=[-1,-1,legWingWidth])
|
||||
cube(size=[1000,1000,legLength-2*legWingWidth]);
|
||||
}
|
||||
|
||||
translate(v=[0,10,10])
|
||||
rotate(a=[0,90,0])
|
||||
cylinder(h = 100, r = m3ptr, $fn=32, center=true);
|
||||
|
||||
translate(v=[0,10,ui*10])
|
||||
rotate(a=[0,90,0])
|
||||
cylinder(h = 100, r = m3ptr, $fn=32, center=true);
|
||||
|
||||
|
||||
translate(v=[10,0,10])
|
||||
rotate(a=[90,0,0])
|
||||
cylinder(h = 100, r = m3ptr, $fn=32, center=true);
|
||||
|
||||
translate(v=[10,0,ui*10])
|
||||
rotate(a=[90,0,0])
|
||||
cylinder(h = 100, r = m3ptr, $fn=32, center=true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//mirror(v=[1,0,0])
|
||||
leg(20);
|
||||
@ -1,88 +0,0 @@
|
||||
include <../../../helper/magnet.scad>
|
||||
include <../../../math.scad>
|
||||
$fn=64;
|
||||
|
||||
_height = 210;
|
||||
_depth = 200;
|
||||
|
||||
_thickness = 5;
|
||||
|
||||
holeOffset = 10;
|
||||
|
||||
module _base() {
|
||||
difference() {
|
||||
cube(size = [_height, _depth, _thickness], center=true);
|
||||
union() {
|
||||
translate(v = [0, 0, 20])
|
||||
minkowski() {
|
||||
sphere(r = 20);
|
||||
cube(size = [_height - 34, _depth - 34, 1], center = true);
|
||||
|
||||
}
|
||||
// handles
|
||||
handleLength = 80;
|
||||
translate(v=[0, _depth/2, _thickness+5.5])
|
||||
minkowski() {
|
||||
sphere(r=10);
|
||||
cube(size=[handleLength, 10, 1], center=true);
|
||||
}
|
||||
translate(v=[0, -_depth/2, _thickness+5.5])
|
||||
minkowski() {
|
||||
sphere(r=10);
|
||||
cube(size=[handleLength, 10, 1], center=true);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
module magnetMount(h) {
|
||||
slack = 0.2;
|
||||
difference() {
|
||||
cylinder(h = h, r=magnetR*2);
|
||||
translate(v=[0,0,h-magnetH])
|
||||
cylinder(h = magnetH, r = magnetR+slack);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
module side() {
|
||||
magnetMountOffsetX = 95;
|
||||
magnetMountOffsetY = 90;
|
||||
difference() {
|
||||
union() {
|
||||
// align _base to positive z plan
|
||||
translate(v = [0, 0, _thickness / 2])
|
||||
_base();
|
||||
|
||||
// magnet mounts (no holes)
|
||||
for (i=mirror4XY(midpoint=[0,0,0], offsetX=magnetMountOffsetX, offsetY=magnetMountOffsetY)) {
|
||||
translate(v=i)
|
||||
cylinder(h=_thickness, r=2*magnetR);
|
||||
}
|
||||
}
|
||||
|
||||
// magnet mount holes
|
||||
for (i=mirror4XY(midpoint=[0,0,_thickness-magnetH], offsetX=magnetMountOffsetX, offsetY=magnetMountOffsetY)) {
|
||||
translate(v=i)
|
||||
cylinder(h=magnetH, r=magnetR);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
difference() {
|
||||
side();
|
||||
|
||||
union() {
|
||||
for (i=[0:7]) {
|
||||
translate(v=[i*15 - 52.5,0,0])
|
||||
minkowski() {
|
||||
cube(size = [2, 100, 10], center = true);
|
||||
sphere(r=2);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -1,97 +0,0 @@
|
||||
include <../../common.scad>
|
||||
include <../../math.scad>
|
||||
include <../screws.scad>
|
||||
|
||||
$fn=64;
|
||||
|
||||
_height = 8;
|
||||
_width = 210;
|
||||
_depth = 200;
|
||||
|
||||
|
||||
module _bodySilBase(width, depth, height, roundedPartHeight) {
|
||||
hull() {
|
||||
cube(size = [width, depth, height - roundedPartHeight]);
|
||||
minkowski() {
|
||||
translate(v = [roundedPartHeight, 0, height - roundedPartHeight])
|
||||
cube(size = [width-2*roundedPartHeight, depth, eps]);
|
||||
|
||||
rotate(a = [90, 0, 0])
|
||||
cylinder(r = roundedPartHeight, h = eps);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
module _bodySil(width, depth, height, roundedPartHeight, wallThickness, topThickness) {
|
||||
cornerSquareDim = 30;
|
||||
|
||||
difference() {
|
||||
_bodySilBase(width, depth, height, roundedPartHeight);
|
||||
|
||||
union() {
|
||||
translate(v = [wallThickness, cornerSquareDim, - topThickness])
|
||||
_bodySilBase(width - 2 * wallThickness, depth - 2 * cornerSquareDim, height, roundedPartHeight);
|
||||
|
||||
translate(v=[cornerSquareDim, wallThickness, -topThickness])
|
||||
cube(size=[width-2*cornerSquareDim, depth-2*wallThickness, height]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Negative and centered on xy. Aligned with z=0 downwards
|
||||
module _lugAndMagnet() {
|
||||
slack = 0.3;
|
||||
vSlack = 0.1;
|
||||
// lug
|
||||
translate(v=[0,0,-2.5])
|
||||
cube(size=[10+slack, 10+slack, 5+vSlack], center=true);
|
||||
|
||||
// hole for magnet, no tolerance on
|
||||
translate(v=[0,0,-(5+vSlack+1.7)])
|
||||
cylinder(d=6+slack, h=1.7+vSlack);
|
||||
}
|
||||
|
||||
module baseBody() {
|
||||
difference() {
|
||||
_bodySil(_width, _depth, _height, 4, 5, 2);
|
||||
|
||||
_mid = [_width / 2, _depth / 2, _height];
|
||||
|
||||
union() {
|
||||
|
||||
for (i = mirror4XY(midpoint = _mid, offsetX = (_width / 2) - 15, offsetY = (_depth / 2) - 10)) {
|
||||
translate(v = i)
|
||||
_lugAndMagnet();
|
||||
}
|
||||
|
||||
screwHolePositions = concat(
|
||||
mirror4XY(midpoint = _mid, offsetX = (_width / 2) - 25, offsetY = (_depth / 2) - 20),
|
||||
mirror4XY(midpoint = _mid, offsetX = (_width / 2) - 15, offsetY = (_depth / 2) - 20),
|
||||
mirror4XY(midpoint = _mid, offsetX = (_width / 2) - 25, offsetY = (_depth / 2) - 10)
|
||||
);
|
||||
|
||||
for (i = screwHolePositions) {
|
||||
translate(v = i) {
|
||||
cylinder(r = m3RadiusSlacked, h = inf, center = true);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
difference() {
|
||||
baseBody();
|
||||
|
||||
union() {
|
||||
minkowski() {
|
||||
translate(v = [(_width - 130) / 2, (_depth - 150) / 2, - inf / 2])
|
||||
cube(size = [130, 150, inf]);
|
||||
|
||||
cylinder(r = 5);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,71 +0,0 @@
|
||||
include <../common.scad>
|
||||
include <./screws.scad>
|
||||
include <../rpi/voronoi.scad>
|
||||
|
||||
vU = 2;
|
||||
uHeight = 10;
|
||||
|
||||
plateScrewDiffV = uHeight*vU;
|
||||
plateScrewDiffH = 180;
|
||||
|
||||
plateScrewToHEdge = 4.5;
|
||||
plateScrewToVEdge = 5.5;
|
||||
|
||||
frontPlateThickness = 2.5;
|
||||
|
||||
frontPlateV = plateScrewDiffV + 2*plateScrewToHEdge;
|
||||
frontPlateH = plateScrewDiffH + 2*plateScrewToVEdge;
|
||||
|
||||
|
||||
plateScrewToBoxMin = 6;
|
||||
|
||||
module _frontPlateBody() {
|
||||
translate(v=[-plateScrewToVEdge,0,-plateScrewToHEdge])
|
||||
cube(size=[frontPlateH,frontPlateThickness,frontPlateV]);
|
||||
}
|
||||
|
||||
module _plateHole() {
|
||||
rotate(a=[90,0,0])
|
||||
cylinder(r=m4RadiusSlacked, h=inf, center=true);
|
||||
}
|
||||
|
||||
|
||||
module frontPlate() {
|
||||
|
||||
difference() {
|
||||
_frontPlateBody();
|
||||
|
||||
union() {
|
||||
// TODO: introduce helper modules for this pattern
|
||||
_plateHole();
|
||||
|
||||
translate(v=[plateScrewDiffH,0,0])
|
||||
_plateHole();
|
||||
|
||||
translate(v=[0,0,plateScrewDiffV])
|
||||
_plateHole();
|
||||
|
||||
translate(v=[plateScrewDiffH,0,plateScrewDiffV])
|
||||
_plateHole();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
difference() {
|
||||
difference () {
|
||||
rotate(a=[-90,0,0])
|
||||
frontPlate();
|
||||
translate(v=[0,0,-5])
|
||||
voronoi3u_N(10);
|
||||
}
|
||||
// lug holes
|
||||
union() {
|
||||
translate(v=[160,-3,-frontPlateThickness])
|
||||
cube(size=[5.2, 5.2, 3]);
|
||||
translate(v=[160-91.1,-3,-frontPlateThickness])
|
||||
cube(size=[5.2, 5.2, 3]);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
16214
old/frontPlate2u.stl
17642
old/l1.stl
35310
old/legToleranceTest.stl
54952
old/m4Leg.stl
54952
old/m4LegM.stl
@ -1,85 +0,0 @@
|
||||
$fn=64;
|
||||
include <./math.scad>
|
||||
|
||||
eps=0.1;
|
||||
|
||||
module leg() {
|
||||
mainLength = 80;
|
||||
upperDim = 20;
|
||||
innerDim = 10;
|
||||
|
||||
translate(v=[0,0,mainLength/2]) {
|
||||
cube(size=[upperDim, upperDim, mainLength], center=true);
|
||||
|
||||
translate(v=[0,0,mainLength/2 + innerDim/8-0.3])
|
||||
cube(size=[innerDim, innerDim, innerDim/4-0.5], center=true);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
module base() {
|
||||
|
||||
difference() {
|
||||
union() {
|
||||
cube(size=[200,200,4], center=true);
|
||||
|
||||
// legs
|
||||
for (i=mirror4XY(midpoint=[0,0,-2], offsetX=90, offsetY=90)) {
|
||||
translate(v=i)
|
||||
leg();
|
||||
}
|
||||
|
||||
// base support
|
||||
translate(v=[0,0,4.5])
|
||||
cube(size=[200,5,5], center=true);
|
||||
|
||||
rotate(a=[0,0,90])
|
||||
translate(v=[0,0,4.5])
|
||||
cube(size=[200,5,5], center=true);
|
||||
|
||||
translate(v=[0,-98,4.5])
|
||||
cube(size=[200,4,5], center=true);
|
||||
|
||||
rotate(a=[0,0,90])
|
||||
translate(v=[0,-98,4.5])
|
||||
cube(size=[200,4,5], center=true);
|
||||
|
||||
rotate(a=[0,0,180])
|
||||
translate(v=[0,-98,4.5])
|
||||
cube(size=[200,4,5], center=true);
|
||||
|
||||
rotate(a=[0,0,270])
|
||||
translate(v=[0,-98,4.5])
|
||||
cube(size=[200,4,5], center=true);
|
||||
|
||||
}
|
||||
|
||||
union() {
|
||||
|
||||
|
||||
// lug holes
|
||||
for (i=mirror4XY(midpoint=[0,0,0], offsetX=50, offsetY=50)) {
|
||||
for (j=mirror4XY(midpoint=i, offsetX=40, offsetY=40)) {
|
||||
translate(v=j)
|
||||
cube(size=[10+0.3,10+0.3,140], center=true);
|
||||
}
|
||||
}
|
||||
|
||||
// decorative perforations
|
||||
for (i=mirror4XY(midpoint=[0,0,0], offsetX=50, offsetY=50)) {
|
||||
translate(v=i)
|
||||
minkowski() {
|
||||
cube(size=[30,30,50], center=true);
|
||||
cylinder(r=20, h=10);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
base();
|
||||
|
||||
|
||||
@ -1,132 +0,0 @@
|
||||
include <./common.scad>
|
||||
include <./rack/screws.scad>
|
||||
|
||||
vU = 2;
|
||||
uHeight = 10;
|
||||
|
||||
plateScrewDiffV = uHeight*vU;
|
||||
plateScrewDiffH = 180;
|
||||
|
||||
plateScrewToHEdge = 4.5;
|
||||
plateScrewToVEdge = 5.5;
|
||||
|
||||
frontPlateThickness = 3;
|
||||
|
||||
frontPlateV = plateScrewDiffV + 2*plateScrewToHEdge;
|
||||
frontPlateH = plateScrewDiffH + 2*plateScrewToVEdge;
|
||||
|
||||
|
||||
plateScrewToBoxMin = 6;
|
||||
|
||||
module _frontPlateBody() {
|
||||
translate(v=[-plateScrewToVEdge,0,-plateScrewToHEdge])
|
||||
cube(size=[frontPlateH,frontPlateThickness,frontPlateV]);
|
||||
}
|
||||
|
||||
module _plateHole() {
|
||||
rotate(a=[90,0,0])
|
||||
cylinder(r=m4RadiusSlacked, h=inf, center=true);
|
||||
}
|
||||
|
||||
|
||||
module frontPlate() {
|
||||
|
||||
difference() {
|
||||
_frontPlateBody();
|
||||
|
||||
union() {
|
||||
// TODO: introduce helper modules for this pattern
|
||||
_plateHole();
|
||||
|
||||
translate(v=[plateScrewDiffH,0,0])
|
||||
_plateHole();
|
||||
|
||||
translate(v=[0,0,plateScrewDiffV])
|
||||
_plateHole();
|
||||
|
||||
translate(v=[plateScrewDiffH,0,plateScrewDiffV])
|
||||
_plateHole();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// keystone stuff
|
||||
|
||||
// a lot of these variables are useless, after a couple of design iterations
|
||||
|
||||
keystoneMainBodyWidth = 15.0;
|
||||
keystoneMainBodyHeight = 16.90;
|
||||
keystoneMainBodyDepth = 32.90;
|
||||
|
||||
|
||||
heightWithHookBody = 20.2;
|
||||
heightWithHookCatch = 21.30;
|
||||
|
||||
widthWithSideLugs = 15.96;
|
||||
|
||||
sideLugWidth = (widthWithSideLugs - keystoneMainBodyWidth) / 2.0;
|
||||
|
||||
|
||||
heightWithBottomLug = 17.5;
|
||||
|
||||
frontToHookCatch = 8.35; // not sure about this
|
||||
frontToBottomLugBack = 8.23;
|
||||
frontToSideLugFront = 10.63;
|
||||
|
||||
|
||||
module keystoneSlot_N() {
|
||||
// main keystone body (no hooks or lugs)
|
||||
cube(size=[keystoneMainBodyWidth, keystoneMainBodyDepth, keystoneMainBodyHeight]);
|
||||
|
||||
|
||||
// slot for top hook
|
||||
translate(v=[0,frontToHookCatch,0])
|
||||
cube(size=[keystoneMainBodyWidth, keystoneMainBodyDepth -frontToHookCatch, heightWithHookBody]);
|
||||
cube(size=[keystoneMainBodyWidth, frontToHookCatch, heightWithHookCatch]);
|
||||
|
||||
|
||||
// slots for side lugs
|
||||
translate(v=[-sideLugWidth, frontToSideLugFront,0])
|
||||
cube(size=[widthWithSideLugs, keystoneMainBodyDepth-frontToSideLugFront, keystoneMainBodyHeight]);
|
||||
|
||||
// slots for bottom lugs
|
||||
translate(v=[0,0,-(heightWithBottomLug-keystoneMainBodyHeight)])
|
||||
cube(size=[keystoneMainBodyWidth, frontToBottomLugBack, keystoneMainBodyHeight]);
|
||||
|
||||
}
|
||||
|
||||
|
||||
module keystoneJack_N() {
|
||||
translate(v=[0,-4,0.5])
|
||||
intersection() {
|
||||
translate(v=[-2.5,4,-4])
|
||||
cube(size=[20,6,28]);
|
||||
keystoneSlot_N();
|
||||
}
|
||||
}
|
||||
|
||||
//keystoneJack_N();
|
||||
|
||||
module patchPanel_P() {
|
||||
|
||||
frontPlate();
|
||||
for (i = [0:7]) {
|
||||
translate(v=[(i*20+12.5)-2.5,0,-4.5])
|
||||
cube(size=[20,6,29]);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
module patchPanel() {
|
||||
difference() {
|
||||
patchPanel_P();
|
||||
|
||||
for (i = [0:7]) {
|
||||
translate(v=[i*18 + 12.5,0,-2])
|
||||
keystoneJack_N();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
patchPanel();
|
||||
@ -1,210 +0,0 @@
|
||||
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();
|
||||
|
||||
|
||||
|
||||
|
||||
@ -1,52 +0,0 @@
|
||||
// test for screw tolerances
|
||||
|
||||
|
||||
$fn = 128;
|
||||
outerD = 4.65;
|
||||
|
||||
innerD = 2.95;
|
||||
|
||||
*difference() {
|
||||
cube(size=[10,50,10]);
|
||||
union() {
|
||||
translate(v=[5,10,-1])
|
||||
cylinder(h=30,r=innerD/2-0.2);
|
||||
|
||||
translate(v=[5,25,-1])
|
||||
cylinder(h=30,r=innerD/2);
|
||||
|
||||
translate(v=[5,40,-1])
|
||||
cylinder(h=30,r=innerD/2+0.2);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
module caseOuter() {
|
||||
rotate(a=[90,0,0])
|
||||
minkowski() {
|
||||
cube(size=[90,40,195], center=true);
|
||||
cylinder(h=0.00000000001, r=10);
|
||||
}
|
||||
}
|
||||
|
||||
module caseInner() {
|
||||
translate(v=[0,0,-2])
|
||||
rotate(a=[90,0,0])
|
||||
minkowski() {
|
||||
cube(size=[90,47,195+0.01], center=true);
|
||||
*cylinder(h=0.00000000001, r=5);
|
||||
}
|
||||
}
|
||||
|
||||
module caseShell() {
|
||||
difference() {
|
||||
caseOuter();
|
||||
caseInner();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
caseShell();
|
||||
@ -1,330 +0,0 @@
|
||||
|
||||
include <./sfx-psu.scad>;
|
||||
|
||||
$fn=64;
|
||||
|
||||
eps=0.1;
|
||||
|
||||
module gill(he, isCenter) {
|
||||
minkowski() {
|
||||
cylinder(h = 1, r1 = 2, r2 = 2);
|
||||
cube(size=[he, 3.5, 6], center=isCenter);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
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 topBarInsert(slack) {
|
||||
innerDim = 10+slack;
|
||||
|
||||
translate(v=[0,0,innerDim/4])
|
||||
cube(size=[innerDim, innerDim, innerDim/2], center=true);
|
||||
|
||||
}
|
||||
|
||||
*topBarInsert(-0.6);
|
||||
|
||||
|
||||
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, isCenter=true);
|
||||
}
|
||||
|
||||
for (i = [0:1] ) {
|
||||
rotate(a=[0,0,90])
|
||||
translate(v=[-40,72.5 - i*12,0])
|
||||
gill(he=80, isCenter=true) ;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
module top() {
|
||||
|
||||
difference() {
|
||||
union() {
|
||||
translate(v=[90,90,-0.2])
|
||||
topBarInsert(-0.6);
|
||||
|
||||
translate(v=[-90,90,-0.2])
|
||||
topBarInsert(-0.6);
|
||||
|
||||
translate(v=[90,-90,-0.2])
|
||||
topBarInsert(-0.6);
|
||||
|
||||
translate(v=[-90,-90,-0.2])
|
||||
topBarInsert(-0.6);
|
||||
|
||||
difference() {
|
||||
|
||||
translate(v=[0,0,-1.5])
|
||||
cube(size=[200,200,3], center=true);
|
||||
|
||||
union() {
|
||||
|
||||
for (i = [0:12] ) {
|
||||
rotate(a=[0,0,90])
|
||||
translate(v=[45,72.5 - i*12,0])
|
||||
gill(he=75, isCenter=true);
|
||||
}
|
||||
|
||||
for (i = [0:12] ) {
|
||||
rotate(a=[0,0,90])
|
||||
translate(v=[-45,72.5 - i*12,0])
|
||||
gill(he=75, isCenter=true) ;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
union() {
|
||||
translate(v=[90,90,-6])
|
||||
topBarInsert(0.5);
|
||||
|
||||
translate(v=[-90,90,-6])
|
||||
topBarInsert(0.5);
|
||||
|
||||
translate(v=[90,-90,-6])
|
||||
topBarInsert(0.5);
|
||||
|
||||
translate(v=[-90,-90,-6])
|
||||
topBarInsert(0.5);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
base();
|
||||
*top();
|
||||
|
||||
|
||||
legInsertInnerSlack = 0.4;
|
||||
|
||||
module legInsert(length, railSlack) {
|
||||
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
|
||||
for (i=[0:3]) {
|
||||
rotate(a=[0,0,90*i])
|
||||
translate(v=[10,0,-5])
|
||||
cylinder(length*2,5+railSlack,5+railSlack,$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);
|
||||
|
||||
|
||||
module joinTriangle(length) {
|
||||
|
||||
translate(v=[-10,0,0])
|
||||
difference() {
|
||||
translate(v=[5.5, -4.5, -length/2])
|
||||
cube(size=[8,9,length]);
|
||||
|
||||
legInsert(length=length+eps, railSlack=-0.35);
|
||||
}
|
||||
}
|
||||
|
||||
module sidePlate() {
|
||||
|
||||
translate(v=[0,35,-5])
|
||||
rotate(a=[0,-90,-90])
|
||||
union() {
|
||||
translate(v=[0,180,0])
|
||||
joinTriangle(length=70);
|
||||
|
||||
joinTriangle(length=70);
|
||||
|
||||
translate(v=[2,-10,-40])
|
||||
cube(size=[3,200,75]);
|
||||
}
|
||||
}
|
||||
|
||||
module frontPlateHoled() {
|
||||
difference() {
|
||||
sidePlate();
|
||||
|
||||
intersection() {
|
||||
translate(v=[5,0,-25])
|
||||
cube(size=[170,65,50]);
|
||||
|
||||
union() {
|
||||
for (i=[0:11]) {
|
||||
translate(v=[20+i*17, 0, 0])
|
||||
rotate(a=[0,0,45])
|
||||
cube(size=[8,1000,40], center=true);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
module backPlateHoled() {
|
||||
difference() {
|
||||
sidePlate();
|
||||
|
||||
union() {
|
||||
translate(v=[20,5,-25])
|
||||
cube(size=[106,53,50]);
|
||||
|
||||
translate(v=[16,27.2,-50])
|
||||
cylinder(h=100, r1=2, r2=2);
|
||||
|
||||
translate(v=[16,52.8,-50])
|
||||
cylinder(h=100, r1=2, r2=2);
|
||||
|
||||
translate(v=[16,0.85,-50])
|
||||
cylinder(h=100, r1=2, r2=2);
|
||||
|
||||
|
||||
translate(v=[129.4,27.2,-50])
|
||||
cylinder(h=100, r1=2, r2=2);
|
||||
|
||||
translate(v=[129.4,0.85,-50])
|
||||
cylinder(h=100, r1=2, r2=2);
|
||||
|
||||
translate(v=[129.4,52.8,-50])
|
||||
cylinder(h=100, r1=2, r2=2);
|
||||
|
||||
|
||||
|
||||
// power out
|
||||
|
||||
translate(v=[150,50,-50])
|
||||
cylinder(h=100, r1=5.6, r2=5.6);
|
||||
|
||||
translate(v=[160,15+17.5,-50])
|
||||
cylinder(h=100, r1=5.6, r2=5.6);
|
||||
|
||||
translate(v=[150,15,-50])
|
||||
cylinder(h=100, r1=5.6, r2=5.6);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// messed up placement of the holes, mirroring as hack to approx solve
|
||||
module mirroredBackPlateHoled() {
|
||||
|
||||
mirror(v=[0,0,1])
|
||||
translate(v=[0,0,-10])
|
||||
backPlateHoled();
|
||||
}
|
||||
|
||||
|
||||
module supportLBracket(length, h1, h2, thickness) {
|
||||
|
||||
numSegments = 2;
|
||||
|
||||
|
||||
module triangleSupport() {
|
||||
|
||||
hull() {
|
||||
|
||||
translate(v=[0, h1-thickness, thickness-eps])
|
||||
cube(size=[thickness, thickness, eps]);
|
||||
|
||||
translate(v=[0, 0, h2-eps])
|
||||
cube(size=[thickness, thickness, eps]);
|
||||
|
||||
translate(v=[0, 0, 0])
|
||||
cube(size=[thickness, thickness, eps]);
|
||||
}
|
||||
}
|
||||
|
||||
union() {
|
||||
difference() {
|
||||
cube(size=[length, h1, h2]);
|
||||
|
||||
translate(v=[-eps,thickness, thickness])
|
||||
cube(size=[length+2*eps, h1+2*eps, h2+2*eps]);
|
||||
}
|
||||
|
||||
|
||||
for (i=[0:numSegments]) {
|
||||
translate(v=[((length-thickness)/numSegments)*i, 0,0])
|
||||
triangleSupport();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
*supportLBracket(35, 8, 8, 1.5);
|
||||
*mirroredBackPlateHoled();
|
||||
|
||||
translate(v=[10,-5,-1])
|
||||
rotate(a=[-90,0,0])
|
||||
*sfxPowerSupply();
|
||||
|
||||
@ -1,113 +0,0 @@
|
||||
/*
|
||||
// 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];
|
||||
|
||||
$fn=128;
|
||||
//
|
||||
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(slack) {
|
||||
cube(size=[20,20,20], center=true);
|
||||
|
||||
translate(v=[(20/2) + (10+slack)/2,0,0])
|
||||
cube(size=[10+slack,10+slack,10+slack], center=true);
|
||||
|
||||
}
|
||||
|
||||
*frameBar(-0.6);
|
||||
translate(v=[0,30,0])
|
||||
*frameBar(-0.7);
|
||||
translate(v=[0,60,0])
|
||||
*frameBar(-0.8);
|
||||
|
||||
|
||||
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() {
|
||||
|
||||
|
||||
}
|
||||
|
||||
cylinder(r1=8, r2=10, h=10);
|
||||
//old();
|
||||
@ -1,590 +0,0 @@
|
||||
solid OpenSCAD_Model
|
||||
facet normal 1 0 0
|
||||
outer loop
|
||||
vertex 10 10 10
|
||||
vertex 10 4.7 4.7
|
||||
vertex 10 10 -10
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 0 0
|
||||
outer loop
|
||||
vertex 10 10 10
|
||||
vertex 10 -4.7 4.7
|
||||
vertex 10 4.7 4.7
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 0 0
|
||||
outer loop
|
||||
vertex 10 -4.7 4.7
|
||||
vertex 10 -10 10
|
||||
vertex 10 -4.7 -4.7
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 -0 0
|
||||
outer loop
|
||||
vertex 10 -10 10
|
||||
vertex 10 -4.7 4.7
|
||||
vertex 10 10 10
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 -0 0
|
||||
outer loop
|
||||
vertex 10 4.7 -4.7
|
||||
vertex 10 10 -10
|
||||
vertex 10 4.7 4.7
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 -0 0
|
||||
outer loop
|
||||
vertex 10 -4.7 -4.7
|
||||
vertex 10 10 -10
|
||||
vertex 10 4.7 -4.7
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 0 0
|
||||
outer loop
|
||||
vertex 10 -4.7 -4.7
|
||||
vertex 10 -10 -10
|
||||
vertex 10 10 -10
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 0 0
|
||||
outer loop
|
||||
vertex 10 -10 -10
|
||||
vertex 10 -4.7 -4.7
|
||||
vertex 10 -10 10
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 1
|
||||
outer loop
|
||||
vertex -10 10 10
|
||||
vertex 10 -10 10
|
||||
vertex 10 10 10
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 10 -10 10
|
||||
vertex -10 10 10
|
||||
vertex -10 -10 10
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex -10 -10 -10
|
||||
vertex 10 10 -10
|
||||
vertex 10 -10 -10
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 -1
|
||||
outer loop
|
||||
vertex 10 10 -10
|
||||
vertex -10 -10 -10
|
||||
vertex -10 10 -10
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -1 0 0
|
||||
outer loop
|
||||
vertex -10 -10 -10
|
||||
vertex -10 10 10
|
||||
vertex -10 10 -10
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -1 -0 0
|
||||
outer loop
|
||||
vertex -10 10 10
|
||||
vertex -10 -10 -10
|
||||
vertex -10 -10 10
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 1 -0
|
||||
outer loop
|
||||
vertex 10 10 -10
|
||||
vertex -10 10 10
|
||||
vertex 10 10 10
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 1 0
|
||||
outer loop
|
||||
vertex -10 10 10
|
||||
vertex 10 10 -10
|
||||
vertex -10 10 -10
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 -1 0
|
||||
outer loop
|
||||
vertex -10 -10 -10
|
||||
vertex 10 -10 10
|
||||
vertex -10 -10 10
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 -1 -0
|
||||
outer loop
|
||||
vertex 10 -10 10
|
||||
vertex -10 -10 -10
|
||||
vertex 10 -10 -10
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 -0 0
|
||||
outer loop
|
||||
vertex 19.4 -4.7 4.7
|
||||
vertex 19.4 4.7 -4.7
|
||||
vertex 19.4 4.7 4.7
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 0 0
|
||||
outer loop
|
||||
vertex 19.4 4.7 -4.7
|
||||
vertex 19.4 -4.7 4.7
|
||||
vertex 19.4 -4.7 -4.7
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 1
|
||||
outer loop
|
||||
vertex 10 4.7 4.7
|
||||
vertex 19.4 -4.7 4.7
|
||||
vertex 19.4 4.7 4.7
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 19.4 -4.7 4.7
|
||||
vertex 10 4.7 4.7
|
||||
vertex 10 -4.7 4.7
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex 10 -4.7 -4.7
|
||||
vertex 19.4 4.7 -4.7
|
||||
vertex 19.4 -4.7 -4.7
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 -1
|
||||
outer loop
|
||||
vertex 19.4 4.7 -4.7
|
||||
vertex 10 -4.7 -4.7
|
||||
vertex 10 4.7 -4.7
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 1 -0
|
||||
outer loop
|
||||
vertex 19.4 4.7 -4.7
|
||||
vertex 10 4.7 4.7
|
||||
vertex 19.4 4.7 4.7
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 1 0
|
||||
outer loop
|
||||
vertex 10 4.7 4.7
|
||||
vertex 19.4 4.7 -4.7
|
||||
vertex 10 4.7 -4.7
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 -1 0
|
||||
outer loop
|
||||
vertex 10 -4.7 -4.7
|
||||
vertex 19.4 -4.7 4.7
|
||||
vertex 10 -4.7 4.7
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 -1 -0
|
||||
outer loop
|
||||
vertex 19.4 -4.7 4.7
|
||||
vertex 10 -4.7 -4.7
|
||||
vertex 19.4 -4.7 -4.7
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 0 0
|
||||
outer loop
|
||||
vertex 10 40 10
|
||||
vertex 10 34.65 4.65
|
||||
vertex 10 40 -10
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 0 0
|
||||
outer loop
|
||||
vertex 10 40 10
|
||||
vertex 10 25.35 4.65
|
||||
vertex 10 34.65 4.65
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 0 0
|
||||
outer loop
|
||||
vertex 10 25.35 4.65
|
||||
vertex 10 20 10
|
||||
vertex 10 25.35 -4.65
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 -0 0
|
||||
outer loop
|
||||
vertex 10 20 10
|
||||
vertex 10 25.35 4.65
|
||||
vertex 10 40 10
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 -0 0
|
||||
outer loop
|
||||
vertex 10 34.65 -4.65
|
||||
vertex 10 40 -10
|
||||
vertex 10 34.65 4.65
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 -0 0
|
||||
outer loop
|
||||
vertex 10 25.35 -4.65
|
||||
vertex 10 40 -10
|
||||
vertex 10 34.65 -4.65
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 0 0
|
||||
outer loop
|
||||
vertex 10 25.35 -4.65
|
||||
vertex 10 20 -10
|
||||
vertex 10 40 -10
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 0 0
|
||||
outer loop
|
||||
vertex 10 20 -10
|
||||
vertex 10 25.35 -4.65
|
||||
vertex 10 20 10
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 1
|
||||
outer loop
|
||||
vertex -10 40 10
|
||||
vertex 10 20 10
|
||||
vertex 10 40 10
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 10 20 10
|
||||
vertex -10 40 10
|
||||
vertex -10 20 10
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex -10 20 -10
|
||||
vertex 10 40 -10
|
||||
vertex 10 20 -10
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 -1
|
||||
outer loop
|
||||
vertex 10 40 -10
|
||||
vertex -10 20 -10
|
||||
vertex -10 40 -10
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -1 0 0
|
||||
outer loop
|
||||
vertex -10 20 -10
|
||||
vertex -10 40 10
|
||||
vertex -10 40 -10
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -1 -0 0
|
||||
outer loop
|
||||
vertex -10 40 10
|
||||
vertex -10 20 -10
|
||||
vertex -10 20 10
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 1 -0
|
||||
outer loop
|
||||
vertex 10 40 -10
|
||||
vertex -10 40 10
|
||||
vertex 10 40 10
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 1 0
|
||||
outer loop
|
||||
vertex -10 40 10
|
||||
vertex 10 40 -10
|
||||
vertex -10 40 -10
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 -1 0
|
||||
outer loop
|
||||
vertex -10 20 -10
|
||||
vertex 10 20 10
|
||||
vertex -10 20 10
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 -1 -0
|
||||
outer loop
|
||||
vertex 10 20 10
|
||||
vertex -10 20 -10
|
||||
vertex 10 20 -10
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 -0 0
|
||||
outer loop
|
||||
vertex 19.3 25.35 4.65
|
||||
vertex 19.3 34.65 -4.65
|
||||
vertex 19.3 34.65 4.65
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 0 0
|
||||
outer loop
|
||||
vertex 19.3 34.65 -4.65
|
||||
vertex 19.3 25.35 4.65
|
||||
vertex 19.3 25.35 -4.65
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 1
|
||||
outer loop
|
||||
vertex 10 34.65 4.65
|
||||
vertex 19.3 25.35 4.65
|
||||
vertex 19.3 34.65 4.65
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 19.3 25.35 4.65
|
||||
vertex 10 34.65 4.65
|
||||
vertex 10 25.35 4.65
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex 10 25.35 -4.65
|
||||
vertex 19.3 34.65 -4.65
|
||||
vertex 19.3 25.35 -4.65
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 -1
|
||||
outer loop
|
||||
vertex 19.3 34.65 -4.65
|
||||
vertex 10 25.35 -4.65
|
||||
vertex 10 34.65 -4.65
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 1 -0
|
||||
outer loop
|
||||
vertex 19.3 34.65 -4.65
|
||||
vertex 10 34.65 4.65
|
||||
vertex 19.3 34.65 4.65
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 1 0
|
||||
outer loop
|
||||
vertex 10 34.65 4.65
|
||||
vertex 19.3 34.65 -4.65
|
||||
vertex 10 34.65 -4.65
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 -1 0
|
||||
outer loop
|
||||
vertex 10 25.35 -4.65
|
||||
vertex 19.3 25.35 4.65
|
||||
vertex 10 25.35 4.65
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 -1 -0
|
||||
outer loop
|
||||
vertex 19.3 25.35 4.65
|
||||
vertex 10 25.35 -4.65
|
||||
vertex 19.3 25.35 -4.65
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 0 0
|
||||
outer loop
|
||||
vertex 10 70 10
|
||||
vertex 10 64.6 4.6
|
||||
vertex 10 70 -10
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 0 0
|
||||
outer loop
|
||||
vertex 10 70 10
|
||||
vertex 10 55.4 4.6
|
||||
vertex 10 64.6 4.6
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 0 0
|
||||
outer loop
|
||||
vertex 10 55.4 4.6
|
||||
vertex 10 50 10
|
||||
vertex 10 55.4 -4.6
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 -0 0
|
||||
outer loop
|
||||
vertex 10 50 10
|
||||
vertex 10 55.4 4.6
|
||||
vertex 10 70 10
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 -0 0
|
||||
outer loop
|
||||
vertex 10 64.6 -4.6
|
||||
vertex 10 70 -10
|
||||
vertex 10 64.6 4.6
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 -0 0
|
||||
outer loop
|
||||
vertex 10 55.4 -4.6
|
||||
vertex 10 70 -10
|
||||
vertex 10 64.6 -4.6
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 0 0
|
||||
outer loop
|
||||
vertex 10 55.4 -4.6
|
||||
vertex 10 50 -10
|
||||
vertex 10 70 -10
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 0 0
|
||||
outer loop
|
||||
vertex 10 50 -10
|
||||
vertex 10 55.4 -4.6
|
||||
vertex 10 50 10
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 1
|
||||
outer loop
|
||||
vertex -10 70 10
|
||||
vertex 10 50 10
|
||||
vertex 10 70 10
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 10 50 10
|
||||
vertex -10 70 10
|
||||
vertex -10 50 10
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex -10 50 -10
|
||||
vertex 10 70 -10
|
||||
vertex 10 50 -10
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 -1
|
||||
outer loop
|
||||
vertex 10 70 -10
|
||||
vertex -10 50 -10
|
||||
vertex -10 70 -10
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -1 0 0
|
||||
outer loop
|
||||
vertex -10 50 -10
|
||||
vertex -10 70 10
|
||||
vertex -10 70 -10
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -1 -0 0
|
||||
outer loop
|
||||
vertex -10 70 10
|
||||
vertex -10 50 -10
|
||||
vertex -10 50 10
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 1 -0
|
||||
outer loop
|
||||
vertex 10 70 -10
|
||||
vertex -10 70 10
|
||||
vertex 10 70 10
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 1 0
|
||||
outer loop
|
||||
vertex -10 70 10
|
||||
vertex 10 70 -10
|
||||
vertex -10 70 -10
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 -1 0
|
||||
outer loop
|
||||
vertex -10 50 -10
|
||||
vertex 10 50 10
|
||||
vertex -10 50 10
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 -1 -0
|
||||
outer loop
|
||||
vertex 10 50 10
|
||||
vertex -10 50 -10
|
||||
vertex 10 50 -10
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 -0 0
|
||||
outer loop
|
||||
vertex 19.2 55.4 4.6
|
||||
vertex 19.2 64.6 -4.6
|
||||
vertex 19.2 64.6 4.6
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 0 0
|
||||
outer loop
|
||||
vertex 19.2 64.6 -4.6
|
||||
vertex 19.2 55.4 4.6
|
||||
vertex 19.2 55.4 -4.6
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 1
|
||||
outer loop
|
||||
vertex 10 64.6 4.6
|
||||
vertex 19.2 55.4 4.6
|
||||
vertex 19.2 64.6 4.6
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 19.2 55.4 4.6
|
||||
vertex 10 64.6 4.6
|
||||
vertex 10 55.4 4.6
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex 10 55.4 -4.6
|
||||
vertex 19.2 64.6 -4.6
|
||||
vertex 19.2 55.4 -4.6
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 -1
|
||||
outer loop
|
||||
vertex 19.2 64.6 -4.6
|
||||
vertex 10 55.4 -4.6
|
||||
vertex 10 64.6 -4.6
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 1 -0
|
||||
outer loop
|
||||
vertex 19.2 64.6 -4.6
|
||||
vertex 10 64.6 4.6
|
||||
vertex 19.2 64.6 4.6
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 1 0
|
||||
outer loop
|
||||
vertex 10 64.6 4.6
|
||||
vertex 19.2 64.6 -4.6
|
||||
vertex 10 64.6 -4.6
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 -1 0
|
||||
outer loop
|
||||
vertex 10 55.4 -4.6
|
||||
vertex 19.2 55.4 4.6
|
||||
vertex 10 55.4 4.6
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 -1 -0
|
||||
outer loop
|
||||
vertex 19.2 55.4 4.6
|
||||
vertex 10 55.4 -4.6
|
||||
vertex 19.2 55.4 -4.6
|
||||
endloop
|
||||
endfacet
|
||||
endsolid OpenSCAD_Model
|
||||
@ -1,590 +0,0 @@
|
||||
solid OpenSCAD_Model
|
||||
facet normal 1 0 0
|
||||
outer loop
|
||||
vertex 5 5 5
|
||||
vertex 5 2.25 2.25
|
||||
vertex 5 5 -5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 0 0
|
||||
outer loop
|
||||
vertex 5 5 5
|
||||
vertex 5 -2.25 2.25
|
||||
vertex 5 2.25 2.25
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 0 0
|
||||
outer loop
|
||||
vertex 5 -2.25 2.25
|
||||
vertex 5 -5 5
|
||||
vertex 5 -2.25 -2.25
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 -0 0
|
||||
outer loop
|
||||
vertex 5 -5 5
|
||||
vertex 5 -2.25 2.25
|
||||
vertex 5 5 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 -0 0
|
||||
outer loop
|
||||
vertex 5 2.25 -2.25
|
||||
vertex 5 5 -5
|
||||
vertex 5 2.25 2.25
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 -0 0
|
||||
outer loop
|
||||
vertex 5 -2.25 -2.25
|
||||
vertex 5 5 -5
|
||||
vertex 5 2.25 -2.25
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 0 0
|
||||
outer loop
|
||||
vertex 5 -2.25 -2.25
|
||||
vertex 5 -5 -5
|
||||
vertex 5 5 -5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 0 0
|
||||
outer loop
|
||||
vertex 5 -5 -5
|
||||
vertex 5 -2.25 -2.25
|
||||
vertex 5 -5 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 1
|
||||
outer loop
|
||||
vertex -5 5 5
|
||||
vertex 5 -5 5
|
||||
vertex 5 5 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 5 -5 5
|
||||
vertex -5 5 5
|
||||
vertex -5 -5 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex -5 -5 -5
|
||||
vertex 5 5 -5
|
||||
vertex 5 -5 -5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 -1
|
||||
outer loop
|
||||
vertex 5 5 -5
|
||||
vertex -5 -5 -5
|
||||
vertex -5 5 -5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -1 0 0
|
||||
outer loop
|
||||
vertex -5 -5 -5
|
||||
vertex -5 5 5
|
||||
vertex -5 5 -5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -1 -0 0
|
||||
outer loop
|
||||
vertex -5 5 5
|
||||
vertex -5 -5 -5
|
||||
vertex -5 -5 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 1 -0
|
||||
outer loop
|
||||
vertex 5 5 -5
|
||||
vertex -5 5 5
|
||||
vertex 5 5 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 1 0
|
||||
outer loop
|
||||
vertex -5 5 5
|
||||
vertex 5 5 -5
|
||||
vertex -5 5 -5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 -1 0
|
||||
outer loop
|
||||
vertex -5 -5 -5
|
||||
vertex 5 -5 5
|
||||
vertex -5 -5 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 -1 -0
|
||||
outer loop
|
||||
vertex 5 -5 5
|
||||
vertex -5 -5 -5
|
||||
vertex 5 -5 -5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 -0 0
|
||||
outer loop
|
||||
vertex 9.5 -2.25 2.25
|
||||
vertex 9.5 2.25 -2.25
|
||||
vertex 9.5 2.25 2.25
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 0 0
|
||||
outer loop
|
||||
vertex 9.5 2.25 -2.25
|
||||
vertex 9.5 -2.25 2.25
|
||||
vertex 9.5 -2.25 -2.25
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 1
|
||||
outer loop
|
||||
vertex 5 2.25 2.25
|
||||
vertex 9.5 -2.25 2.25
|
||||
vertex 9.5 2.25 2.25
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 9.5 -2.25 2.25
|
||||
vertex 5 2.25 2.25
|
||||
vertex 5 -2.25 2.25
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex 5 -2.25 -2.25
|
||||
vertex 9.5 2.25 -2.25
|
||||
vertex 9.5 -2.25 -2.25
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 -1
|
||||
outer loop
|
||||
vertex 9.5 2.25 -2.25
|
||||
vertex 5 -2.25 -2.25
|
||||
vertex 5 2.25 -2.25
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 1 -0
|
||||
outer loop
|
||||
vertex 9.5 2.25 -2.25
|
||||
vertex 5 2.25 2.25
|
||||
vertex 9.5 2.25 2.25
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 1 0
|
||||
outer loop
|
||||
vertex 5 2.25 2.25
|
||||
vertex 9.5 2.25 -2.25
|
||||
vertex 5 2.25 -2.25
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 -1 0
|
||||
outer loop
|
||||
vertex 5 -2.25 -2.25
|
||||
vertex 9.5 -2.25 2.25
|
||||
vertex 5 -2.25 2.25
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 -1 -0
|
||||
outer loop
|
||||
vertex 9.5 -2.25 2.25
|
||||
vertex 5 -2.25 -2.25
|
||||
vertex 9.5 -2.25 -2.25
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 0 0
|
||||
outer loop
|
||||
vertex 5 20 5
|
||||
vertex 5 17.375 2.375
|
||||
vertex 5 20 -5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 0 0
|
||||
outer loop
|
||||
vertex 5 20 5
|
||||
vertex 5 12.625 2.375
|
||||
vertex 5 17.375 2.375
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 0 0
|
||||
outer loop
|
||||
vertex 5 12.625 2.375
|
||||
vertex 5 10 5
|
||||
vertex 5 12.625 -2.375
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 -0 0
|
||||
outer loop
|
||||
vertex 5 10 5
|
||||
vertex 5 12.625 2.375
|
||||
vertex 5 20 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 -0 0
|
||||
outer loop
|
||||
vertex 5 17.375 -2.375
|
||||
vertex 5 20 -5
|
||||
vertex 5 17.375 2.375
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 -0 0
|
||||
outer loop
|
||||
vertex 5 12.625 -2.375
|
||||
vertex 5 20 -5
|
||||
vertex 5 17.375 -2.375
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 0 0
|
||||
outer loop
|
||||
vertex 5 12.625 -2.375
|
||||
vertex 5 10 -5
|
||||
vertex 5 20 -5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 0 0
|
||||
outer loop
|
||||
vertex 5 10 -5
|
||||
vertex 5 12.625 -2.375
|
||||
vertex 5 10 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 1
|
||||
outer loop
|
||||
vertex -5 20 5
|
||||
vertex 5 10 5
|
||||
vertex 5 20 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 5 10 5
|
||||
vertex -5 20 5
|
||||
vertex -5 10 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex -5 10 -5
|
||||
vertex 5 20 -5
|
||||
vertex 5 10 -5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 -1
|
||||
outer loop
|
||||
vertex 5 20 -5
|
||||
vertex -5 10 -5
|
||||
vertex -5 20 -5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -1 0 0
|
||||
outer loop
|
||||
vertex -5 10 -5
|
||||
vertex -5 20 5
|
||||
vertex -5 20 -5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -1 -0 0
|
||||
outer loop
|
||||
vertex -5 20 5
|
||||
vertex -5 10 -5
|
||||
vertex -5 10 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 1 -0
|
||||
outer loop
|
||||
vertex 5 20 -5
|
||||
vertex -5 20 5
|
||||
vertex 5 20 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 1 0
|
||||
outer loop
|
||||
vertex -5 20 5
|
||||
vertex 5 20 -5
|
||||
vertex -5 20 -5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 -1 0
|
||||
outer loop
|
||||
vertex -5 10 -5
|
||||
vertex 5 10 5
|
||||
vertex -5 10 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 -1 -0
|
||||
outer loop
|
||||
vertex 5 10 5
|
||||
vertex -5 10 -5
|
||||
vertex 5 10 -5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 -0 0
|
||||
outer loop
|
||||
vertex 9.75 12.625 2.375
|
||||
vertex 9.75 17.375 -2.375
|
||||
vertex 9.75 17.375 2.375
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 0 0
|
||||
outer loop
|
||||
vertex 9.75 17.375 -2.375
|
||||
vertex 9.75 12.625 2.375
|
||||
vertex 9.75 12.625 -2.375
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 1
|
||||
outer loop
|
||||
vertex 5 17.375 2.375
|
||||
vertex 9.75 12.625 2.375
|
||||
vertex 9.75 17.375 2.375
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 9.75 12.625 2.375
|
||||
vertex 5 17.375 2.375
|
||||
vertex 5 12.625 2.375
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex 5 12.625 -2.375
|
||||
vertex 9.75 17.375 -2.375
|
||||
vertex 9.75 12.625 -2.375
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 -1
|
||||
outer loop
|
||||
vertex 9.75 17.375 -2.375
|
||||
vertex 5 12.625 -2.375
|
||||
vertex 5 17.375 -2.375
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 1 -0
|
||||
outer loop
|
||||
vertex 9.75 17.375 -2.375
|
||||
vertex 5 17.375 2.375
|
||||
vertex 9.75 17.375 2.375
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 1 0
|
||||
outer loop
|
||||
vertex 5 17.375 2.375
|
||||
vertex 9.75 17.375 -2.375
|
||||
vertex 5 17.375 -2.375
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 -1 0
|
||||
outer loop
|
||||
vertex 5 12.625 -2.375
|
||||
vertex 9.75 12.625 2.375
|
||||
vertex 5 12.625 2.375
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 -1 -0
|
||||
outer loop
|
||||
vertex 9.75 12.625 2.375
|
||||
vertex 5 12.625 -2.375
|
||||
vertex 9.75 12.625 -2.375
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 0 0
|
||||
outer loop
|
||||
vertex 5 35 5
|
||||
vertex 5 32.45 2.45
|
||||
vertex 5 35 -5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 0 0
|
||||
outer loop
|
||||
vertex 5 35 5
|
||||
vertex 5 27.55 2.45
|
||||
vertex 5 32.45 2.45
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 0 0
|
||||
outer loop
|
||||
vertex 5 27.55 2.45
|
||||
vertex 5 25 5
|
||||
vertex 5 27.55 -2.45
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 -0 0
|
||||
outer loop
|
||||
vertex 5 25 5
|
||||
vertex 5 27.55 2.45
|
||||
vertex 5 35 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 -0 0
|
||||
outer loop
|
||||
vertex 5 32.45 -2.45
|
||||
vertex 5 35 -5
|
||||
vertex 5 32.45 2.45
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 -0 0
|
||||
outer loop
|
||||
vertex 5 27.55 -2.45
|
||||
vertex 5 35 -5
|
||||
vertex 5 32.45 -2.45
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 0 0
|
||||
outer loop
|
||||
vertex 5 27.55 -2.45
|
||||
vertex 5 25 -5
|
||||
vertex 5 35 -5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 0 0
|
||||
outer loop
|
||||
vertex 5 25 -5
|
||||
vertex 5 27.55 -2.45
|
||||
vertex 5 25 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 1
|
||||
outer loop
|
||||
vertex -5 35 5
|
||||
vertex 5 25 5
|
||||
vertex 5 35 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 5 25 5
|
||||
vertex -5 35 5
|
||||
vertex -5 25 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex -5 25 -5
|
||||
vertex 5 35 -5
|
||||
vertex 5 25 -5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 -1
|
||||
outer loop
|
||||
vertex 5 35 -5
|
||||
vertex -5 25 -5
|
||||
vertex -5 35 -5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -1 0 0
|
||||
outer loop
|
||||
vertex -5 25 -5
|
||||
vertex -5 35 5
|
||||
vertex -5 35 -5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -1 -0 0
|
||||
outer loop
|
||||
vertex -5 35 5
|
||||
vertex -5 25 -5
|
||||
vertex -5 25 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 1 -0
|
||||
outer loop
|
||||
vertex 5 35 -5
|
||||
vertex -5 35 5
|
||||
vertex 5 35 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 1 0
|
||||
outer loop
|
||||
vertex -5 35 5
|
||||
vertex 5 35 -5
|
||||
vertex -5 35 -5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 -1 0
|
||||
outer loop
|
||||
vertex -5 25 -5
|
||||
vertex 5 25 5
|
||||
vertex -5 25 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 -1 -0
|
||||
outer loop
|
||||
vertex 5 25 5
|
||||
vertex -5 25 -5
|
||||
vertex 5 25 -5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 -0 0
|
||||
outer loop
|
||||
vertex 9.9 27.55 2.45
|
||||
vertex 9.9 32.45 -2.45
|
||||
vertex 9.9 32.45 2.45
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 0 0
|
||||
outer loop
|
||||
vertex 9.9 32.45 -2.45
|
||||
vertex 9.9 27.55 2.45
|
||||
vertex 9.9 27.55 -2.45
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 1
|
||||
outer loop
|
||||
vertex 5 32.45 2.45
|
||||
vertex 9.9 27.55 2.45
|
||||
vertex 9.9 32.45 2.45
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 9.9 27.55 2.45
|
||||
vertex 5 32.45 2.45
|
||||
vertex 5 27.55 2.45
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex 5 27.55 -2.45
|
||||
vertex 9.9 32.45 -2.45
|
||||
vertex 9.9 27.55 -2.45
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 -1
|
||||
outer loop
|
||||
vertex 9.9 32.45 -2.45
|
||||
vertex 5 27.55 -2.45
|
||||
vertex 5 32.45 -2.45
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 1 -0
|
||||
outer loop
|
||||
vertex 9.9 32.45 -2.45
|
||||
vertex 5 32.45 2.45
|
||||
vertex 9.9 32.45 2.45
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 1 0
|
||||
outer loop
|
||||
vertex 5 32.45 2.45
|
||||
vertex 9.9 32.45 -2.45
|
||||
vertex 5 32.45 -2.45
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 -1 0
|
||||
outer loop
|
||||
vertex 5 27.55 -2.45
|
||||
vertex 9.9 27.55 2.45
|
||||
vertex 5 27.55 2.45
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 -1 -0
|
||||
outer loop
|
||||
vertex 9.9 27.55 2.45
|
||||
vertex 5 27.55 -2.45
|
||||
vertex 9.9 27.55 -2.45
|
||||
endloop
|
||||
endfacet
|
||||
endsolid OpenSCAD_Model
|
||||
@ -1,758 +0,0 @@
|
||||
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
|
||||
@ -1,198 +0,0 @@
|
||||
solid OpenSCAD_Model
|
||||
facet normal -1 0 0
|
||||
outer loop
|
||||
vertex 10 2.71355 -10
|
||||
vertex 10 4.5 10
|
||||
vertex 10 4.5 -10
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -1 -0 0
|
||||
outer loop
|
||||
vertex 10 4.5 10
|
||||
vertex 10 2.71355 -10
|
||||
vertex 10 2.71355 10
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -1 0 0
|
||||
outer loop
|
||||
vertex 10 -4.5 -10
|
||||
vertex 10 -2.71355 10
|
||||
vertex 10 -2.71355 -10
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -1 -0 0
|
||||
outer loop
|
||||
vertex 10 -2.71355 10
|
||||
vertex 10 -4.5 -10
|
||||
vertex 10 -4.5 10
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 7.65 4.07032 10
|
||||
vertex 10 -2.71355 10
|
||||
vertex 10 2.71355 10
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 10 -2.71355 10
|
||||
vertex 7.65 4.07032 10
|
||||
vertex 7.65 -4.07032 10
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 10 2.71355 10
|
||||
vertex 14.5 4.5 10
|
||||
vertex 10 4.5 10
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 14.5 4.5 10
|
||||
vertex 10 2.71355 10
|
||||
vertex 14.5 -4.5 10
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 1
|
||||
outer loop
|
||||
vertex 10 -2.71355 10
|
||||
vertex 14.5 -4.5 10
|
||||
vertex 10 2.71355 10
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 14.5 -4.5 10
|
||||
vertex 10 -2.71355 10
|
||||
vertex 10 -4.5 10
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex 7.65 -4.07032 -10
|
||||
vertex 10 2.71355 -10
|
||||
vertex 10 -2.71355 -10
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 -1
|
||||
outer loop
|
||||
vertex 10 2.71355 -10
|
||||
vertex 7.65 -4.07032 -10
|
||||
vertex 7.65 4.07032 -10
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex 10 -2.71355 -10
|
||||
vertex 14.5 -4.5 -10
|
||||
vertex 10 -4.5 -10
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex 14.5 -4.5 -10
|
||||
vertex 10 -2.71355 -10
|
||||
vertex 14.5 4.5 -10
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex 10 2.71355 -10
|
||||
vertex 14.5 4.5 -10
|
||||
vertex 10 -2.71355 -10
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 -1
|
||||
outer loop
|
||||
vertex 14.5 4.5 -10
|
||||
vertex 10 2.71355 -10
|
||||
vertex 10 4.5 -10
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -1 0 0
|
||||
outer loop
|
||||
vertex 7.65 -4.07032 -10
|
||||
vertex 7.65 4.07032 10
|
||||
vertex 7.65 4.07032 -10
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -1 -0 0
|
||||
outer loop
|
||||
vertex 7.65 4.07032 10
|
||||
vertex 7.65 -4.07032 -10
|
||||
vertex 7.65 -4.07032 10
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.499999 0.866026 -0
|
||||
outer loop
|
||||
vertex 10 2.71355 -10
|
||||
vertex 7.65 4.07032 10
|
||||
vertex 10 2.71355 10
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.499999 0.866026 0
|
||||
outer loop
|
||||
vertex 7.65 4.07032 10
|
||||
vertex 10 2.71355 -10
|
||||
vertex 7.65 4.07032 -10
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.499999 -0.866026 0
|
||||
outer loop
|
||||
vertex 7.65 -4.07032 -10
|
||||
vertex 10 -2.71355 10
|
||||
vertex 7.65 -4.07032 10
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.499999 -0.866026 0
|
||||
outer loop
|
||||
vertex 10 -2.71355 10
|
||||
vertex 7.65 -4.07032 -10
|
||||
vertex 10 -2.71355 -10
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 -0 0
|
||||
outer loop
|
||||
vertex 14.5 -4.5 10
|
||||
vertex 14.5 4.5 -10
|
||||
vertex 14.5 4.5 10
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 0 0
|
||||
outer loop
|
||||
vertex 14.5 4.5 -10
|
||||
vertex 14.5 -4.5 10
|
||||
vertex 14.5 -4.5 -10
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 1 -0
|
||||
outer loop
|
||||
vertex 14.5 4.5 -10
|
||||
vertex 10 4.5 10
|
||||
vertex 14.5 4.5 10
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 1 0
|
||||
outer loop
|
||||
vertex 10 4.5 10
|
||||
vertex 14.5 4.5 -10
|
||||
vertex 10 4.5 -10
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 -1 0
|
||||
outer loop
|
||||
vertex 10 -4.5 -10
|
||||
vertex 14.5 -4.5 10
|
||||
vertex 10 -4.5 10
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 -1 -0
|
||||
outer loop
|
||||
vertex 14.5 -4.5 10
|
||||
vertex 10 -4.5 -10
|
||||
vertex 14.5 -4.5 -10
|
||||
endloop
|
||||
endfacet
|
||||
endsolid OpenSCAD_Model
|
||||
@ -1,282 +0,0 @@
|
||||
solid OpenSCAD_Model
|
||||
facet normal 1 0 0
|
||||
outer loop
|
||||
vertex 50 0 0
|
||||
vertex 50 8 2
|
||||
vertex 50 2 10
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 0 0
|
||||
outer loop
|
||||
vertex 50 0 0
|
||||
vertex 50 2 10
|
||||
vertex 50 0 10
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 0 0
|
||||
outer loop
|
||||
vertex 50 8 2
|
||||
vertex 50 0 0
|
||||
vertex 50 8 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 1
|
||||
outer loop
|
||||
vertex 48 2 10
|
||||
vertex 50 0 10
|
||||
vertex 50 2 10
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 1
|
||||
outer loop
|
||||
vertex 26 2 10
|
||||
vertex 50 0 10
|
||||
vertex 48 2 10
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 1
|
||||
outer loop
|
||||
vertex 24 2 10
|
||||
vertex 50 0 10
|
||||
vertex 26 2 10
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 0 0 10
|
||||
vertex 24 2 10
|
||||
vertex 2 2 10
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 0 0 10
|
||||
vertex 2 2 10
|
||||
vertex 0 2 10
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 24 2 10
|
||||
vertex 0 0 10
|
||||
vertex 50 0 10
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex 0 0 0
|
||||
vertex 50 8 0
|
||||
vertex 50 0 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 -1
|
||||
outer loop
|
||||
vertex 50 8 0
|
||||
vertex 0 0 0
|
||||
vertex 0 8 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -1 0 0
|
||||
outer loop
|
||||
vertex 0 0 0
|
||||
vertex 0 8 2
|
||||
vertex 0 8 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -1 -0 0
|
||||
outer loop
|
||||
vertex 0 8 2
|
||||
vertex 0 0 0
|
||||
vertex 0 2 10
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -1 -0 0
|
||||
outer loop
|
||||
vertex 0 2 10
|
||||
vertex 0 0 0
|
||||
vertex 0 0 10
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 1 -0
|
||||
outer loop
|
||||
vertex 50 8 0
|
||||
vertex 48 8 2
|
||||
vertex 50 8 2
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 1 0
|
||||
outer loop
|
||||
vertex 48 8 2
|
||||
vertex 50 8 0
|
||||
vertex 26 8 2
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 1 0
|
||||
outer loop
|
||||
vertex 26 8 2
|
||||
vertex 50 8 0
|
||||
vertex 24 8 2
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 1 0
|
||||
outer loop
|
||||
vertex 0 8 0
|
||||
vertex 24 8 2
|
||||
vertex 50 8 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 1 0
|
||||
outer loop
|
||||
vertex 24 8 2
|
||||
vertex 0 8 0
|
||||
vertex 2 8 2
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 1 0
|
||||
outer loop
|
||||
vertex 2 8 2
|
||||
vertex 0 8 0
|
||||
vertex 0 8 2
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 -1 0
|
||||
outer loop
|
||||
vertex 0 0 0
|
||||
vertex 50 0 10
|
||||
vertex 0 0 10
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 -1 -0
|
||||
outer loop
|
||||
vertex 50 0 10
|
||||
vertex 0 0 0
|
||||
vertex 50 0 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 1
|
||||
outer loop
|
||||
vertex 26 8 2
|
||||
vertex 48 2 2
|
||||
vertex 48 8 2
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 48 2 2
|
||||
vertex 26 8 2
|
||||
vertex 26 2 2
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 1
|
||||
outer loop
|
||||
vertex 2 8 2
|
||||
vertex 24 2 2
|
||||
vertex 24 8 2
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 24 2 2
|
||||
vertex 2 8 2
|
||||
vertex 2 2 2
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 1 -0
|
||||
outer loop
|
||||
vertex 48 2 2
|
||||
vertex 26 2 10
|
||||
vertex 48 2 10
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 1 0
|
||||
outer loop
|
||||
vertex 26 2 10
|
||||
vertex 48 2 2
|
||||
vertex 26 2 2
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 1 -0
|
||||
outer loop
|
||||
vertex 24 2 2
|
||||
vertex 2 2 10
|
||||
vertex 24 2 10
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 1 0
|
||||
outer loop
|
||||
vertex 2 2 10
|
||||
vertex 24 2 2
|
||||
vertex 2 2 2
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0.8 0.6
|
||||
outer loop
|
||||
vertex 2 8 2
|
||||
vertex 0 2 10
|
||||
vertex 2 2 10
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0.8 0.6
|
||||
outer loop
|
||||
vertex 0 2 10
|
||||
vertex 2 8 2
|
||||
vertex 0 8 2
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 0 0
|
||||
outer loop
|
||||
vertex 2 2 10
|
||||
vertex 2 2 2
|
||||
vertex 2 8 2
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0.8 0.6
|
||||
outer loop
|
||||
vertex 26 8 2
|
||||
vertex 24 2 10
|
||||
vertex 26 2 10
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0.8 0.6
|
||||
outer loop
|
||||
vertex 24 2 10
|
||||
vertex 26 8 2
|
||||
vertex 24 8 2
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -1 0 0
|
||||
outer loop
|
||||
vertex 24 8 2
|
||||
vertex 24 2 2
|
||||
vertex 24 2 10
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 0 0
|
||||
outer loop
|
||||
vertex 26 2 10
|
||||
vertex 26 2 2
|
||||
vertex 26 8 2
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0.8 0.6
|
||||
outer loop
|
||||
vertex 50 8 2
|
||||
vertex 48 2 10
|
||||
vertex 50 2 10
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0.8 0.6
|
||||
outer loop
|
||||
vertex 48 2 10
|
||||
vertex 50 8 2
|
||||
vertex 48 8 2
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -1 0 0
|
||||
outer loop
|
||||
vertex 48 8 2
|
||||
vertex 48 2 2
|
||||
vertex 48 2 10
|
||||
endloop
|
||||
endfacet
|
||||
endsolid OpenSCAD_Model
|
||||
@ -1,282 +0,0 @@
|
||||
solid OpenSCAD_Model
|
||||
facet normal 1 0 0
|
||||
outer loop
|
||||
vertex 35 0 0
|
||||
vertex 35 8 1.5
|
||||
vertex 35 1.5 8
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 0 0
|
||||
outer loop
|
||||
vertex 35 0 0
|
||||
vertex 35 1.5 8
|
||||
vertex 35 0 8
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 0 0
|
||||
outer loop
|
||||
vertex 35 8 1.5
|
||||
vertex 35 0 0
|
||||
vertex 35 8 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 1
|
||||
outer loop
|
||||
vertex 33.5 1.5 8
|
||||
vertex 35 0 8
|
||||
vertex 35 1.5 8
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 1
|
||||
outer loop
|
||||
vertex 18.25 1.5 8
|
||||
vertex 35 0 8
|
||||
vertex 33.5 1.5 8
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 1
|
||||
outer loop
|
||||
vertex 16.75 1.5 8
|
||||
vertex 35 0 8
|
||||
vertex 18.25 1.5 8
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 0 0 8
|
||||
vertex 16.75 1.5 8
|
||||
vertex 1.5 1.5 8
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 0 0 8
|
||||
vertex 1.5 1.5 8
|
||||
vertex 0 1.5 8
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 16.75 1.5 8
|
||||
vertex 0 0 8
|
||||
vertex 35 0 8
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex 0 0 0
|
||||
vertex 35 8 0
|
||||
vertex 35 0 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 -1
|
||||
outer loop
|
||||
vertex 35 8 0
|
||||
vertex 0 0 0
|
||||
vertex 0 8 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -1 0 0
|
||||
outer loop
|
||||
vertex 0 0 0
|
||||
vertex 0 8 1.5
|
||||
vertex 0 8 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -1 -0 0
|
||||
outer loop
|
||||
vertex 0 8 1.5
|
||||
vertex 0 0 0
|
||||
vertex 0 1.5 8
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -1 -0 0
|
||||
outer loop
|
||||
vertex 0 1.5 8
|
||||
vertex 0 0 0
|
||||
vertex 0 0 8
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 1 -0
|
||||
outer loop
|
||||
vertex 35 8 0
|
||||
vertex 33.5 8 1.5
|
||||
vertex 35 8 1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 1 0
|
||||
outer loop
|
||||
vertex 33.5 8 1.5
|
||||
vertex 35 8 0
|
||||
vertex 18.25 8 1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 1 0
|
||||
outer loop
|
||||
vertex 18.25 8 1.5
|
||||
vertex 35 8 0
|
||||
vertex 16.75 8 1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 1 0
|
||||
outer loop
|
||||
vertex 0 8 0
|
||||
vertex 16.75 8 1.5
|
||||
vertex 35 8 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 1 0
|
||||
outer loop
|
||||
vertex 16.75 8 1.5
|
||||
vertex 0 8 0
|
||||
vertex 1.5 8 1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 1 0
|
||||
outer loop
|
||||
vertex 1.5 8 1.5
|
||||
vertex 0 8 0
|
||||
vertex 0 8 1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 -1 0
|
||||
outer loop
|
||||
vertex 0 0 0
|
||||
vertex 35 0 8
|
||||
vertex 0 0 8
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 -1 -0
|
||||
outer loop
|
||||
vertex 35 0 8
|
||||
vertex 0 0 0
|
||||
vertex 35 0 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 1
|
||||
outer loop
|
||||
vertex 18.25 8 1.5
|
||||
vertex 33.5 1.5 1.5
|
||||
vertex 33.5 8 1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 33.5 1.5 1.5
|
||||
vertex 18.25 8 1.5
|
||||
vertex 18.25 1.5 1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 1
|
||||
outer loop
|
||||
vertex 1.5 8 1.5
|
||||
vertex 16.75 1.5 1.5
|
||||
vertex 16.75 8 1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 16.75 1.5 1.5
|
||||
vertex 1.5 8 1.5
|
||||
vertex 1.5 1.5 1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 1 -0
|
||||
outer loop
|
||||
vertex 33.5 1.5 1.5
|
||||
vertex 18.25 1.5 8
|
||||
vertex 33.5 1.5 8
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 1 0
|
||||
outer loop
|
||||
vertex 18.25 1.5 8
|
||||
vertex 33.5 1.5 1.5
|
||||
vertex 18.25 1.5 1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 1 -0
|
||||
outer loop
|
||||
vertex 16.75 1.5 1.5
|
||||
vertex 1.5 1.5 8
|
||||
vertex 16.75 1.5 8
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 1 0
|
||||
outer loop
|
||||
vertex 1.5 1.5 8
|
||||
vertex 16.75 1.5 1.5
|
||||
vertex 1.5 1.5 1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0.707107 0.707107
|
||||
outer loop
|
||||
vertex 1.5 8 1.5
|
||||
vertex 0 1.5 8
|
||||
vertex 1.5 1.5 8
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0.707107 0.707107
|
||||
outer loop
|
||||
vertex 0 1.5 8
|
||||
vertex 1.5 8 1.5
|
||||
vertex 0 8 1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 0 0
|
||||
outer loop
|
||||
vertex 1.5 1.5 8
|
||||
vertex 1.5 1.5 1.5
|
||||
vertex 1.5 8 1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0.707107 0.707107
|
||||
outer loop
|
||||
vertex 18.25 8 1.5
|
||||
vertex 16.75 1.5 8
|
||||
vertex 18.25 1.5 8
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0.707107 0.707107
|
||||
outer loop
|
||||
vertex 16.75 1.5 8
|
||||
vertex 18.25 8 1.5
|
||||
vertex 16.75 8 1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 0 0
|
||||
outer loop
|
||||
vertex 18.25 1.5 8
|
||||
vertex 18.25 1.5 1.5
|
||||
vertex 18.25 8 1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -1 0 0
|
||||
outer loop
|
||||
vertex 16.75 8 1.5
|
||||
vertex 16.75 1.5 1.5
|
||||
vertex 16.75 1.5 8
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0.707107 0.707107
|
||||
outer loop
|
||||
vertex 35 8 1.5
|
||||
vertex 33.5 1.5 8
|
||||
vertex 35 1.5 8
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0.707107 0.707107
|
||||
outer loop
|
||||
vertex 33.5 1.5 8
|
||||
vertex 35 8 1.5
|
||||
vertex 33.5 8 1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -1 0 0
|
||||
outer loop
|
||||
vertex 33.5 8 1.5
|
||||
vertex 33.5 1.5 1.5
|
||||
vertex 33.5 1.5 8
|
||||
endloop
|
||||
endfacet
|
||||
endsolid OpenSCAD_Model
|
||||
51214
old/power/stl/top.stl
@ -1,198 +0,0 @@
|
||||
solid OpenSCAD_Model
|
||||
facet normal 1 -0 0
|
||||
outer loop
|
||||
vertex 10 -10 0
|
||||
vertex 10 10 -10
|
||||
vertex 10 10 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 0 0
|
||||
outer loop
|
||||
vertex 10 10 -10
|
||||
vertex 10 -10 0
|
||||
vertex 10 -10 -10
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex 10 -10 -10
|
||||
vertex 4.7 -4.7 -10
|
||||
vertex 10 10 -10
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex 10 -10 -10
|
||||
vertex -4.7 -4.7 -10
|
||||
vertex 4.7 -4.7 -10
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 -1
|
||||
outer loop
|
||||
vertex -4.7 -4.7 -10
|
||||
vertex -10 -10 -10
|
||||
vertex -4.7 4.7 -10
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex -10 -10 -10
|
||||
vertex -4.7 -4.7 -10
|
||||
vertex 10 -10 -10
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex 4.7 4.7 -10
|
||||
vertex 10 10 -10
|
||||
vertex 4.7 -4.7 -10
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex -4.7 4.7 -10
|
||||
vertex 10 10 -10
|
||||
vertex 4.7 4.7 -10
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex -4.7 4.7 -10
|
||||
vertex -10 10 -10
|
||||
vertex 10 10 -10
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex -10 10 -10
|
||||
vertex -4.7 4.7 -10
|
||||
vertex -10 -10 -10
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 1
|
||||
outer loop
|
||||
vertex -10 10 0
|
||||
vertex 10 -10 0
|
||||
vertex 10 10 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 10 -10 0
|
||||
vertex -10 10 0
|
||||
vertex -10 -10 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -1 0 0
|
||||
outer loop
|
||||
vertex -10 -10 -10
|
||||
vertex -10 10 0
|
||||
vertex -10 10 -10
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -1 -0 0
|
||||
outer loop
|
||||
vertex -10 10 0
|
||||
vertex -10 -10 -10
|
||||
vertex -10 -10 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 -1 0
|
||||
outer loop
|
||||
vertex -10 -10 -10
|
||||
vertex 10 -10 0
|
||||
vertex -10 -10 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 -1 -0
|
||||
outer loop
|
||||
vertex 10 -10 0
|
||||
vertex -10 -10 -10
|
||||
vertex 10 -10 -10
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 1 -0
|
||||
outer loop
|
||||
vertex 10 10 -10
|
||||
vertex -10 10 0
|
||||
vertex 10 10 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 1 0
|
||||
outer loop
|
||||
vertex -10 10 0
|
||||
vertex 10 10 -10
|
||||
vertex -10 10 -10
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 -0 0
|
||||
outer loop
|
||||
vertex 4.7 -4.7 -10
|
||||
vertex 4.7 4.7 -14.7
|
||||
vertex 4.7 4.7 -10
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 0 0
|
||||
outer loop
|
||||
vertex 4.7 4.7 -14.7
|
||||
vertex 4.7 -4.7 -10
|
||||
vertex 4.7 -4.7 -14.7
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex -4.7 -4.7 -14.7
|
||||
vertex 4.7 4.7 -14.7
|
||||
vertex 4.7 -4.7 -14.7
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 -1
|
||||
outer loop
|
||||
vertex 4.7 4.7 -14.7
|
||||
vertex -4.7 -4.7 -14.7
|
||||
vertex -4.7 4.7 -14.7
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -1 0 0
|
||||
outer loop
|
||||
vertex -4.7 -4.7 -14.7
|
||||
vertex -4.7 4.7 -10
|
||||
vertex -4.7 4.7 -14.7
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -1 -0 0
|
||||
outer loop
|
||||
vertex -4.7 4.7 -10
|
||||
vertex -4.7 -4.7 -14.7
|
||||
vertex -4.7 -4.7 -10
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 -1 0
|
||||
outer loop
|
||||
vertex -4.7 -4.7 -14.7
|
||||
vertex 4.7 -4.7 -10
|
||||
vertex -4.7 -4.7 -10
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 -1 -0
|
||||
outer loop
|
||||
vertex 4.7 -4.7 -10
|
||||
vertex -4.7 -4.7 -14.7
|
||||
vertex 4.7 -4.7 -14.7
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 1 -0
|
||||
outer loop
|
||||
vertex 4.7 4.7 -14.7
|
||||
vertex -4.7 4.7 -10
|
||||
vertex 4.7 4.7 -10
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 1 0
|
||||
outer loop
|
||||
vertex -4.7 4.7 -10
|
||||
vertex 4.7 4.7 -14.7
|
||||
vertex -4.7 4.7 -14.7
|
||||
endloop
|
||||
endfacet
|
||||
endsolid OpenSCAD_Model
|
||||
@ -1,91 +0,0 @@
|
||||
|
||||
eps=0.01;
|
||||
vU = 2;
|
||||
uHeight = 10;
|
||||
|
||||
plateScrewDiffV = uHeight*vU;
|
||||
plateScrewDiffH = 180;
|
||||
|
||||
plateScrewToHEdge = 4.5;
|
||||
plateScrewToVEdge = 5.5;
|
||||
|
||||
frontPlateThickness = 3;
|
||||
|
||||
frontPlateV = plateScrewDiffV + 2*plateScrewToHEdge;
|
||||
frontPlateH = plateScrewDiffH + 2*plateScrewToVEdge;
|
||||
|
||||
//////////////////////////////////////////////////////
|
||||
|
||||
trayOuterHeight = 28;
|
||||
trayOuterWidth = 168;
|
||||
trayOuterDepth = 130;
|
||||
|
||||
trayBottomThickness = 2;
|
||||
traySideThickness = 3;
|
||||
trayFrontThickness = 2;
|
||||
|
||||
|
||||
trayInnerWidth = trayOuterWidth - 2*traySideThickness;
|
||||
trayInnerDepth = trayOuterDepth - trayFrontThickness;
|
||||
trayInnerHeight = trayOuterHeight - trayBottomThickness;
|
||||
|
||||
module _trayBody() {
|
||||
|
||||
difference() {
|
||||
cube(size = [trayOuterWidth, trayOuterDepth, trayOuterHeight]);
|
||||
|
||||
union() {
|
||||
translate(v = [traySideThickness, trayFrontThickness, trayBottomThickness])
|
||||
cube(size = [trayInnerWidth + eps, trayInnerDepth + eps, trayInnerHeight + eps]);
|
||||
|
||||
|
||||
translate(v=[0,0, trayOuterHeight])
|
||||
rotate(a=[-atan(trayInnerHeight/trayOuterDepth),0,0])
|
||||
cube(size=[trayOuterWidth+eps, 2*trayOuterDepth+eps, trayInnerHeight+eps]);
|
||||
|
||||
translate(v=[5+traySideThickness,0,trayBottomThickness])
|
||||
cube(size=[trayInnerWidth-10, trayFrontThickness+eps, trayOuterHeight]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// todo make a nice module for this (triangular prism)
|
||||
module _sideHole_N() {
|
||||
scale(v=[2,0.65,0.65])
|
||||
difference () {
|
||||
cube(size = [trayOuterWidth, trayOuterDepth, trayOuterHeight]);
|
||||
translate(v = [0, 0, trayOuterHeight])
|
||||
rotate(a = [- atan(trayInnerHeight / trayOuterDepth), 0, 0])
|
||||
cube(size = [trayOuterWidth + eps, 2 * trayOuterDepth + eps, trayInnerHeight + eps]);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
module trayBody() {
|
||||
union() {
|
||||
difference() {
|
||||
_trayBody();
|
||||
union() {
|
||||
// bottom holes
|
||||
for (i = [0:7]) {
|
||||
translate(v = [35, i * 15 + 10, - eps])
|
||||
*cube(size = [100, 5, 10]);
|
||||
}
|
||||
translate(v=[-10,5,5])
|
||||
_sideHole_N();
|
||||
}
|
||||
}
|
||||
|
||||
// lugs for front
|
||||
translate(v=[0,-2,0])
|
||||
cube(size=[5,2,5]);
|
||||
translate(v=[trayOuterWidth-5,-2,0])
|
||||
cube(size=[5,2,5]);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
//trayBody();
|
||||
|
||||
@ -1,365 +0,0 @@
|
||||
include <../common.scad>
|
||||
include <./screws.scad>
|
||||
include <../risers.scad>
|
||||
|
||||
// TODO currently only for rockpro64 - make generic
|
||||
|
||||
vU = 3;
|
||||
uHeight = 10;
|
||||
|
||||
|
||||
// Front Plate dimensions
|
||||
frontPlateScrewDiffV = uHeight*vU;
|
||||
frontPlateScrewDiffH = 180;
|
||||
|
||||
frontPlateHeightTopSpace = 0.25; // Give some space at the top for the lid
|
||||
frontPlateHeightBottomSpace = 0;
|
||||
|
||||
frontPlateHeight = (vU+1)*uHeight - (frontPlateHeightBottomSpace+frontPlateHeightTopSpace);
|
||||
frontPlateWidth = 190;
|
||||
|
||||
frontPlateBottomScrewToHEdge = uHeight/2 + frontPlateHeightBottomSpace;
|
||||
frontPlateTopScrewToHEdge = uHeight/2 + frontPlateHeightTopSpace;
|
||||
|
||||
frontPlateScrewToVEdge = (frontPlateWidth - frontPlateScrewDiffH)/2;
|
||||
|
||||
frontPlateThickness = 2.5;
|
||||
|
||||
|
||||
plateScrewToBoxMin = 6;
|
||||
|
||||
// BOX CONFIG
|
||||
|
||||
// box dimensions
|
||||
boxDepth = 132;
|
||||
boxWidth = 160;
|
||||
|
||||
boxBottomThickness = 2;
|
||||
boxSideThickness = 2;
|
||||
boxBackThickness = 2;
|
||||
boxFrontThickness = 2;
|
||||
|
||||
boxTopSpace = 1; // meant for lids?
|
||||
boxBottomSpace = 1; // meant to be used for boxes that expect support rails (edit: not using right now)
|
||||
|
||||
boxHeight = (vU+1) * uHeight - (boxBottomSpace+boxTopSpace);
|
||||
|
||||
|
||||
boxInnerDepth = boxDepth - (boxBackThickness+boxFrontThickness);
|
||||
boxInnerHeight = boxHeight - boxBottomThickness; // TODO support lids
|
||||
boxInnerWidth = boxWidth - 2*boxSideThickness;
|
||||
|
||||
|
||||
// all of these are defined on the xy plane with centered zLen height
|
||||
// 'rise' is meant model how raised a pcb is. More specifically, the distance between the top of
|
||||
// the pcb and the bottom of the inside of the case
|
||||
module frontFace_N(zLen, rise) {
|
||||
translate(v=[7.5,2,0])
|
||||
cube(size=[boxInnerWidth - 15, boxInnerHeight-8, zLen]);
|
||||
}
|
||||
|
||||
module backFace_N(zLen, rise) {
|
||||
translate(v=[7.5,2,0])
|
||||
cube(size=[boxInnerWidth - 15, boxInnerHeight-8, zLen]);
|
||||
}
|
||||
|
||||
module leftFace_N(zLen, rise) {
|
||||
translate(v=[7.5,2,0])
|
||||
cube(size=[boxInnerDepth - 15, boxInnerHeight-8, zLen]);
|
||||
}
|
||||
|
||||
module rightFace_N(zLen, rise) {
|
||||
translate(v=[7.5,2,0])
|
||||
cube(size=[boxInnerDepth - 15, boxInnerHeight-8, zLen]);
|
||||
}
|
||||
|
||||
module boxBody() {
|
||||
// save this transformation...
|
||||
// translate(v=[(plateScrewDiffH-boxWidth)/2.0,0,boxBottomSpace -plateScrewToHEdge])
|
||||
|
||||
// convert to inside box space
|
||||
translate(v=[-boxSideThickness, -boxFrontThickness, -boxBottomThickness])
|
||||
difference() {
|
||||
cube(size=[boxWidth, boxDepth, boxHeight]);
|
||||
translate(v=[boxSideThickness, boxFrontThickness, boxBottomThickness])
|
||||
cube(size=[boxWidth-2*boxSideThickness, boxDepth-(boxBackThickness+boxFrontThickness), inf]);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
module boxBodyWithHoles() {
|
||||
|
||||
m_trans_back =
|
||||
[ [-1, 0, 0, boxInnerWidth],
|
||||
[0, -1, 0, boxInnerDepth-boxBackThickness],
|
||||
[0, 0, 1, 0],
|
||||
[0, 0, 0, 1]];
|
||||
|
||||
m_trans_left_side =
|
||||
[ [cos(-90), -sin(-90), 0, 0],
|
||||
[sin(-90), cos(-90), 0, boxInnerDepth],
|
||||
[0, 0, 1, 0],
|
||||
[0, 0, 0, 1]];
|
||||
|
||||
m_trans_right_side =
|
||||
[ [cos(90), -sin(90), 0, boxInnerWidth],
|
||||
[sin(90), cos(90), 0, 0],
|
||||
[0, 0, 1, 0],
|
||||
[0, 0, 0, 1]];
|
||||
|
||||
difference() {
|
||||
|
||||
boxBody();
|
||||
|
||||
union() {
|
||||
rotate(a=[90,0,0])
|
||||
frontFace_N(10, 0);
|
||||
|
||||
multmatrix(m_trans_back)
|
||||
rotate(a=[90,0,0])
|
||||
backFace_N(10, 0);
|
||||
|
||||
multmatrix(m_trans_left_side)
|
||||
rotate(a=[90,0,0])
|
||||
leftFace_N(10, 0);
|
||||
|
||||
multmatrix(m_trans_right_side)
|
||||
rotate(a=[90,0,0])
|
||||
rightFace_N(10, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// lid + lugging
|
||||
module cylinderLug_M(length, radius) {
|
||||
rotate(a=[0,90,0])
|
||||
cylinder(h=length, r=radius, center=true);
|
||||
}
|
||||
|
||||
module cylinderLug(lMult=1, rMult=1) {
|
||||
cylinderLug_M(6*lMult, 1*rMult);
|
||||
}
|
||||
|
||||
function lerp(u, a, b) = (1-u)*a + u*b;
|
||||
|
||||
module lugLine(a,b, numLugs, lMult=1, rMult=1) {
|
||||
assert(numLugs>0);
|
||||
|
||||
// require straight line that is level (same z values) either parallel with the x axis, or y axis
|
||||
// this just avoids some math and simplifies things
|
||||
assert(a[2] == b[2] && (a[0]==b[0] || a[1]==b[1]));
|
||||
|
||||
direction = norm(b-a);
|
||||
|
||||
for (i=[0:numLugs-1]) {
|
||||
u = (i+1)/(numLugs+1);
|
||||
|
||||
if (a[1] == b[1]) {
|
||||
translate(v=lerp(u,a,b))
|
||||
cylinderLug(lMult, rMult);
|
||||
} else if (a[0] == b[0]) {
|
||||
translate(v=lerp(u,a,b))
|
||||
rotate(a=[0,0,90])
|
||||
cylinderLug(lMult,rMult);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
module lugProfile(height, sideEps=0, lMult=1, rMult=1) {
|
||||
points = [
|
||||
[0+sideEps,0+sideEps,height],
|
||||
[boxInnerWidth-sideEps,0+sideEps,height],
|
||||
[boxInnerWidth-sideEps, boxInnerDepth-sideEps, height],
|
||||
[0+sideEps, boxInnerDepth-sideEps, height]
|
||||
];
|
||||
|
||||
for (i=[1:4]) {
|
||||
lugLine(points[(i-1)%4], points[i%4], 3, lMult, rMult);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
module lidBody() {
|
||||
topLidThickness = 1;
|
||||
bottomLidThickness = 4;
|
||||
bottomLidWallThickness = 2;
|
||||
|
||||
translate(v=[-boxSideThickness, -boxFrontThickness,0])
|
||||
cube(size=[boxWidth, boxDepth, topLidThickness]);
|
||||
|
||||
difference() {
|
||||
innerWallTolerance = 0.1;
|
||||
innerWallWidth = boxWidth - 2 * boxSideThickness - innerWallTolerance;
|
||||
innerWallDepth = boxDepth - (boxFrontThickness + boxBackThickness) - innerWallTolerance;
|
||||
|
||||
translate(v = [innerWallTolerance/2, innerWallTolerance/2, topLidThickness])
|
||||
cube(size = [innerWallWidth, innerWallDepth,
|
||||
bottomLidThickness]);
|
||||
|
||||
translate(v = [bottomLidWallThickness, bottomLidWallThickness, topLidThickness])
|
||||
cube(size = [boxWidth - 2*boxSideThickness - 2*bottomLidWallThickness, boxDepth - (boxFrontThickness + boxBackThickness) - 2*bottomLidWallThickness,
|
||||
bottomLidThickness]);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
module lid() {
|
||||
|
||||
difference() {
|
||||
union() {
|
||||
lidBody();
|
||||
// todo figure out relation
|
||||
lugProfile(3, sideEps = 0.25, lMult=0.95, rMult=0.95);
|
||||
}
|
||||
|
||||
for (i=[0:7]) {
|
||||
translate(v=[i*17 + 14, 15,-2])
|
||||
minkowski() {
|
||||
cylinder(r=1,h=1);
|
||||
cube(size = [10, 20, 5]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
module case() {
|
||||
difference() {
|
||||
|
||||
union() {
|
||||
boxBodyWithHoles();
|
||||
|
||||
translate(v=[20,5, -1])
|
||||
rockProScrewMounts();
|
||||
|
||||
// lugs
|
||||
translate(v=[0,-(1+boxFrontThickness),0])
|
||||
cube(size=[4,1,4]);
|
||||
|
||||
translate(v=[boxInnerWidth-4,-(1+boxFrontThickness),0])
|
||||
cube(size=[4,1,4]);
|
||||
}
|
||||
|
||||
union() {
|
||||
lugProfile(boxHeight-4); // todo reliant on box bottom thickness
|
||||
|
||||
translate(v=[32,25,-2])
|
||||
minkowski() {
|
||||
cylinder(r=1,h=0.1);
|
||||
cube(size = [50, 80, 5]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
module _frontPlateBody() {
|
||||
cube(size=[frontPlateWidth,frontPlateThickness,frontPlateHeight]);
|
||||
}
|
||||
|
||||
module _plateHole() {
|
||||
rotate(a=[90,0,0])
|
||||
cylinder(r=m4RadiusSlacked, h=inf, center=true);
|
||||
}
|
||||
|
||||
module frontPlate() {
|
||||
difference() {
|
||||
_frontPlateBody();
|
||||
|
||||
translate(v=[frontPlateScrewToVEdge, 0, frontPlateBottomScrewToHEdge])
|
||||
union() {
|
||||
// TODO: introduce helper modules for this pattern
|
||||
_plateHole();
|
||||
|
||||
translate(v=[frontPlateScrewDiffH,0,0])
|
||||
_plateHole();
|
||||
|
||||
translate(v=[0,0,frontPlateScrewDiffV])
|
||||
_plateHole();
|
||||
|
||||
translate(v=[frontPlateScrewDiffH,0,frontPlateScrewDiffV])
|
||||
_plateHole();
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
module frontPlateAligned() {
|
||||
|
||||
difference() {
|
||||
// Aligned with case
|
||||
translate(v = [
|
||||
-(boxSideThickness + (frontPlateWidth - boxWidth) / 2),
|
||||
-(boxFrontThickness+frontPlateThickness),
|
||||
-boxBottomThickness
|
||||
])
|
||||
frontPlate();
|
||||
|
||||
union() {
|
||||
// lugs TODO not recessed enough!!
|
||||
translate(v=[-0.05,-(1.5+boxFrontThickness),-0.05])
|
||||
cube(size=[4+0.1,2,4+0.1]);
|
||||
|
||||
translate(v=[-0.05 + (boxInnerWidth-4),-(1.5+boxFrontThickness),-0.05])
|
||||
cube(size=[4+0.1,2,4+0.1]);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
module rockPro64FrontPlate() {
|
||||
|
||||
difference() {
|
||||
frontPlateAligned();
|
||||
|
||||
union() {
|
||||
translate(v=[-1,-4,22])
|
||||
rotate(a=[90,0,0])
|
||||
linear_extrude(10)
|
||||
text("rock-2", font="Tlwg Mono:style=Bold", size=9);
|
||||
|
||||
minkowski() {
|
||||
rotate(a=[90,0,0])
|
||||
cylinder(h=1, r=1);
|
||||
|
||||
union() {
|
||||
translate(v = [24, - 10, 7])
|
||||
cube(size = [62, 10, 9]);
|
||||
|
||||
translate(v = [52, - 10, 7])
|
||||
cube(size = [34, 10, 18]);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
intersection() {
|
||||
translate(v = [95, - 10, 3])
|
||||
cube(size = [70, 20, 26]);
|
||||
|
||||
|
||||
for(i=[0:9]) {
|
||||
|
||||
translate(v = [83 + 8*i, - 10, 0])
|
||||
rotate(a=[0,30,0])
|
||||
cube(size=[3, 15, 50]);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
rockPro64FrontPlate();
|
||||
//translate(v=[0,-20,0])
|
||||
//frontPlateAligned();
|
||||
|
||||
//case();
|
||||
|
||||
//translate(v=[0,0,50])
|
||||
//mirror(v=[0,0,1])
|
||||
//lid();
|
||||
BIN
old/rackCase.stl
7506
old/rackCase180.stl
@ -1,171 +0,0 @@
|
||||
|
||||
/* Simple configurable rack mount component to hold a box-like shell */
|
||||
|
||||
include <../common.scad>
|
||||
include <./screws.scad>
|
||||
|
||||
slack = 0.4;
|
||||
|
||||
boxWidth = 157.67;
|
||||
boxHeight = 27.0;
|
||||
boxLength = 101.5+1;
|
||||
|
||||
topThickness = 1.0;
|
||||
bottomThickness = 1.0;
|
||||
|
||||
faceThickness = 3.0;
|
||||
sideThickness = 2.0;
|
||||
sideSupportWidth = 10;
|
||||
|
||||
railWidth = 16.0;
|
||||
|
||||
totalHeight = boxHeight+topThickness+bottomThickness;
|
||||
totalLength = boxLength+2*sideThickness;
|
||||
|
||||
|
||||
railMountWidthDiff = (200.0 - (boxWidth + 2*sideThickness)) / 2.0;
|
||||
|
||||
totalMountLength = 200.0 + 2*faceThickness + 1;
|
||||
|
||||
module sideHolder() {
|
||||
|
||||
|
||||
module frontLowerCaseSegment() {
|
||||
translate(v=[0,0,0])
|
||||
cube(size=[sideSupportWidth, faceThickness, bottomThickness]);
|
||||
}
|
||||
|
||||
module frontUpperCaseSegment() {
|
||||
// no room for slack? :(
|
||||
translate(v=[0,0,boxHeight+bottomThickness])
|
||||
cube(size=[sideSupportWidth, faceThickness, topThickness]);
|
||||
}
|
||||
|
||||
module backLowerCaseSegment() {
|
||||
translate(v=[0,boxLength+slack+sideThickness,0])
|
||||
frontLowerCaseSegment();
|
||||
}
|
||||
|
||||
module backUpperCaseSegment() {
|
||||
translate(v=[0,boxLength+slack+sideThickness,0])
|
||||
frontUpperCaseSegment();
|
||||
}
|
||||
|
||||
module backLowerRailSegment() {
|
||||
translate(v=[0,200.0+1,0])
|
||||
cube(size=[sideSupportWidth, faceThickness, bottomThickness]);
|
||||
}
|
||||
|
||||
|
||||
module backUpperRailSegment() {
|
||||
translate(v=[0,200.0+1,boxHeight+bottomThickness])
|
||||
cube(size=[sideSupportWidth, faceThickness, topThickness]);
|
||||
}
|
||||
|
||||
module frontRailMountSegment() {
|
||||
// +2 is slack
|
||||
translate(v=[-railMountWidthDiff+5,0,0])
|
||||
// should technically use different totalHeight, as current totalHeight is for case holder
|
||||
cube(size=[railWidth,faceThickness,totalHeight]);
|
||||
}
|
||||
|
||||
module backRailMountSegment() {
|
||||
translate(v=[0,200+1,0])
|
||||
// should technically use different totalHeight, as current totalHeight is for case holder
|
||||
frontRailMountSegment();
|
||||
}
|
||||
|
||||
|
||||
module frontFace() {
|
||||
difference() {
|
||||
hull() {
|
||||
frontLowerCaseSegment();
|
||||
frontUpperCaseSegment();
|
||||
frontRailMountSegment();
|
||||
}
|
||||
|
||||
// screw holes
|
||||
translate(v=[-railMountWidthDiff + 11.5,0,5])
|
||||
rotate(a=[90,0,0])
|
||||
cylinder(r=m4RadiusSlacked, h=10, center=true);
|
||||
|
||||
translate(v=[-railMountWidthDiff + 11.5,0,25])
|
||||
rotate(a=[90,0,0])
|
||||
cylinder(r=m4RadiusSlacked, h=10, center=true);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
module backFace() {
|
||||
translate(v=[0,200.0+faceThickness+1,0])
|
||||
frontFace();
|
||||
|
||||
}
|
||||
|
||||
frontFace();
|
||||
backFace();
|
||||
|
||||
|
||||
|
||||
hull() {
|
||||
frontLowerCaseSegment();
|
||||
backLowerCaseSegment();
|
||||
}
|
||||
|
||||
hull() {
|
||||
backLowerCaseSegment();
|
||||
backUpperCaseSegment();
|
||||
}
|
||||
|
||||
hull() {
|
||||
frontUpperCaseSegment();
|
||||
backUpperCaseSegment();
|
||||
}
|
||||
|
||||
|
||||
hull() {
|
||||
backLowerRailSegment();
|
||||
backLowerCaseSegment();
|
||||
}
|
||||
|
||||
hull() {
|
||||
backUpperRailSegment();
|
||||
backUpperCaseSegment();
|
||||
}
|
||||
|
||||
// side support/hold for case
|
||||
difference() {
|
||||
cube(size=[sideThickness, totalLength, totalHeight]);
|
||||
|
||||
translate(v=[-eps/2,8,5])
|
||||
cube(size=[sideThickness+eps,totalLength-17.5+eps, totalHeight-10+eps]);
|
||||
}
|
||||
|
||||
|
||||
// side support/hold for case
|
||||
difference() {
|
||||
translate(v=[sideSupportWidth-sideThickness,totalLength,0])
|
||||
cube(size=[sideThickness, totalMountLength-totalLength, totalHeight]);
|
||||
|
||||
translate(v=[sideSupportWidth-sideThickness-eps/2,(200-totalLength)+20,5])
|
||||
cube(size=[sideThickness+eps,(200-totalLength)-10+eps, totalHeight-10+eps]);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
module sideHolderAligned() {
|
||||
//translate(v=[19,0,0])
|
||||
sideHolder();
|
||||
}
|
||||
|
||||
module mSide() {
|
||||
mirror(v=[1,0,0]) {
|
||||
sideHolderAligned();
|
||||
}
|
||||
}
|
||||
|
||||
sideHolderAligned();
|
||||
|
||||
//translate(v=[42 + boxWidth,0,0])
|
||||
//mSide();
|
||||
|
||||
@ -1,22 +0,0 @@
|
||||
|
||||
include <./common.scad>
|
||||
include <./rack/screws.scad>
|
||||
include <./rockpro/rockpro.scad>
|
||||
|
||||
module screwRiser(innerD, outerD, height) {
|
||||
difference() {
|
||||
cylinder(d=outerD, h=height, $fn=64);
|
||||
cylinder(d=innerD, h=height, $fn=64);
|
||||
}
|
||||
}
|
||||
|
||||
module rockProScrewMounts() {
|
||||
for (i=[0:3]) {
|
||||
p = mountPoints[i];
|
||||
translate(v=[p[0], p[1], p[2]])
|
||||
screwRiser(innerD=2.8, outerD=8, height=7);
|
||||
}
|
||||
}
|
||||
|
||||
//rockProScrewMounts();
|
||||
|
||||
14422
old/screwmount-test.stl
@ -1,62 +0,0 @@
|
||||
/* Contains screw mounts to be used to fix risers and whatnot into plastic */
|
||||
|
||||
include <../common.scad>
|
||||
include <./screws.scad>
|
||||
|
||||
|
||||
|
||||
// Heat set inserts:
|
||||
|
||||
// Useful references:
|
||||
// https://hackaday.com/2019/02/28/threading-3d-printed-parts-how-to-use-heat-set-inserts/
|
||||
|
||||
|
||||
|
||||
// My knurled brass nut dimensions
|
||||
|
||||
|
||||
m4NutDiameter = 6;
|
||||
m4NutLength1 = 6;
|
||||
|
||||
m3NutDiameter = 4.9;
|
||||
m3NutLength1 = 6;
|
||||
|
||||
|
||||
module nut_N(diameter,length,edm,elm) {
|
||||
cylinder(h=(length + length*edm), d=(diameter + diameter*edm));
|
||||
}
|
||||
|
||||
difference() {
|
||||
union() {
|
||||
cube(size=[30,30,2.5]);
|
||||
|
||||
translate(v=[8,8,0])
|
||||
cylinder(h=8,d=8);
|
||||
|
||||
translate(v=[22,8,0])
|
||||
cylinder(h=10,d=8);
|
||||
|
||||
translate(v=[8,22,0])
|
||||
cylinder(h=8,d=10);
|
||||
|
||||
translate(v=[22,22,0])
|
||||
cylinder(h=10,d=10);
|
||||
}
|
||||
|
||||
union() {
|
||||
translate(v=[8,8,2])
|
||||
cylinder(h=6, d=6);
|
||||
|
||||
translate(v=[22,8,4])
|
||||
cylinder(h=6,d=6);
|
||||
|
||||
translate(v=[8,22,2])
|
||||
cylinder(h=6,d=6);
|
||||
|
||||
translate(v=[22,22,3])
|
||||
cylinder(h=8,d=6);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
113
old/screws.scad
@ -1,113 +0,0 @@
|
||||
|
||||
/* Some common screw dimensions */
|
||||
|
||||
|
||||
inf = 400; // basically infinity
|
||||
|
||||
/********************************************************************************/
|
||||
// M3 dimensions
|
||||
|
||||
m3HoleRadiusSlack = 0.15;
|
||||
m3Diameter = 3.0;
|
||||
m3Radius = m3Diameter/2.0;
|
||||
|
||||
m3RadiusSlacked = m3Radius + m3HoleRadiusSlack;
|
||||
|
||||
// legacy TODO: replace
|
||||
m3ptr = m3RadiusSlacked;
|
||||
|
||||
// NUTS!
|
||||
m3HexNutWidthAcrossFlats = 5.41;
|
||||
m3HexNutWidthAcrossCorners = FtoG(m3HexNutWidthAcrossFlats);
|
||||
|
||||
m3HexNutThickness = 2.18;
|
||||
|
||||
module m3HexNutPocketNegative() {
|
||||
hexNutPocketNegative(m3RadiusSlacked,
|
||||
m3HexNutWidthAcrossCorners/2 + 0.1,
|
||||
m3HexNutThickness + 0.2);
|
||||
}
|
||||
|
||||
|
||||
// TODO: remove test
|
||||
|
||||
*difference() {
|
||||
cube(size=[8,12,5], center=true);
|
||||
|
||||
rotate(a=[0,0,20])
|
||||
m3HexNutPocketNegative();
|
||||
}
|
||||
|
||||
*m3HexNutPocketNegative();
|
||||
|
||||
|
||||
/********************************************************************************/
|
||||
// M4 dimensions
|
||||
|
||||
m4HoleRadiusSlack = 0.15;
|
||||
m4Diameter = 4.0;
|
||||
m4Radius = m4Diameter/2.0;
|
||||
m4RadiusSlacked = m4Radius + m4HoleRadiusSlack;
|
||||
|
||||
m4HexNutWidthAcrossFlats = 6.89;
|
||||
m4HexNutWidthAcrossCorners = FtoG(m4HexNutWidthAcrossFlats);
|
||||
|
||||
m4HexNutThickness = 3.07;
|
||||
|
||||
module m4HexNutPocketNegative() {
|
||||
hexNutPocketNegative(m4RadiusSlacked,
|
||||
m4HexNutWidthAcrossCorners/2 + 0.1,
|
||||
m4HexNutThickness + 0.2);
|
||||
}
|
||||
|
||||
|
||||
// TODO: remove test
|
||||
|
||||
*difference() {
|
||||
translate(v=[0,1,0])
|
||||
cube(size=[10,12,6], center=true);
|
||||
|
||||
rotate(a=[0,0,20])
|
||||
m4HexNutPocketNegative();
|
||||
}
|
||||
|
||||
*m4HexNutPocketNegative();
|
||||
|
||||
/********************************************************************************/
|
||||
|
||||
// Convert a regular hexagon widthAcrossFlats to widthAcrossCorners
|
||||
function FtoG(widthAcrossFlats) = widthAcrossFlats * (2/sqrt(3));
|
||||
|
||||
// Convert a regular hexagon widthAcrossCorners to widthAcrossFlats
|
||||
function GtoF(widthAcrossCorners) = widthAcrossCorners * (sqrt(3)/2);
|
||||
|
||||
|
||||
module hexNutPocketNegative(
|
||||
innerRadius,
|
||||
widthAcrossCorners,
|
||||
thickness)
|
||||
{
|
||||
|
||||
union() {
|
||||
|
||||
hull() {
|
||||
// hexagonal cylinder representing where the nut should fit
|
||||
cylinder(r=widthAcrossCorners, h=thickness, center=true, $fn=6);
|
||||
|
||||
// negative volume for sliding in the nut
|
||||
translate(v=[inf,0,0])
|
||||
cylinder(r=widthAcrossCorners, h=thickness, center=true, $fn=6);
|
||||
}
|
||||
|
||||
// negative volume for screw lead
|
||||
translate(v=[0,0,-10])
|
||||
cylinder(r=innerRadius, h = inf, $fn=32);
|
||||
|
||||
hull() {
|
||||
translate(v=[inf,0,0])
|
||||
cylinder(r=innerRadius, h = inf, $fn=32);
|
||||
cylinder(r=innerRadius, h = inf, $fn=32);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
1682
old/screws.stl
@ -1,41 +0,0 @@
|
||||
include <../helper/common.scad>
|
||||
include <../helper/magnet.scad>
|
||||
|
||||
|
||||
doorPolarityReference();
|
||||
|
||||
module doorPolarityReference() {
|
||||
thickness = 3;
|
||||
|
||||
union() {
|
||||
difference() {
|
||||
minkowski() {
|
||||
cube(size = [50, 8, thickness]);
|
||||
cylinder(r = 2, h = eps);
|
||||
}
|
||||
|
||||
union() {
|
||||
translate(v = [9, 0, 1.1])
|
||||
linear_extrude(2)
|
||||
text("D", font = "Liberation Sans:style=Bold", size = 8);
|
||||
|
||||
translate(v=[31, 0, 1.1])
|
||||
linear_extrude(2)
|
||||
text("M",font="Liberation Sans:style=Bold", size=8);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
translate(v = [3.5, 4, thickness])
|
||||
magnetHolder();
|
||||
translate(v = [46.5, 4, thickness])
|
||||
magnetHolder();
|
||||
}
|
||||
|
||||
module magnetHolder() {
|
||||
difference() {
|
||||
cylinder(r = magnetRSlacked+2, h = magnetHSlacked, $fn = 64);
|
||||
cylinder(r = magnetRSlacked, h = magnetHSlacked, $fn = 64);
|
||||
}
|
||||
}
|
||||
}
|
||||