85 lines
1.8 KiB
OpenSCAD
85 lines
1.8 KiB
OpenSCAD
|
|
include <BOSL/constants.scad>
|
|
use <BOSL/transforms.scad>
|
|
use <BOSL/joiners.scad>
|
|
|
|
/* [Options] */
|
|
|
|
LegLength=30.40;
|
|
LegDiameter=16;
|
|
BoltDiameter=7.06;
|
|
CoreGap=0;
|
|
NumberCoils=10;
|
|
|
|
/* [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;
|
|
|
|
|
|
// Bobbin
|
|
Bobbin_Length=LegLength+CoreGap/2;
|
|
|
|
module core_leg(d=LegDiameter, l=LegLength, bd=BoltDiameter) {
|
|
difference() {
|
|
cylinder(d=d, h=l);
|
|
down(1) left(d/2) cylinder(d=bd, h=l+2);
|
|
}
|
|
}
|
|
|
|
module core_uy1658(ld=16, ll=29, bz=12.14, w=60) {
|
|
echo("Leg Len:", ll-bz);
|
|
xflip_copy() {
|
|
left(w/2) core_leg(d=ld, l=ll);
|
|
fwd(ld/2) cube([w/2,16,bz]);
|
|
}
|
|
}
|
|
|
|
module bobbin(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;
|
|
difference() {
|
|
union() {
|
|
cylinder(d=outer,h=bl, center=true);
|
|
zspread(n=sn,l=bl-st) {
|
|
cylinder(d=sd,h=st,center=true);
|
|
left(sd/4)cube([sd/2,sd,st], center=true);
|
|
}
|
|
// connector
|
|
left(inner/2+(conNeck+conHead)/2) zflip_copy()
|
|
down(conThick/2)
|
|
up((pinLen)/2) {
|
|
xflip() half_joiner(h=conWidth, w=conThick,l=conThick/2,orient=ORIENT_X_90);
|
|
}
|
|
}
|
|
cylinder(d=inner,h=bl+2*conThick+2,center=true);
|
|
// Wire Channels
|
|
yspread(n=2, l=5+sd/2 )
|
|
left(sd/2) cylinder(d=2,h=bl+2,center=true);
|
|
}
|
|
left(2*lc+inner/2) intersection() {
|
|
cylinder(d=6,h=pinLen, center=true);
|
|
right(2*lc+inner/2) cylinder(d=inner, h=pinLen+2, center=true);
|
|
}
|
|
echo("Coil_ID = ", outer);
|
|
echo("Coil_len = ", bl-sn*st);
|
|
}
|
|
|
|
rotate([0,-90,0])
|
|
bobbin(sn=2, sd=26);
|
|
|
|
|
|
//core_uy1658();
|