parent
							
								
									0556de6498
								
							
						
					
					
						commit
						43f3a91352
					
				| @ -0,0 +1,121 @@ | ||||
| // Case dimensions | ||||
| case_x=22.42;        // Case X dimension | ||||
| case_y=10.16;        // Case Y dimension | ||||
| case_z=1.2;        // Case Z dimension | ||||
| dot_radius=0.3; // Notch radius | ||||
| dot_depth=0.1;  // Notch depth | ||||
| dot_off_x=0.5;  // Notch offset X | ||||
| dot_off_y=0.5;  // Notch offset Y | ||||
| color_case=[0.15,0.15,0.15]; // dark gray | ||||
| color_dot=[1,1,1]; // white | ||||
| 
 | ||||
| // Pin arrays parameters | ||||
| side1_pins = 27; | ||||
| side2_pins = 0; | ||||
| side3_pins = 27; | ||||
| side4_pins = 0; | ||||
| pin_distance =0.808;    // Pin step | ||||
| color_pin=[1,1,1]; // white | ||||
| 
 | ||||
| // Pin parameters | ||||
| pin_th = 0.15; // Thickness | ||||
| pin_W = 0.375;  // Pin width | ||||
| pin_L = 0.8;  // Total Length | ||||
| pin_H = case_z/2+pin_th/2; // Pin height (from bottom to top) | ||||
| pin_l = 0.4;  // Length of the bottom part | ||||
| pin_a = 115;  // Bending angle | ||||
| 
 | ||||
| translate_to_center=[-(side1_pins-1)*pin_distance/2,-(case_y+pin_L*2)/2,0]; | ||||
| 
 | ||||
| // Bended pin | ||||
| // _L - whole pin length | ||||
| // _l - length of bottom part | ||||
| // _H - whole pin height | ||||
| // _th - pin thickness | ||||
| // _a - bending angle | ||||
| // _W - pin width | ||||
| module pin(_L,_l,_H,_th,_a,_W) | ||||
| { | ||||
|     // Internal variables | ||||
|     _d1 = _th*sin(_a) / (1-cos(_a)); | ||||
|     _d2 = (_th-_H)*cos(_a) / sin(_a); | ||||
| 
 | ||||
|     rotate([90,0,90]) | ||||
|     // Extrude the following polygon | ||||
|     linear_extrude(height = _W, center = true, convexity = 10, twist = 0) | ||||
|         polygon([[0,0], | ||||
|                  [_l,0], | ||||
|                  [_l+_d2,_H-_th], | ||||
|                  [_L,_H-_th], | ||||
|                  [_L,_H], | ||||
|                  [_l+_d2-_d1,_H], | ||||
|                  [_l-_d1,_th], | ||||
|                  [0,_th]]); | ||||
| } | ||||
| 
 | ||||
