Files
CAD-Projects/SMD_Part_storage.scad
MindCreeper03 9af7ac91a6 First Commit
2025-02-27 19:14:40 +01:00

50 lines
2.4 KiB
OpenSCAD

tape_thickness = 1.2;
distance_between_parts = 4;
parts = 800; //amount of parts in
total_distance = parts*distance_between_parts;
inner_diameter=16;
tape_width= 8;
part_width=tape_width+2.4;
turns= 25;// https://de.planetcalc.com/9063/
$fa = 1;
$fs = 0.5;
outerdiameter=72;
boxdim=outerdiameter+10;
boxdimhalf = boxdim/2;
offset_insert_view=-boxdimhalf-0.001+(boxdimhalf-outerdiameter/2+tape_thickness*1.2/2);
difference() {
color("grey")cube([boxdim,boxdim,part_width],center=true);
translate([0,0,-tape_width/2]){
linear_extrude(part_width-0.001){
circle(d=outerdiameter);
}
}
translate([offset_insert_view,-20,1]) cube([tape_thickness*1.2,boxdimhalf+3.001,part_width-0.4],center=true); //Tape inlet
translate([-boxdimhalf,-0.75*boxdimhalf,0])cube([(boxdimhalf-outerdiameter/2)*2+tape_thickness*1.2/2+0.001,10,tape_width],center=true); //viewing window
translate([boxdimhalf-8,-boxdimhalf+2,0])rotate([0,0,30]) cube([8,10,tape_width+4],center=true); //Retention space for front magazine clip
translate([boxdimhalf-3,boxdimhalf-3,0])rotate([0,0,30]) cube([8,30,tape_width+4],center=true);
translate([boxdimhalf+2,boxdimhalf-6,0])rotate([0,0,80]) cube([8,30,tape_width+4],center=true);
translate([boxdimhalf+1.5,boxdimhalf-3.3,0])cube([30,8,tape_width+4],center=true);
}
translate([offset_insert_view+tape_thickness*1.2*0.999,-20,0.001]) color("grey")cube([tape_thickness*1.2,boxdimhalf+3.001-17,part_width],center=true); // Merge plate near inlet
difference(){ //retention spring
translate([0,boxdimhalf+2,0])color("grey") rotate([0,0,90]) cube([10,5,part_width+0.001],center=true);
translate([-3.85,boxdimhalf+1.5,-part_width/2-0.5])
linear_extrude(part_width+1){
circle(d=4);
}
translate([3.85,boxdimhalf+1.5,-part_width/2-0.5])
linear_extrude(part_width+1){
circle(d=4);
}
}
difference(){ //Retention Clip with Spring
translate([0,boxdimhalf+6,0]) color("grey")cube([boxdim,6,part_width],center=true);
translate([-boxdimhalf+10,boxdimhalf+2,0]) rotate([0,0,-8])cube([boxdimhalf,6,tape_width+3],center=true);
translate([boxdimhalf+2.5,boxdimhalf+4,0])rotate([0,0,-15]) cube([8,20,part_width+2],center=true);
}
difference(){//Retention Clip with Spring
translate([boxdimhalf,boxdimhalf+4,0]) color("grey")cube([10,10,part_width],center=true);
translate([boxdimhalf+2.5,boxdimhalf+4,0])rotate([0,0,-15]) cube([8,20,part_width+2],center=true);
}