Sign in with STEVE

Compare versions

3 files changed, +146 −22

part.py +69 −6
@@ -5,7 +5,7 @@
55from steve import Model
66import math
77
8package = "TO-220AB" # TO-220AB, TO-220AC, TO-247AC, TO-92, TO-18 or TO-18-2
8package = "TO-220AB" # TO-220AB, TO-220AC, TO-220F, TO-220F-2, TO-247AC, TO-126, TO-92, TO-18, TO-18-2, TO-39 or TO-46
99detail = "full" # full: body, tab and leads; simple: the body and tab only
1010
1111# Vishay Siliconix, "TO-220AB (High Voltage)", Package Information, document 92506, revision 30-Sep-2024 (DWG 6031), page 2 table; and
@@ -41,9 +41,37 @@
4141# modelled; the TO-247's side slots are half-round (Ø E2) and the copper ring P1 isn't modelled; the TO-92's flat face is cut from a round body
4242# W across; every lead's shoulder narrows to the lead in one step.
4343NOTCH = (1.4, 2.8)
44# Central Semiconductor, "Package Details - TO-39" (REV R1, R0 21-June 2004) and "Package Details - TO-46" (REV R2, R0 17-July 2008), tables
45# (min, max) in mm, the letters as TO18's (C: the max, the only value; E: 12.70 min). TO-46's sheet names the tab width J and its length K;
46# here they are I and J, as on the TO-18 and TO-39 sheets.
47TO39 = dict(A=(8.51, 9.40), B=(8.00, 8.51), C=(1.02, 1.02), D=(6.10, 6.60), E=(12.70, 12.70), F=(0.41, 0.53), G=(5.08, 5.08), H=(2.54, 2.54),
48 I=(0.71, 0.86), J=(0.74, 1.14))
49TO46 = dict(A=(5.31, 5.84), B=(4.52, 4.95), C=(1.02, 1.02), D=(1.65, 2.16), E=(12.70, 12.70), F=(0.41, 0.53), G=(2.54, 2.54), H=(1.27, 1.27),
50 I=(0.91, 1.17), J=(0.71, 1.22))
51CANS = {"TO-18": TO18, "TO-18-2": TO18, "TO-39": TO39, "TO-46": TO46}
52# Central Semiconductor, "Package Details - TO-126" (REV R3, R0 21-June 2004), table (min, max) in mm, the middle (single values as given):
53# A body thickness, B the leads' centre plane from the back, C lead thickness, D width, E hole centre below the top, F hole diameter,
54# G body height, H lead length below the body (shoulder included), J lead width, K pitch, L lead 1 to lead 3, M shoulder width, N shoulder
55# length. The back carries the mounting plate ("Mounting Plate Common to Pin 2").
56TO126 = dict(A=(2.40, 2.80), B=(1.27, 1.27), C=(0.38, 0.75), D=(7.40, 8.50), E=(3.75, 3.75), F=(3.00, 3.40), G=(10.50, 12.00),
57 H=(15.70, 15.70), J=(0.62, 0.90), K=(2.25, 2.25), L=(4.50, 4.50), M=(1.14, 1.40), N=(2.10, 2.10))
58# Central Semiconductor, "Package Details - TO-220FP Case" (REV R5, R2 06-June 2023) and "TO-220FP-2 Case" (REV R2, R0 28-January 2015),
59# tables (min, max) in mm; where a sheet gives only a maximum the model uses it. A body thickness, B the thinner top part's thickness,
60# C the leads' centre plane from the back, D lead thickness, E width, F the thin top part's height, G body height, H shoulder length,
61# J lead length below the body, K lead width, L pitch (TO-220FP-2: each lead's offset from the centre line), M hole centre below the top,
62# N hole diameter, P shoulder width. The fully moulded body has no exposed metal.
63TO220F = dict(A=(4.20, 5.12), B=(2.30, 3.30), C=(2.50, 3.10), D=(0.80, 0.80), E=(9.70, 10.63), F=(6.06, 7.00), G=(14.80, 16.25),
64 H=(4.50, 4.50), J=(12.78, 13.80), K=(0.50, 0.90), L=(2.54, 2.54), M=(2.55, 3.55), N=(2.95, 3.40), P=(1.00, 1.47))
65TO220F2 = dict(A=(4.80, 4.80), B=(3.12, 3.12), C=(2.50, 2.90), D=(0.81, 0.81), E=(10.31, 10.31), F=(6.30, 6.90), G=(14.80, 15.40),
66 H=(4.10, 4.10), J=(13.00, 13.80), K=(0.90, 0.90), L=(2.55, 2.55), M=(2.55, 2.85), N=(3.00, 3.40), P=(1.40, 1.40))
67# Proportions, for looks: the TO-126's mounting plate on the back is 0.3 thick, set in 0.08 x the width from the sides and the top and
68# ending 0.1 x the height above the bottom (drawn dashed in the front view, not dimensioned); the TO-220FP-2's cut-off middle lead stub
69# (O, P, Q on its sheet) isn't modelled.
70PLATE_T = 0.3
4471
45if package not in ("TO-220AB", "TO-220AC", "TO-247AC", "TO-92", "TO-18", "TO-18-2"):
46 raise ValueError("package: TO-220AB, TO-220AC, TO-247AC, TO-92, TO-18 or TO-18-2")
72PACKAGES = ("TO-220AB", "TO-220AC", "TO-220F", "TO-220F-2", "TO-247AC", "TO-126", "TO-92", "TO-18", "TO-18-2", "TO-39", "TO-46")
73if package not in PACKAGES:
74 raise ValueError("package: " + ", ".join(PACKAGES))
4775
4876
4977def mid(table):
@@ -108,6 +136,41 @@
108136 bodies = {"body_body": ("pa6", "#1c1c1e"), "tab_body": ("copper", "#c8ccd0")}
109137 if detail == "full":
110138 leads(xs, t["b"], t["c"], t["L"], t["L1"], [t["b2"]] * len(xs), z0)
139elif package in ("TO-220F", "TO-220F-2"):
140 # Fully moulded (no exposed metal): the full thickness A up to F below the top, then the thinner top part B thick, its back face flush.
141 t = mid(TO220F if package == "TO-220F" else TO220F2)
142 xs = [0.0, t["L"], 2 * t["L"]] if package == "TO-220F" else [0.0, 2 * t["L"]]
143 cx = xs[-1] / 2
144 back = t["C"]
145 front = back - t["A"]
146 z0 = t["H"] # the shoulders rest on the board
147 top = z0 + t["G"]
148 E = t["E"]
149 box("body", cx - E / 2, cx + E / 2, front, back, z0, top - t["F"], "body_body", "new", "Body")
150 box("body_top", cx - E / 2, cx + E / 2, back - t["B"], back, top - t["F"], top, "body_body", "join", "Body")
151 through_y("hole", (cx, top - t["M"], t["N"] / 2), back + 0.1, back - t["B"] - 0.1, "body_body", "cut", "Mounting hole")
152 bodies = {"body_body": ("pa6", "#1c1c1e")}
153 if detail == "full":
154 leads(xs, t["K"], t["D"], t["J"], t["H"], [t["P"]] * len(xs), z0)
155elif package == "TO-126":
156 # Moulded body with the mounting plate on its back and the hole through both; leads at pitch K, their centre plane B in front of the back.
157 t = mid(TO126)
158 xs = [0.0, t["K"], 2 * t["K"]]
159 cx = t["K"]
160 back = t["B"]
161 front = back - t["A"]
162 z0 = t["N"]
163 top = z0 + t["G"]
164 W = t["D"]
165 box("body", cx - W / 2, cx + W / 2, front, back, z0, top, "body_body", "new", "Body")
166 m = 0.08 * W
167 box("plate_recess", cx - W / 2 + m, cx + W / 2 - m, back - PLATE_T, back, z0 + 0.1 * t["G"], top - m, "body_body", "cut", "Plate recess")
168 box("plate", cx - W / 2 + m, cx + W / 2 - m, back - PLATE_T, back, z0 + 0.1 * t["G"], top - m, "plate_body", "new", "Mounting plate")
169 through_y("hole", (cx, top - t["E"], t["F"] / 2), back + 0.1, front - 0.1, "body_body", "cut", "Mounting hole")
170 through_y("plate_hole", (cx, top - t["E"], t["F"] / 2), back + 0.1, front - 0.1, "plate_body", "cut", "Mounting hole")
171 bodies = {"body_body": ("pa6", "#1c1c1e"), "plate_body": ("copper", "#c8ccd0")}
172 if detail == "full":
173 leads(xs, t["J"], t["C"], t["H"], t["N"], [t["M"]] * 3, z0)
111174elif package == "TO-247AC":
112175 t = TO247AC
113176 xs = [0.0, t["e"], 2 * t["e"]]
@@ -131,10 +194,10 @@
131194 bodies = {"body_body": ("pa6", "#1c1c1e"), "pad_body": ("copper", "#c8ccd0")}
132195 if detail == "full":
133196 leads(xs, t["b"], t["c"], t["L"], t["L1"], [t["b2"], t["b4"], t["b2"]], z0)
134elif package in ("TO-18", "TO-18-2"):
197elif package in CANS:
135198 # Metal can: the flange (header) on the board, the can on it; leads on a circle round the axis (lead 1 at the origin, lead 3 or lead 2
136199 # at +X by G, the 3-lead part's lead 2 H off that line along -Y); the tab at 45 deg toward -X +Y, beside lead 1.
137 t = mid(TO18)
200 t = mid(CANS[package])
138201 cx = t["G"] / 2
139202 xs = [(0.0, 0.0), (t["G"], 0.0)] if package == "TO-18-2" else [(0.0, 0.0), (cx, -t["H"]), (t["G"], 0.0)]
140203 model.plane("flange_plane", on="XY", offset=0.0, name="Flange")
@@ -179,7 +242,7 @@
179242 sk.rect(f"lead_{i}", (x - t["b"] / 2, -t["c"] / 2), (x + t["b"] / 2, t["c"] / 2))
180243 model.extrude("leads", "leads_sketch", distance=t["L"], op="new", body="leads_body", name="Leads")
181244if detail == "full":
182 bodies["leads_body"] = ("nickel", "#d8c58a") if package.startswith("TO-18") else ("copper", "#c9ccd1")
245 bodies["leads_body"] = ("nickel", "#d8c58a") if package in CANS else ("copper", "#c9ccd1")
183246# Materials, for looks and a rough mass: the moulding is epoxy (nylon, PA6, the nearest in the list), the tab and pad copper (nickel or tin
184247# plated), the leads tinned copper. TO-18 (Central's material sheets): the header and leads Kovar (density 8.36; nickel, 8.9, is the nearest
185248# in the list), the can a nickel-plated iron alloy (steel).
pypart.toml +41 −6
@@ -1,17 +1,17 @@
11name = "steve/to-package"
2version = "1.0.0"
2version = "1.1.0"
33runtime = "steve"
44license = "MIT"
5summary = "Through-hole transistor packages standing on the board: TO-220AB, TO-220AC, TO-247AC TO-92 (straight leads) and the TO-18 metal can, from Vishay's and TI's package drawings."
6description = """A through-hole transistor, regulator or diode package standing on the board, from the maker's package drawing: TO-220AB (3 leads) and TO-220AC (2 leads) with the metal tab and its hole, TO-247AC with its exposed copper and side slots, TO-92 with straight leads, and the TO-18 metal can with 2 or 3 leads. Lead 1 at the origin, the leads along +X, the moulded front toward -Y. See the README."""
7tags = ["to-220", "to-247", "to-92", "to-18", "transistor", "package", "through-hole", "electronics"]
5summary = "Through-hole TO packages standing on the board: TO-220AB, TO-220AC, TO-220F, TO-247AC, TO-126, TO-92 and the TO-18, TO-39 and TO-46 metal cans, from the makers' drawings."
6description = """A through-hole transistor, regulator or diode package standing on the board, from the maker's package drawing: TO-220AB (3 leads) and TO-220AC (2 leads) with the metal tab and its hole, TO-247AC with its exposed copper and side slots, TO-92 with straight leads, TO-126 with its mounting plate, the fully moulded TO-220F with 3 or 2 leads, and the TO-18 (2 or 3 leads), TO-39 and TO-46 metal cans. Lead 1 at the origin, the leads along +X, the moulded front toward -Y. See the README."""
7tags = ["to-220", "to-247", "to-92", "to-18", "to-39", "to-126", "transistor", "package", "through-hole", "electronics"]
88
99[parameters.package]
1010type = "choice"
1111default = "TO-220AB"
12choices = ["TO-220AB", "TO-220AC", "TO-247AC", "TO-92", "TO-18", "TO-18-2"]
12choices = ["TO-220AB", "TO-220AC", "TO-220F", "TO-220F-2", "TO-247AC", "TO-126", "TO-92", "TO-18", "TO-18-2", "TO-39", "TO-46"]
1313label = "Package"
14description = "TO-220AB: 3 leads at 2.54. TO-220AC: 2 leads 5.08 apart. TO-247AC: 3 leads at 5.46. TO-92: 3 straight leads at 1.27. TO-18: metal can, 3 leads on a 2.54 circle; TO-18-2: 2 leads 2.54 apart."
14description = "TO-220AB: 3 leads at 2.54. TO-220AC: 2 leads 5.08 apart. TO-247AC: 3 leads at 5.46. TO-92: 3 straight leads at 1.27. TO-18: metal can, 3 leads on a 2.54 circle; TO-18-2: 2 leads 2.54 apart. TO-39: metal can, Ø 9, 3 leads on a 5.08 circle. TO-46: low metal can, 3 leads on a 2.54 circle. TO-126: 3 leads at 2.25, mounting plate on the back. TO-220F: fully moulded, 3 leads at 2.54; TO-220F-2: 2 leads 5.1 apart."
1515
1616[parameters.detail]
1717type = "choice"
@@ -35,11 +35,32 @@
3535standard = "Vishay TO-220AC"
3636
3737[[presets]]
38id = "TO-220F"
39title = "TO-220F (fully moulded), 3 leads, 2.54 pitch, vertical (Central Semiconductor outline)"
40params = { package = "TO-220F" }
41aliases = ["TO-220F-3", "TO-220F", "TO-220FP", "TO-220 FullPAK", "TO-220 full pack 3 lead"]
42standard = "Central TO-220FP"
43
44[[presets]]
45id = "TO-220F-2"
46title = "TO-220F (fully moulded), 2 leads, 5.1 apart, vertical (Central Semiconductor outline)"
47params = { package = "TO-220F-2" }
48aliases = ["TO-220F-2", "TO-220FP-2", "TO-220 full pack 2 lead"]
49standard = "Central TO-220FP-2"
50
51[[presets]]
3852id = "TO-247AC"
3953title = "TO-247AC, 3 leads, 5.46 pitch, vertical (Vishay outline)"
4054params = { package = "TO-247AC" }
4155aliases = ["TO-247-3", "TO-247", "TO-247AC", "JEDEC TO-247AC", "TO247 3 lead"]
4256standard = "Vishay TO-247AC"
57
58[[presets]]
59id = "TO-126"
60title = "TO-126, 3 leads, 2.25 pitch, vertical (Central Semiconductor outline)"
61params = { package = "TO-126" }
62aliases = ["TO-126-3", "TO-126", "TO126 3 lead", "SOT-32"]
63standard = "Central TO-126"
4364
4465[[presets]]
4566id = "TO-92"
@@ -63,6 +84,20 @@
6384standard = "Central TO-18 2-lead"
6485
6586[[presets]]
87id = "TO-39"
88title = "TO-39 metal can, 3 leads (Central Semiconductor outline)"
89params = { package = "TO-39" }
90aliases = ["TO-39-3", "TO-39", "TO-205AD", "JEDEC TO-205AD", "TO39 metal can 3 lead"]
91standard = "Central TO-39"
92
93[[presets]]
94id = "TO-46"
95title = "TO-46 metal can, 3 leads (Central Semiconductor outline)"
96params = { package = "TO-46" }
97aliases = ["TO-46-3", "TO-46", "TO-206AB", "JEDEC TO-206AB", "TO46 metal can 3 lead"]
98standard = "Central TO-46"
99
100[[presets]]
66101id = "TO-220AB-simple"
67102title = "TO-220AB, 3 leads, 2.54 pitch, vertical (Vishay outline), simple"
68103params = { package = "TO-220AB", detail = "simple" }
README.md +36 −10
@@ -6,16 +6,21 @@
66|---|---|---|---|
77| `TO-220AB` | 3, 2.54 pitch | 10.16 x 4.45 x 15.09 (tab included) | Vishay Siliconix 92506 |
88| `TO-220AC` | 2, 5.08 apart | 10.31 x 4.45 x 15.05 (tab included) | Vishay Semiconductors 95221 |
9| `TO-220F` | 3, 2.54 pitch | 10.17 x 4.66 x 15.53, fully moulded | Central Semiconductor TO-220FP |
10| `TO-220F-2` | 2, 5.10 apart | 10.31 x 4.80 x 15.10, fully moulded | Central Semiconductor TO-220FP-2 |
911| `TO-247AC` | 3, 5.46 pitch | 15.70 x 5.02 x 20.55 | Vishay Siliconix 91360 |
12| `TO-126` | 3, 2.25 pitch | 7.95 x 2.60 x 11.25 | Central Semiconductor TO-126 |
1013| `TO-92` | 3 straight, 1.27 pitch | 4.83 x 3.68 x 4.83 | TI LP0003A |
1114| `TO-18` | 3, on a Ø 2.54 circle | flange Ø 5.58, can Ø 4.74, 4.83 high | Central Semiconductor TO-18 |
1215| `TO-18-2` | 2, 2.54 apart | as `TO-18` | Central Semiconductor TO-18 2-Lead |
16| `TO-39` | 3, on a Ø 5.08 circle | flange Ø 8.96, can Ø 8.26, 6.35 high | Central Semiconductor TO-39 |
17| `TO-46` | 3, on a Ø 2.54 circle | flange Ø 5.58, can Ø 4.74, 1.91 high | Central Semiconductor TO-46 |
1318
14Lead 1 is at the origin and the leads run along +X. The moulded front faces -Y (on the TO-92, the flat face), and the metal tab or exposed copper is at the back (+Y).
19Lead 1 is at the origin and the leads run along +X. The moulded front faces -Y (on the TO-92, the flat face), and the metal tab, exposed copper or mounting plate is at the back (+Y).
1520
16- **TO-220 and TO-247.** The leads' shoulders rest on the board (the XY plane), and the leads continue their full length L down through it.
21- **TO-220, TO-220F, TO-247 and TO-126.** The leads' shoulders rest on the board (the XY plane), and the leads continue their full length down through it.
1722- **TO-92.** The body sits 1.5 above the board (TI's reference seating plane).
18- **TO-18.** The flange sits on the board. Leads 1 and 3 are 2.54 apart along +X, and lead 2 is 1.27 off that line along -Y. The tab is at 45°, beside lead 1.
23- **TO-18, TO-39 and TO-46.** The flange sits on the board. Leads 1 and 3 are G apart along +X (2.54, or 5.08 on the TO-39), and lead 2 is H off that line along -Y (1.27, or 2.54). The tab is at 45°, beside lead 1.
1924
2025`detail = "simple"` leaves out the leads.
2126
@@ -39,22 +44,32 @@
3944- **Central Semiconductor, "Package Details - TO-18"** (REV R1, R0 21-June 2004) and **"TO-18 2-Lead Case"** (REV R0, 13-March 2013), from centralsemi.com.
4045 - Table (mm): A flange Ø 5.31–5.84, B can Ø 4.52–4.95, C flange 0.76 max (used as is), D height 4.32–5.33, E lead length 12.70 min (used as is), F lead Ø 0.41–0.48, G 2.54 (the lead circle, or the 2-lead part's spacing), H 1.27 (3 leads), and tab width 0.91–1.17 and tab length 0.71–1.22 at 45° (I and J; on the 2-lead sheet, H and J).
4146 - Both sheets' material sheets give a Kovar header and leads and a nickel-plated iron-alloy can.
47- **Central Semiconductor, "Package Details - TO-39"** (REV R1, R0 21-June 2004) and **"Package Details - TO-46"** (REV R2, R0 17-July 2008), from centralsemi.com. The tables use the TO-18 sheet's letters:
48 - TO-39 (mm): A flange Ø 8.51–9.40, B can Ø 8.00–8.51, C flange 1.02 max (used as is), D height 6.10–6.60, E lead length 12.70 min (used as is), F lead Ø 0.41–0.53, G 5.08 (the lead circle), H 2.54, I tab width 0.71–0.86, J tab length 0.74–1.14.
49 - TO-46 (mm): A 5.31–5.84, B 4.52–4.95, C 1.02 max, D 1.65–2.16, E 12.70 min, F 0.41–0.53, G 2.54, H 1.27, and the tab width 0.91–1.17 and length 0.71–1.22 (its J and K).
50- **Central Semiconductor, "Package Details - TO-126"** (REV R3, R0 21-June 2004), from centralsemi.com. Table (mm): A thickness 2.40–2.80, B the leads' centre plane 1.27 from the back, C lead thickness 0.38–0.75, D width 7.40–8.50, E hole centre 3.75 below the top, F hole Ø 3.00–3.40, G body height 10.50–12.00, H lead length 15.70 below the body, J lead width 0.62–0.90, K pitch 2.25 (L 4.50 from lead 1 to lead 3), M shoulder width 1.14–1.40, N shoulder length 2.10. "Mounting Plate Common to Pin 2", on the back.
51- **Central Semiconductor, "Package Details - TO-220FP Case"** (REV R5, R2 06-June 2023) and **"TO-220FP-2 Case"** (REV R2, R0 28-January 2015), from centralsemi.com.
52 - TO-220FP (mm): A thickness 4.20–5.12, B the top part's thickness 2.30–3.30, C the leads' centre plane 2.50–3.10 from the back, D lead thickness 0.80 max, E width 9.70–10.63, F the top part's height 6.06–7.00, G body height 14.80–16.25, H shoulder length 4.50 max, J lead length 12.78–13.80, K lead width 0.50–0.90, L pitch 2.54, M hole centre 2.55–3.55 below the top, N hole Ø 2.95–3.40, P shoulder width 1.00–1.47.
53 - TO-220FP-2 (mm): A 4.80 max, B 3.12 max, C 2.50–2.90, D 0.81 max, E 10.31 max, F 6.30–6.90, G 14.80–15.40, H 4.10 max, J 13.00–13.80, K 0.90 max, L 2.55 (each lead from the centre line, so 5.10 apart), M 2.55–2.85, N 3.00–3.40, P 1.40 max. Where the sheets give only a maximum, the part uses it.
4254
4355How the letters are read:
4456
4557- **TO-220 and TO-247.** A2 (TO-247: A1) runs from the leads' back face to the back of the package. The leads' shoulders (b2, b4) are L1 long. On the TO-220, the metal tab is A1 thick: E wide above the moulding (H1 = D - D1), and E1 wide down the back to D2 below the top. On the TO-247, the exposed copper (D1 x E1, from D2 below the top) is taken as A2 thick, the dimension drawn at the back face. The TO-247's side slots are Ø E2, at Q below the top, the same height as the hole.
4658- **TO-92.** The body is a round of Ø W, cut flat at the depth T, with the leads K in front of the round back.
47- **TO-18.** The tab length J is read as reaching beyond the flange's edge.
59- **TO-18, TO-39 and TO-46.** The tab length J is read as reaching beyond the flange's edge.
60- **TO-220F.** The side view draws the body A thick up to F below the top, and above that B thick with the back face flush, so the hole is in the thinner part. H is the shoulder's length below the body, J the lead's from the body.
61- **TO-126.** H is the lead's length from the body, shoulder included, and B runs from the back (the side the sheet marks "BACKSIDE") to the leads' centre plane.
4862
4963**Proportions, for looks only.** The drawings show these but don't dimension them:
5064
5165- The TO-220 tab's side notches, E2 deep, are 1.4 high, from 1.4 to 2.8 below the top, as drawn.
52- Not modelled: the TO-220AC's cut-off middle lead, the TO-220's ejector dimple, the TO-247's copper ring ØP1, and the bodies' 5° draft and small radii.
66- The TO-126's mounting plate on the back, drawn dashed in the front view, is 0.3 thick, set in 0.08 x the width from the sides and the top, and ends 0.1 x the height above the bottom.
67- Not modelled: the TO-220AC's and TO-220FP-2's cut-off middle lead, the TO-220's ejector dimple, the TO-247's copper ring ØP1, and the bodies' 5° draft and small radii.
5368- Every lead's shoulder narrows to the lead in one step.
5469- Materials are for looks and a rough mass:
5570 - The mouldings are epoxy. Nylon (PA6) is the nearest material in the list.
56 - The TO-220 tab and the TO-247 pad are copper, and the leads are tinned copper.
57 - The TO-18 header and leads are Kovar (8.36), so nickel (8.9), the nearest in the list. Its can is steel.
71 - The TO-220 tab, the TO-247 pad and the TO-126 plate are copper, and the leads are tinned copper.
72 - The TO-18, TO-39 and TO-46 headers and leads are Kovar (8.36), so nickel (8.9), the nearest in the list. Their cans are steel.
5873
5974## Catalogue models
6075
@@ -66,13 +81,24 @@
6681- **TO-92 and TO-92_Inline.** 4.83 wide, 3.75 deep. Leads at 1.27, with the flat face 1.33 in front of the leads and the round back 2.42 behind them.
6782- **TO-18-3.** Flange Ø 5.84, can Ø 4.95 and leads Ø 0.48 (the drawing's maximums). Lead 2 is 1.27 off the line of leads 1 and 3, and the tab is at 45° beside lead 1.
6883
69The reference models stand their bodies at different heights above the board: the TO-92 at 2.5 and the TO-18 at about 5. The drawings don't give these, so this part uses the drawings' own seating.
84Added in 1.1.0, measured the same way:
7085
71So these map: TO-220-3_Vertical (TO-220AB), TO-220-2_Vertical (TO-220AC), TO-247-3_Vertical (TO-247AC), TO-92 and TO-92_Inline (TO-92), TO-18-3 (TO-18) and TO-18-2 (TO-18-2).
86- **TO-39-3.** Flange Ø 9.40 and can Ø 8.50 (the drawing's maximums), 6.5 high, leads Ø 0.48 on a Ø 5.08 circle with lead 2 2.54 off the line. The model has no tab; the drawing has one.
87- **TO-46-3.** Flange Ø 5.84 with the 45° tab, can Ø 4.80 tapering to 4.73, 2.2 high (D max 2.16, so 0.04 over), leads Ø 0.48 on a Ø 2.54 circle with lead 2 1.27 off the line.
88- **TO-126-3_Vertical.** 8.0 wide and 11.0 high, as drawn, but 3.25 thick where Central's drawing allows 2.40–2.80 (0.45 over). Leads 0.75 x 0.53 at 2.28 (Central 2.25, so 0.03 apart), their plane 1.25 from the back. Only the middle lead has a shoulder (1.6 wide), where Central draws one on every lead, 1.14–1.40 wide.
89- **TO-220F-3_Vertical.** 10.16 wide, 4.70 thick, with the top part 2.54 thick, and 15.6 high. Leads 0.80 x 0.53 with 1.36 shoulders at 2.54. The leads' plane is 3.29 from the back, where Central's drawing gives 2.50–3.10 (0.19 over).
90- **TO-220F-2_Vertical.** The same body, with leads at 0 and 5.08 (Central 5.10).
91
92The names name the JEDEC package, so they map to the maker's drawing of it, with the pitch and lead order as named, and the differences are listed here.
93
94The reference models stand their bodies at different heights above the board: the TO-92 at 2.5, and the TO-18, TO-39 and TO-46 at about 5. The drawings don't give these, so this part uses the drawings' own seating.
95
96So these map: TO-220-3_Vertical (TO-220AB), TO-220-2_Vertical (TO-220AC), TO-247-3_Vertical (TO-247AC), TO-92 and TO-92_Inline (TO-92), TO-18-3 (TO-18), TO-18-2 (TO-18-2), TO-39-3 (TO-39), TO-46-3 (TO-46), TO-126-3_Vertical (TO-126), TO-220F-3_Vertical (TO-220F) and TO-220F-2_Vertical (TO-220F-2).
7297
7398These stay "no table read yet" (`COVERAGE.md`):
7499
75100- the TO-92 models with leads formed to 2.54 (`_Wide`). TI's formed leads are 2.4 to 2.9 apart, with a land pattern of 2.6.
76101- the horizontal (bent-lead) models. The drawings give straight leads only.
77- the other packages in the family: TO-126, TO-218, TO-220F, TO-220-4/5/11, TO-251, TO-262, TO-264, TO-3, TO-3P, TO-5, TO-8, TO-11, TO-39, TO-46 and TO-52, the TO-92 variants (L, S, Mini, Flat, 2-lead), and the windowed and lensed cans.
102- the 2-lead TO-39, TO-46 and TO-126 models. Central's TO-39, TO-46 and TO-126 sheets draw 3 leads only.
103- the other packages in the family: TO-218, TO-220-4/5/11, TO-247-2/4/5, TO-251, TO-262, TO-264, TO-3, TO-3P, TO-5, TO-8, TO-11 and TO-52, the TO-92 variants (L, S, Mini, Flat, 2-lead), and the windowed and lensed cans.
78104