| // Array of pins | ||||
| // _cnt - number of pins | ||||
| // _distance - distance between pin centres | ||||
| module pins_array(_cnt, _distance) | ||||
| { | ||||
|     if (_cnt>0) | ||||
|     color(color_pin) | ||||
|     { | ||||
|         for (_i = [0:_cnt-1]) | ||||
|         { | ||||
|             translate([_distance*_i,0,0]) | ||||
|                 pin(pin_L,pin_l,pin_H,pin_th,pin_a,pin_W); | ||||
|         } | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| // Simple case with notch | ||||
| module case() | ||||
| { | ||||
|     difference() | ||||
|     { | ||||
|         translate([case_x/2,case_y/2,case_z/2]) | ||||
|         color(color_case) | ||||
|           cube([case_x,case_y,case_z],center=true); | ||||
|         translate([dot_radius+dot_off_x,dot_radius+dot_off_y,case_z]) | ||||
|           color(color_dot) | ||||
|             cylinder(h=dot_depth*2, r = dot_radius, center= true, $fn = 10); | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| // Complete model | ||||
| // scale(1/2.54) // 1/2.54=0.3937 scale for Kicad | ||||
| module ic() | ||||
| { | ||||
|   // Case | ||||
|   translate([-(case_x-(side1_pins-1)*pin_distance)/2,pin_L,0]+translate_to_center) | ||||
|       case(); | ||||
| 
 | ||||
|   translate(translate_to_center) | ||||
|   union() | ||||
|   { | ||||
|     // Top pins | ||||
|     translate([(side1_pins-side3_pins)*pin_distance/2,case_y+pin_L*2,0]) | ||||
|         mirror([0,1,0]) | ||||
|             pins_array(side3_pins, pin_distance); | ||||
| 
 | ||||
|     // Bottom pins | ||||
|     pins_array(side1_pins, pin_distance); | ||||
| 
 | ||||
|     // Left pins | ||||
|     translate([-(case_x-(side1_pins-1)*pin_distance)/2 - pin_L,pin_L+case_y/2-(side4_pins-1)*pin_distance/2,0]) | ||||
|         mirror([1,0,0]) | ||||
|             rotate([0,0,90]) | ||||
|                 pins_array(side4_pins, pin_distance); | ||||
| 
 | ||||
|     // Right pins | ||||
|     translate([-(case_x-(side1_pins-1)*pin_distance)/2-pin_L+case_x+2*pin_L,pin_L+case_y/2-(side2_pins-1)*pin_distance/2,0]) | ||||
|         mirror([0,1,0]) | ||||
|             mirror([0,1,0]) | ||||
|                 rotate([0,0,90]) | ||||
|                     pins_array(side2_pins, pin_distance); | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| ic(); | ||||
											
												
													File diff suppressed because it is too large
													Load Diff
												
											
										
									
								| @ -0,0 +1,83 @@ | ||||
| (module TSOP54 (layer F.Cu) (tedit 5A114F4C) | ||||
|   (descr "TSOPII-54: Plastic Thin Small Outline Package; 54 leads; body width 10.16mm; (see 128m-as4c4m32s-tsopii.pdf and http://www.infineon.com/cms/packages/SMD_-_Surface_Mounted_Devices/P-PG-TSOPII/P-TSOPII-54-1.html)") | ||||
|   (tags "TSOPII 0.8") | ||||
|   (attr smd) | ||||
|   (fp_text reference U2 (at 7.076 -10.274 90) (layer F.SilkS) | ||||
|     (effects (font (size 1 1) (thickness 0.15))) | ||||
|   ) | ||||
|   (fp_text value MT48LC4M16A2TG (at 8 0 90) (layer F.Fab) | ||||
|     (effects (font (size 1 1) (thickness 0.15))) | ||||
|   ) | ||||
|   (fp_line (start -5.08 11.1) (end -5.08 10.9) (layer F.SilkS) (width 0.15)) | ||||
|   (fp_line (start 5.08 11.1) (end 5.08 10.9) (layer F.SilkS) (width 0.15)) | ||||
|   (fp_circle (center -4.25 -10.25) (end -4 -10.25) (layer F.SilkS) (width 0.15)) | ||||
|   (fp_line (start -5.08 -10.9) (end -5.9 -10.9) (layer F.SilkS) (width 0.15)) | ||||
|   (fp_line (start -5.08 -11.1) (end -5.08 -10.9) (layer F.SilkS) (width 0.15)) | ||||
|   (fp_line (start 5.08 -11.1) (end 5.08 -10.9) (layer F.SilkS) (width 0.15)) | ||||
|   (fp_line (start 5.08 11.11) (end -5.08 11.11) (layer F.SilkS) (width 0.15)) | ||||
|   (fp_line (start -5.08 -11.11) (end 5.08 -11.11) (layer F.SilkS) (width 0.15)) | ||||
|   (pad 28 smd oval (at 5.88 10.504) (size 1.1 0.56) (layers F.Cu F.Paste F.Mask)) | ||||
|   (pad 1 smd rect (at -5.88 -10.504) (size 1.1 0.56) (layers F.Cu F.Paste F.Mask)) | ||||
|   (pad 2 smd oval (at -5.88 -9.696) (size 1.1 0.56) (layers F.Cu F.Paste F.Mask)) | ||||
|   (pad 3 smd oval (at -5.88 -8.888) (size 1.1 0.56) (layers F.Cu F.Paste F.Mask)) | ||||
|   (pad 4 smd oval (at -5.88 -8.08) (size 1.1 0.56) (layers F.Cu F.Paste F.Mask)) | ||||
|   (pad 5 smd oval (at -5.88 -7.272) (size 1.1 0.56) (layers F.Cu F.Paste F.Mask)) | ||||
|   (pad 6 smd oval (at -5.88 -6.464) (size 1.1 0.56) (layers F.Cu F.Paste F.Mask)) | ||||
|   (pad 7 smd oval (at -5.88 -5.656) (size 1.1 0.56) (layers F.Cu F.Paste F.Mask)) | ||||
|   (pad 8 smd oval (at -5.88 -4.848) (size 1.1 0.56) (layers F.Cu F.Paste F.Mask)) | ||||
|   (pad 9 smd oval (at -5.88 -4.04) (size 1.1 0.56) (layers F.Cu F.Paste F.Mask)) | ||||
|   (pad 10 smd oval (at -5.88 -3.232) (size 1.1 0.56) (layers F.Cu F.Paste F.Mask)) | ||||
|   (pad 11 smd oval (at -5.88 -2.424) (size 1.1 0.56) (layers F.Cu F.Paste F.Mask)) | ||||
|   (pad 12 smd oval (at -5.88 -1.616) (size 1.1 0.56) (layers F.Cu F.Paste F.Mask)) | ||||
|   (pad 13 smd oval (at -5.88 -0.808) (size 1.1 0.56) (layers F.Cu F.Paste F.Mask)) | ||||
|   (pad 14 smd oval (at -5.88 0) (size 1.1 0.56) (layers F.Cu F.Paste F.Mask)) | ||||
|   (pad 15 smd oval (at -5.88 0.808) (size 1.1 0.56) (layers F.Cu F.Paste F.Mask)) | ||||
|   (pad 16 smd oval (at -5.88 1.616) (size 1.1 0.56) (layers F.Cu F.Paste F.Mask)) | ||||
|   (pad 17 smd oval (at -5.88 2.424) (size 1.1 0.56) (layers F.Cu F.Paste F.Mask)) | ||||
|   (pad 18 smd oval (at -5.88 3.232) (size 1.1 0.56) (layers F.Cu F.Paste F.Mask)) | ||||
|   (pad 19 smd oval (at -5.88 4.04) (size 1.1 0.56) (layers F.Cu F.Paste F.Mask)) | ||||
|   (pad 20 smd oval (at -5.88 4.848) (size 1.1 0.56) (layers F.Cu F.Paste F.Mask)) | ||||
|   (pad 21 smd oval (at -5.88 5.656) (size 1.1 0.56) (layers F.Cu F.Paste F.Mask)) | ||||
|   (pad 22 smd oval (at -5.88 6.464) (size 1.1 0.56) (layers F.Cu F.Paste F.Mask)) | ||||
|   (pad 23 smd oval (at -5.88 7.272) (size 1.1 0.56) (layers F.Cu F.Paste F.Mask)) | ||||
|   (pad 24 smd oval (at -5.88 8.08) (size 1.1 0.56) (layers F.Cu F.Paste F.Mask)) | ||||
|   (pad 25 smd oval (at -5.88 8.888) (size 1.1 0.56) (layers F.Cu F.Paste F.Mask)) | ||||
|   (pad 26 smd oval (at -5.88 9.696) (size 1.1 0.56) (layers F.Cu F.Paste F.Mask)) | ||||
|   (pad 27 smd oval (at -5.88 10.504) (size 1.1 0.56) (layers F.Cu F.Paste F.Mask)) | ||||
|   (pad 29 smd oval (at 5.88 9.696) (size 1.1 0.56) (layers F.Cu F.Paste F.Mask)) | ||||
|   (pad 30 smd oval (at 5.88 8.888) (size 1.1 0.56) (layers F.Cu F.Paste F.Mask)) | ||||
|   (pad 31 smd oval (at 5.88 8.08) (size 1.1 0.56) (layers F.Cu F.Paste F.Mask)) | ||||
|   (pad 32 smd oval (at 5.88 7.272) (size 1.1 0.56) (layers F.Cu F.Paste F.Mask)) | ||||
|   (pad 33 smd oval (at 5.88 6.464) (size 1.1 0.56) (layers F.Cu F.Paste F.Mask)) | ||||
|   (pad 34 smd oval (at 5.88 5.656) (size 1.1 0.56) (layers F.Cu F.Paste F.Mask)) | ||||
|   (pad 35 smd oval (at 5.88 4.848) (size 1.1 0.56) (layers F.Cu F.Paste F.Mask)) | ||||
|   (pad 36 smd oval (at 5.88 4.04) (size 1.1 0.56) (layers F.Cu F.Paste F.Mask)) | ||||
|   (pad 37 smd oval (at 5.88 3.232) (size 1.1 0.56) (layers F.Cu F.Paste F.Mask)) | ||||
|   (pad 38 smd oval (at 5.88 2.424) (size 1.1 0.56) (layers F.Cu F.Paste F.Mask)) | ||||
|   (pad 39 smd oval (at 5.88 1.616) (size 1.1 0.56) (layers F.Cu F.Paste F.Mask)) | ||||
|   (pad 40 smd oval (at 5.88 0.808) (size 1.1 0.56) (layers F.Cu F.Paste F.Mask)) | ||||
|   (pad 41 smd oval (at 5.88 0) (size 1.1 0.56) (layers F.Cu F.Paste F.Mask)) | ||||
|   (pad 42 smd oval (at 5.88 -0.808) (size 1.1 0.56) (layers F.Cu F.Paste F.Mask)) | ||||
|   (pad 43 smd oval (at 5.88 -1.616) (size 1.1 0.56) (layers F.Cu F.Paste F.Mask)) | ||||
|   (pad 44 smd oval (at 5.88 -2.424) (size 1.1 0.56) (layers F.Cu F.Paste F.Mask)) | ||||
|   (pad 45 smd oval (at 5.88 -3.232) (size 1.1 0.56) (layers F.Cu F.Paste F.Mask)) | ||||
|   (pad 46 smd oval (at 5.88 -4.04) (size 1.1 0.56) (layers F.Cu F.Paste F.Mask)) | ||||
|   (pad 47 smd oval (at 5.88 -4.848) (size 1.1 0.56) (layers F.Cu F.Paste F.Mask)) | ||||
|   (pad 48 smd oval (at 5.88 -5.656) (size 1.1 0.56) (layers F.Cu F.Paste F.Mask)) | ||||
|   (pad 49 smd oval (at 5.88 -6.464) (size 1.1 0.56) (layers F.Cu F.Paste F.Mask)) | ||||
|   (pad 50 smd oval (at 5.88 -7.272) (size 1.1 0.56) (layers F.Cu F.Paste F.Mask)) | ||||
|   (pad 51 smd oval (at 5.88 -8.08) (size 1.1 0.56) (layers F.Cu F.Paste F.Mask)) | ||||
|   (pad 52 smd oval (at 5.88 -8.888) (size 1.1 0.56) (layers F.Cu F.Paste F.Mask)) | ||||
|   (pad 53 smd oval (at 5.88 -9.696) (size 1.1 0.56) (layers F.Cu F.Paste F.Mask)) | ||||
|   (pad 54 smd oval (at 5.88 -10.504) (size 1.1 0.56) (layers F.Cu F.Paste F.Mask)) | ||||
|   (model Housings_SSOP.3dshapes/TSOPII-54_10.16x22.22mm_Pitch0.8mm.wrl | ||||
|     (at (xyz 0 0 0)) | ||||
|     (scale (xyz 1 1 1)) | ||||
|     (rotate (xyz 0 0 0)) | ||||
|   ) | ||||
|   (model Housings_SSOP.3dshapes/VSO-56_11.1x21.5mm_Pitch0.75mm.wrl | ||||
|     (at (xyz 0 0 0)) | ||||
|     (scale (xyz 0.75 1.03486 1)) | ||||
|     (rotate (xyz 0 0 0)) | ||||
|   ) | ||||
| ) | ||||
											
												
													File diff suppressed because it is too large
													Load Diff
												
											
										
									
								
					Loading…
					
					
				
		Reference in new issue
	
	 Emard
						Emard