First TestBed
Working prototype. Still needs full case, fan and current limiter.
This commit is contained in:
87
electrodes.scad
Normal file
87
electrodes.scad
Normal file
@@ -0,0 +1,87 @@
|
||||
|
||||
include <BOSL/constants.scad>
|
||||
use <BOSL/transforms.scad>
|
||||
use <BOSL/shapes.scad>
|
||||
use <BOSL/joiners.scad>
|
||||
use <inserts/inserts.scad>
|
||||
|
||||
/* [Options] */
|
||||
|
||||
LegLength=30.40;
|
||||
LegDiameter=16;
|
||||
BoltDiameter=7.06;
|
||||
CoreGap=0;
|
||||
YokeHeight = 12.14;
|
||||
YokeLen=20.00;
|
||||
|
||||
ConThick = 12;
|
||||
ConWidth = 15;
|
||||
|
||||
SlideClear=.2;
|
||||
|
||||
/* [Render Options] */
|
||||
render_fs=.1;
|
||||
render_fn=0;
|
||||
render_fa=.1;
|
||||
|
||||
// Set Render Options
|
||||
$fs= ($preview) ? $fs : render_fs;
|
||||
$fn= ($preview) ? $fn : render_fn;
|
||||
$fa= ($preview) ? $fa : render_fa;
|
||||
|
||||
|
||||
// Channel
|
||||
ChanWidth = LegDiameter+2*SlideClear;
|
||||
ChanHeight = YokeHeight + SlideClear;
|
||||
ChanLen = LegDiameter/2;
|
||||
|
||||
echo("ChanWidth:", ChanWidth);
|
||||
|
||||
BobbinLen = 2*ConThick + 2*(LegLength-YokeHeight);
|
||||
|
||||
module snaps(ld=LegDiameter, ll=LegLength, lb=12.14, tg=CoreGap, lc=.15, t=.4, sn=NumberCoils+1, st=.6, sd=50) {
|
||||
bl=2*(ll-lb) + tg;
|
||||
inner=ld+2*lc;
|
||||
outer=inner+2;
|
||||
|
||||
//conNeck = 5;
|
||||
//conHead = 5;
|
||||
conThick = 12;
|
||||
conWidth = 15;
|
||||
pinLen = 2* conThick + bl;
|
||||
// connector
|
||||
// left(inner/2+(conNeck+conHead)/2)
|
||||
yflip_copy() back((pinLen-conThick)/2) {
|
||||
half_joiner2(h=conWidth,
|
||||
w=conThick,l=conThick/2,orient=ORIENT_X);
|
||||
left(10)cube([conThick,conThick,conWidth], center=true);
|
||||
right(10)cube([conThick,conThick,conWidth], center=true);
|
||||
}
|
||||
}
|
||||
|
||||
module channel(l=ChanLen,w=ChanHeight, h=ChanWidth) {
|
||||
|
||||
half_joiner_clear(h=ConWidth,w=ConThick,l=ConThick/2,orient=ORIENT_XNEG);
|
||||
fwd(.5)leftcube([l+8+.2,w+2+14,h]);
|
||||
}
|
||||
|
||||
module slide(cl=ChanLen, cw=ChanWidth, ch=ConWidth, frontLen=25, w=2) {
|
||||
bl=ChanLen + frontLen;
|
||||
difference() {
|
||||
union() {
|
||||
fwd(w+.2+2) left(cl+8) rightcube([bl+8, cw+4, cw+2*w]);
|
||||
}
|
||||
channel();
|
||||
fwd(4+ConThick/2) right(frontLen/2) rotate([0,-90,0]) {
|
||||
thread_insertM25(bl=30, bz=-30, $die=true);
|
||||
up(3)cylinder(d=7, h=10);
|
||||
}
|
||||
}
|
||||
half_joiner2(h=ConWidth,w=ConThick,l=ConThick/2,orient=ORIENT_XNEG);
|
||||
|
||||
}
|
||||
|
||||
//yflip_copy() fwd(7) zflip_copy() down(10)
|
||||
//yflip_copy() fwd((ConWidth+BobbinLen)/2+2)
|
||||
yflip_copy() fwd(7) rotate([0,90,0])
|
||||
slide();
|
||||
Reference in New Issue
Block a user