mirror of
https://github.com/nophead/NopSCADlib.git
synced 2025-01-17 13:38:16 +01:00
Added TO247() and TO247_size() to component.scad.
This commit is contained in:
parent
700f5a2205
commit
c37373c920
BIN
libtest.png
BIN
libtest.png
Binary file not shown.
Before Width: | Height: | Size: 931 KiB After Width: | Height: | Size: 932 KiB |
@ -785,6 +785,7 @@ Various electronic components used in hot ends and heated beds.
|
||||
| Function | Description |
|
||||
|:--- |:--- |
|
||||
| `TO220_thickness()` | Thickness of the tab of a TO220 |
|
||||
| `TO247_size()` | Body dimensions of a T247 and the hole offset |
|
||||
| `fack2spm_bezel_size()` | FACK2SPM Bezel dimensions |
|
||||
| `fack2spm_screw()` | Screw type for FACK2SPM |
|
||||
|
||||
@ -792,6 +793,7 @@ Various electronic components used in hot ends and heated beds.
|
||||
| Module | Description |
|
||||
|:--- |:--- |
|
||||
| ` TO220(description, leads = 3, lead_length = 16)` | Draw a TO220 package, use `description` to describe what it is |
|
||||
| ` TO247(description, leads = 3, lead_length = 20)` | Draw a TO247 package, use `description` to describe what it is |
|
||||
| `al_clad_resistor(type, value, leads = true)` | Draw an aluminium clad resistor |
|
||||
| `al_clad_resistor_hole_positions(type)` | Position children at the screw holes of an aluminium clad resistor |
|
||||
| `al_clad_resistor_holes(type, h = 100)` | Drill screw holes for an aluminium clad resistor |
|
||||
@ -812,6 +814,7 @@ Various electronic components used in hot ends and heated beds.
|
||||
| Qty | Module call | BOM entry |
|
||||
| ---:|:--- |:---|
|
||||
| 1 | `TO220("Generic TO220 package")` | Generic TO220 package |
|
||||
| 1 | `TO247("Generic TO247 package", lead_length = 20)` | Generic TO247 package |
|
||||
| 8 | `tubing(HSHRNK32)` | Heatshrink sleeving ID 3.2mm x 15mm |
|
||||
| 1 | `resistor(RWM04106R80J)` | Resistor RWM04106R80J 6R8 3W vitreous enamel |
|
||||
| 1 | `resistor(RIE1212UB5C5R6)` | Resistor UB5C 5R6F 5R6 3W vitreous enamel |
|
||||
|
@ -42,6 +42,9 @@ module components() {
|
||||
TO220("Generic TO220 package");
|
||||
|
||||
translate([40, 50])
|
||||
TO247("Generic TO247 package");
|
||||
|
||||
translate([40, 80])
|
||||
panel_USBA();
|
||||
|
||||
translate([80, 50])
|
||||
|
Binary file not shown.
Before Width: | Height: | Size: 108 KiB After Width: | Height: | Size: 113 KiB |
@ -257,6 +257,79 @@ module TO220(description, leads = 3, lead_length = 16) { //! Draw a TO220 packa
|
||||
children();
|
||||
}
|
||||
|
||||
function TO247_size() = [15.7, 20.82, 4.82, 5.58]; //! Body dimensions of a T247 and the hole offset
|
||||
|
||||
module TO247(description, leads = 3, lead_length = 20) { //! Draw a TO247 package, use `description` to describe what it is
|
||||
size = TO247_size();
|
||||
hole_y = size[3];
|
||||
metal = [12.81, 13.08, 1.5];
|
||||
metal_y_offset = 1.35;
|
||||
hole = 3.5;
|
||||
metal_hole = 6.85;
|
||||
lead_height = 2.5;
|
||||
lead_t = 0.61;
|
||||
lead_w2 = 2.5;
|
||||
lead_w = 1.25;
|
||||
lead_pitch = 5.56;
|
||||
lead_l = 3.8;
|
||||
|
||||
vitamin(str("TO247(\"", description, "\"", arg(leads, 3, "leads"), arg(lead_length, 16, "lead_length"), "): ", description));
|
||||
|
||||
module body_shape()
|
||||
difference() {
|
||||
translate([-size.x / 2, 0])
|
||||
square([size.x, size.y]);
|
||||
|
||||
translate([0, size.y - hole_y])
|
||||
circle(d = hole);
|
||||
}
|
||||
|
||||
translate([0, -size.y + hole_y]) {
|
||||
color("silver") {
|
||||
linear_extrude(metal.z)
|
||||
difference() {
|
||||
translate([-metal.x / 2, size.y - metal.y - metal_y_offset])
|
||||
square([metal.x, metal.y]);
|
||||
|
||||
translate([0, size.y - hole_y])
|
||||
circle(d = metal_hole);
|
||||
}
|
||||
|
||||
translate_z(lead_height)
|
||||
linear_extrude(lead_t)
|
||||
intersection() {
|
||||
for(i = [-1 : 1])
|
||||
if(i || leads == 3) {
|
||||
translate([lead_pitch * i, -lead_length / 2, lead_height])
|
||||
square([lead_w, lead_length], center = true);
|
||||
|
||||
translate([lead_pitch * i, -lead_l / 2, lead_height])
|
||||
square([lead_w2, lead_l], center = true);
|
||||
}
|
||||
square([2 * lead_pitch + lead_w, 100], center = true);
|
||||
}
|
||||
}
|
||||
|
||||
color("dimgrey")
|
||||
translate_z(eps) {
|
||||
linear_extrude(metal.z - 2 * eps)
|
||||
body_shape();
|
||||
|
||||
linear_extrude(size.z)
|
||||
difference() {
|
||||
body_shape();
|
||||
|
||||
for(side = [-1, 1])
|
||||
translate([side * size.x / 2, size.y - hole_y])
|
||||
circle(d = 5);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
translate_z(size.z)
|
||||
children();
|
||||
}
|
||||
|
||||
panel_USBA_pitch = 30;
|
||||
|
||||
module panel_USBA_hole_positions() //! Place children at hole positions
|
||||
|
Loading…
x
Reference in New Issue
Block a user