Sign in with STEVE

Compare versions

3 files changed, +23 −5

part.py +17 −1
@@ -101,7 +101,12 @@
101101# The cans are drawn steel shells, closed at the top and open into the header. No sheet gives the wall, so it is fitted to the can's mass on
102102# Central's material sheets (TO-3 R3 20-September 2018: 2,550 mg; TO-18 R4 10-February 2020: 114.99 mg; TO-39 R4 16-July 2018: 350 mg;
103103# TO-46 R2 16-July 2018: 109.313 mg), at the model's density (iron 7.87, steel 7.85), rounded to 0.01 mm. A proportion, not a drawn size.
104CAN_WALL = {"TO-3": 0.44, "TO-18": 0.20, "TO-39": 0.25, "TO-46": 0.70}
104CAN_WALL = {"TO-3": 0.44, "TO-18": 0.20, "TO-39": 0.25, "TO-46": 0.43}
105# TO-46 header: the table gives only C max 1.02, and the side view draws the flange 0.2025 x D thick, so 0.39 at D's middle (TO-18's
106# drawing agrees with its C max 0.76, so it keeps it). Its header (material sheet R2: 84.447 mg) is Kovar with 19.3 mg of glass: the glass
107# seal is a disc in the Kovar eyelet, its diameter fitted to that weight at the glass's density (2.23), rounded to 0.01 mm. Proportions.
108HEADER_C = {"TO-46": 0.39}
109GLASS_D = {"TO-46": 5.32}
105110
106111PACKAGES = ("TO-220AB", "TO-220AC", "TO-220F", "TO-220F-2", "TO-262", "TO-251AA", "TO-247AC", "TO-126", "TO-92", "TO-3", "TO-18", "TO-18-2",
107112 "TO-39", "TO-46")
@@ -329,6 +334,7 @@
329334 # 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
330335 # 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.
331336 t = mid(CANS[package])
337 t["C"] = HEADER_C.get(package, t["C"])
332338 cx = t["G"] / 2
333339 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)]
334340 model.plane("flange_plane", on="XY", offset=0.0, name="Flange")
@@ -341,6 +347,16 @@
341347 model.extrude("flange", "flange_sketch", distance=t["C"], op="new", body="header_body", name="Flange and tab")
342348 can_shell("can", cx, 0.0, t["C"], t["D"], t["B"] / 2, CAN_WALL[package[:5]], 0.0, "Can")
343349 bodies = {"header_body": ("nickel", "#c9ccd1"), "can_body": ("steel-dc01", "#d5d8dc")}
350 if package in GLASS_D:
351 model.plane("glass_plane", on="XY", offset=0.0, name="Glass seal")
352 with model.sketch("glass_sketch", on="glass_plane", name="Glass seal") as sk:
353 sk.circle("glass_round", (cx, 0.0), GLASS_D[package] / 2)
354 model.extrude("glass_cut", "glass_sketch", distance=t["C"], op="cut", body="header_body", name="Glass seal")
355 model.plane("glass2_plane", on="XY", offset=0.0, name="Glass seal")
356 with model.sketch("glass2_sketch", on="glass2_plane", name="Glass seal") as sk:
357 sk.circle("glass2_round", (cx, 0.0), GLASS_D[package] / 2)
358 model.extrude("glass", "glass2_sketch", distance=t["C"], op="new", body="glass_body", name="Glass seal")
359 bodies["glass_body"] = ("glass-borosilicate", "#3a4a3f")
344360 if detail == "full":
345361 model.plane("leads_plane", on="XY", offset=-t["E"], name="Leads")
346362 with model.sketch("leads_sketch", on="leads_plane", name="Leads") as sk:
pypart.toml +1 −1
@@ -1,5 +1,5 @@
11name = "steve/to-package"
2version = "1.3.0"
2version = "1.3.1"
33runtime = "steve"
44license = "MIT"
55summary = "Through-hole TO packages standing on the board: TO-220AB, TO-220AC, TO-220F, TO-262, TO-251AA, TO-247AC, TO-126, TO-92 and the TO-3, TO-18, TO-39 and TO-46 metal cans, from the makers' drawings."
README.md +5 −3
@@ -54,7 +54,7 @@
5454 - Both sheets' material sheets give a Kovar header and leads and a nickel-plated iron-alloy can.
5555- **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:
5656 - 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.
57 - 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).
57 - TO-46 (mm): A 5.31–5.84, B 4.52–4.95, C 1.02 max (the part uses 0.39, as drawn: see below), 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).
5858- **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.
5959- **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.
6060 - 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.
@@ -80,7 +80,9 @@
8080 - TO-3: 0.44, for a 2,537 mg can (sheet 2,550 mg; R3, 20-September 2018). With the flange and leads, the part weighs 10.42 g. The sheet gives 11.7 g for the whole device, of which 10.30 g is the header and can; the rest is tin plating, die coating and the die.
8181 - TO-18 and TO-18-2: 0.20, for a 114 mg can (sheet 114.99 and 115 mg; R4, 10-February 2020, and R0, 8-March 2013). The parts weigh 339 and 321 mg (sheet 312.4 and 287 mg).
8282 - TO-39: 0.25, for a 356 mg can (sheet 350 mg; R4, 16-July 2018). The part weighs 993 mg (sheet 1,006 mg).
83 - TO-46: 0.70, for a 110 mg can (sheet 109.313 mg; R2, 16-July 2018). The can is only 0.89 high, so the wall is thick. The part weighs 399 mg, where the sheet gives 204 mg: the model's solid header and leads weigh 290 mg, where the sheet gives 84 mg for the header.
83 - TO-46: 0.43, for a 109 mg can (sheet 109.313 mg; R2, 16-July 2018). The part weighs 198 mg (sheet 204 mg, of which about 6 mg is the die, bond wire and plating).
84- The TO-46 header (1.3.1). The table gives only C max 1.02, and 1.3.0 used it, but the side view draws the flange 0.2025 x D thick, so it is 0.39 at D's middle. The TO-18's drawing agrees with its C max of 0.76, so the TO-18 keeps it. Central's material sheet gives the TO-46 header as 84.447 mg of Kovar with 19.3 mg of glass. So the header is a Kovar eyelet holding a glass seal, a disc whose diameter (5.32) is fitted to the glass's weight at its density (borosilicate, 2.23). The eyelet and leads weigh 70 mg and the glass 19.3 mg, so the header weighs 89 mg (sheet 84.4 mg). The leads match the drawing: Ø 0.47 (F 0.41–0.53) and 12.70 long (E 12.70 min).
85- The TO-18 parts weigh 339 and 321 mg against the sheets' 312.4 and 287 mg. The flange matches its drawing and the leads their table. What's left is the header's material: the model's header is solid Kovar (as nickel), while Central's holds 42 mg of glass (TO-18 sheet R4). The drawing doesn't show where the glass is, so it isn't modelled.
8486- The TO-3 flange outline is drawn but not dimensioned: it is read as round the holes (radius (A − G) / 2), round the centre (Ø M), and joined by tangent lines. The can's top edge is rounded 0.08 x B, as drawn.
8587- 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.
8688- Not modelled: the TO-220AC's and TO-220FP-2's cut-off middle lead, the TO-220's and TO-251AA's ejector marks, the TO-251AA's lead-tip taper, the TO-247's copper ring ØP1, and the bodies' 5° draft and small radii.
@@ -88,7 +90,7 @@
8890- Materials are for looks and a rough mass:
8991 - The mouldings are epoxy. Nylon (PA6) is the nearest material in the list.
9092 - The TO-220 and TO-262 tabs, the TO-247 pad and the TO-126 plate are copper, and the leads are tinned copper.
91 - 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.
93 - The TO-18, TO-39 and TO-46 headers and leads are Kovar (8.36), so nickel (8.9), the nearest in the list; the TO-46's glass seal is borosilicate glass. Their cans are steel.
9294 - The TO-3 header and can are iron, as Central's material sheet gives. The sheet names no other metal for the leads, so they are taken as iron too.
9395
9496## Catalogue models