You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

160 lines
3.5 KiB

$fn=36;
Pins_number=6;
Text="BPC817C";
Type=0; //0=small 1=big
Solder=1;
module IC_DIP(Pins_number,Text,Type,Solder)
{
if(Type==0)
translate([0.25,1.252-(round(Pins_number/4)*2.54),2])
difference()
{
for(a=[0:1:Pins_number/2-1])
translate([0,a*2.54,0])
{
color("Black")
translate([0,0,0])
cube([7.1,2.54,3.5]);
color("Silver")
translate([-0.45,1.252-0.5,1.5])
cube([5,1,0.3]);
color("Silver")
translate([2.55,1.252-0.5,1.5])
cube([5,1,0.3]);
color("Silver")
translate([-0.45,1.252-0.3,-4.2])
cube([0.3,0.6,6]);
color("Silver")
translate([7.25,1.252-0.3,-4.2])
cube([0.3,0.6,6]);
color("Silver")
translate([-0.45,1.252-0.5,-0.4])
cube([0.3,1,2]);
color("Silver")
translate([7.25,1.252-0.5,-0.4])
cube([0.3,1,2]);
if(Solder==1)
{
color("Silver")
translate([2.54*3-0.25,1.257,-1.5])
rotate([0,0,0])
scale([1,1,1.1])
sphere(d=2);
color("Silver")
translate([-2.54*0-0.25,1.257,-1.5])
rotate([0,0,0])
scale([1,1,1.1])
sphere(d=2);
}
}
translate([12,5,-2])
cylinder(d=3.5,h=10);
if(Pins_number>4)
color("White")
translate([4,2.54*Pins_number/4+0.5,3.45])
rotate([0,0,90])
linear_extrude(1)
text(Text,size=1,valign="center",halign="center");
if(Pins_number<5)
color("White")
translate([3.5,2.54*Pins_number/4,3.45])
rotate([0,0,0])
linear_extrude(1)
text(Text,size=1,valign="center",halign="center");
color("White")
translate([4,0,3.4])
cylinder(r=1,h=1);
color("White")
translate([6,1,3.4])
cylinder(r=0.5,h=1);
}
if(Type==1)
translate([0.25,1.252-(round(Pins_number/4)*2.54),3])
{
difference()
{
for(a=[0:1:Pins_number/2-1])
translate([0,a*2.54,0])
{
color("Black")
translate([0,0,0])
cube([14.7,2.54,3.5]);
color("Silver")
translate([-0.45,1.252-0.5,1.5])
cube([5,1,0.3]);
color("Silver")
translate([10.15,1.252-0.5,1.5])
cube([5,1,0.3]);
color("Silver")
translate([-0.45,1.252-0.3,-4.2])
cube([0.3,0.6,6]);
color("Silver")
translate([14.85,1.252-0.3,-4.2])
cube([0.3,0.6,6]);
color("Silver")
translate([-0.45,1.252-0.5,-0.4])
cube([0.3,1,2]);
color("Silver")
translate([14.85,1.252-0.5,-0.4])
cube([0.3,1,2]);
if(Solder==1)
{
color("Silver")
translate([2.54*6-0.25,1.257,-1.5])
rotate([0,0,0])
scale([1,1,1.1])
sphere(d=2);
color("Silver")
translate([-2.54*0-0.25,1.257,-1.5])
rotate([0,0,0])
scale([1,1,1.1])
sphere(d=2);
}
}
if(Pins_number>4)
color("White")
translate([7,2.54*Pins_number/4+0.5,3.45])
rotate([0,0,90])
linear_extrude(1)
text(Text,size=1,valign="center",halign="center");
if(Pins_number<5)
color("White")
translate([3.5,2.54*Pins_number/4,3.45])
rotate([0,0,0])
linear_extrude(1)
text(Text,size=1,valign="center",halign="center");
color("White")
translate([7.5,0,3.4])
cylinder(r=1,h=1);
color("White")
translate([13,1,3.4])
cylinder(r=0.5,h=1);
}
}
}
IC_DIP(Pins_number,Text,Type,Solder);