Sign in with STEVE

steve/inch-flat-head-screw

Flat head (countersunk) socket cap screw, inch, ASME B18.3, #0 to 1/2 in, UNC/UNF, any length, with catalogue sizes as presets.

v1.0.0 Latest STEVE MIT 0
Isometric
part.py 74 lines · Python · STEVE runtime · checked
Download
1"""Flat (countersunk) head socket cap screw, inch series, ASME B18.3, #0 to 1/2 in, UNC and UNF, any length.
2
3Envelope model for assemblies: 82 degree countersunk head of diameter A (theoretical sharp, max), hexagon socket
4(nominal key size J, depth T = key engagement min) and a plain shank at the basic major diameter D of ASME B1.1 (the
5thread is not modelled). The head's top face is on the XY plane at the origin and the screw points along -Z;
6`length` (inches) is the nominal length L, overall (head included), as for all flat head screws. The model is in
7millimetres (1 in = 25.4 mm).
8"""
9import math
10
11from steve import Model
12
13size = "#10-24" # Thread (Unified, ASME B1.1)
14length = 0.5 # in Nominal length, overall
15material = "steel" # Material
16
17# Thread designation: nominal size
18THREADS = {
19 "#0-80": "#0", "#1-64": "#1", "#1-72": "#1", "#2-56": "#2", "#2-64": "#2", "#3-48": "#3", "#3-56": "#3",
20 "#4-40": "#4", "#4-48": "#4", "#5-40": "#5", "#5-44": "#5", "#6-32": "#6", "#6-40": "#6", "#8-32": "#8",
21 "#8-36": "#8", "#10-24": "#10", "#10-32": "#10", "1/4-20": "1/4", "1/4-28": "1/4", "5/16-18": "5/16",
22 "5/16-24": "5/16", "3/8-16": "3/8", "3/8-24": "3/8", "7/16-14": "7/16", "7/16-20": "7/16", "1/2-13": "1/2",
23 "1/2-20": "1/2",
24}
25# Sources (README): D from NBS Handbook H28 (1969) Table 2.7; the rest ASME B18.3-2012 Table 8
26# (https://www.globalfastener.com/standards/detail_20306.html), same values in B18.3-2003.
27# Inches. ASME B1.1 basic major diameter D; ASME B18.3 Table (flat countersunk head socket cap screws): head
28# diameter A (theoretical sharp, max), hexagon socket size J (nominal key), key engagement T min. The head height
29# follows from the 82 degree head angle: (A - D) / 2 / tan(41 deg) (the table's reference value H).
30# nominal: (D, A, J, T)
31DIMENSIONS = {
32 "#0": (0.0600, 0.138, 0.035, 0.025),
33 "#1": (0.0730, 0.168, 0.050, 0.031),
34 "#2": (0.0860, 0.197, 0.050, 0.038),
35 "#3": (0.0990, 0.226, 0.0625, 0.044),
36 "#4": (0.1120, 0.255, 0.0625, 0.055),
37 "#5": (0.1250, 0.281, 0.078125, 0.061),
38 "#6": (0.1380, 0.307, 0.078125, 0.066),
39 "#8": (0.1640, 0.359, 0.09375, 0.076),
40 "#10": (0.1900, 0.411, 0.125, 0.087),
41 "1/4": (0.2500, 0.531, 0.15625, 0.111),
42 "5/16": (0.3125, 0.656, 0.1875, 0.135),
43 "3/8": (0.3750, 0.781, 0.21875, 0.159),
44 "7/16": (0.4375, 0.844, 0.25, 0.159),
45 "1/2": (0.5000, 0.938, 0.3125, 0.172),
46}
47# material choice: (STEVE material library id, appearance colour)
48MATERIALS = {
49 "steel": ("steel-generic", "#2b2d30"), # alloy steel, black oxide
50 "stainless-18-8": ("stainless-304", "#c9ccd0"),
51 "stainless-316": ("stainless-316", "#c9ccd0"),
52}
53INCH = 25.4
54HEAD_ANGLE = 82 # degrees, included angle of the countersunk head
55
56D, A, J, T = DIMENSIONS[THREADS[size]]
57d = D * INCH
58dk = A * INCH
59s = J * INCH
60t = T * INCH
61overall = length * INCH
62cone = (dk - d) / 2 / math.tan(math.radians(HEAD_ANGLE / 2))
63material_id, colour = MATERIALS[material]
64
65model = Model()
66with model.sketch("profile", on="XZ", name="Profile") as sk:
67 sk.polyline("outline", [(0, 0), (dk / 2, 0), (d / 2, -cone), (d / 2, -overall), (0, -overall)])
68model.revolve("body", "profile", axis="Z", name="Screw")
69with model.sketch("socket_sketch", on="XY", name="Hexagon socket") as sk:
70 sk.polygon("hex", (0, 0), s / 2, 6, inscribed=False)
71model.extrude("socket", "socket_sketch", distance=-t, op="cut", name="Socket")
72model.material(material_id, color=colour)
73result = model.result()
74

ASME B18.3 flat countersunk head socket cap screw (82 degree head), Unified inch threads #0-80 to 1/2-20. Envelope geometry for assemblies: countersunk head (A, theoretical sharp), hexagon socket (J, T min) and a plain shank at the ASME B1.1 basic major diameter; the thread itself is not modelled. The head's top face is on the XY plane at the origin and the screw points along -Z; `length` is the nominal overall length, in inches (the model itself is in millimetres). Dimensions from ASME B18.3 flat head table (see the README).

Flat head socket cap screw, inch (ASME B18.3)

Flat (82° countersunk) head socket cap screw, Unified inch threads (UNC and UNF) #0-80 to 1/2-20, at any length. Presets cover the catalogue sizes.

Geometry

Envelope for assemblies:

  • 82° countersunk head of diameter A (theoretical sharp, max); its height follows from the head angle, (A - D) / 2 / tan 41°, which is the table's reference head height;
  • hexagon socket, nominal key size J, depth T (key engagement, min);
  • plain shank at the basic major diameter D; the thread is not modelled.

The head's top face is on the XY plane at the origin and the screw points along -Z. length is the overall length L (head included), as flat head screws are specified.

Parameters

Parameter Meaning
size Thread, #0-80 to 1/2-20 (UNC and UNF)
length Nominal overall length L, inches
material steel (alloy steel, black oxide), stainless-18-8 (304), stainless-316

Sources

The values are the same in the 2003 and 2012 editions; the recipe cites ASME B18.3-2012. Inch values as in the standard; the model converts them to millimetres (1 in = 25.4 mm).

Size D A J T
#0 0.06 0.138 0.035 0.025
#1 0.073 0.168 0.05 0.031
#2 0.086 0.197 0.05 0.038
#3 0.099 0.226 0.0625 0.044
#4 0.112 0.255 0.0625 0.055
#5 0.125 0.281 0.078125 0.061
#6 0.138 0.307 0.078125 0.066
#8 0.164 0.359 0.09375 0.076
#10 0.19 0.411 0.125 0.087
1/4 0.25 0.531 0.15625 0.111
5/16 0.3125 0.656 0.1875 0.135
3/8 0.375 0.781 0.21875 0.159
7/16 0.4375 0.844 0.25 0.159
1/2 0.5 0.938 0.3125 0.172

Preset list: sizes and lengths of the step.parts catalogue (MIT), see library/NOTICE.md.

  1. 1.0.0 Latest
More #fastener
STEVEMIT

steve/inch-socket-head-cap-screw

Socket head cap screw, inch, ASME B18.3, #0 to 1/2 in, UNC/UNF, any length, with catalogue sizes as presets.

0 112 sizes 0 1 day ago v1.0.0
STEVEMIT

steve/inch-set-screw

Socket set screw, inch, ASME B18.3, #0 to 1/2 in, UNC/UNF, with catalogue sizes as presets.

0 73 sizes 0 1 day ago v1.0.0
STEVEMIT

steve/inch-button-head-screw

Button head socket cap screw, inch, ASME B18.3, #0 to 1/2 in, UNC/UNF, any length, with catalogue sizes as presets.

0 112 sizes 0 1 day ago v1.0.0
STEVEMIT

steve/inch-hex-head-screw

Hex head screw, inch: ASME B18.2.1 hex cap screws 1/4 to 1/2 in, B18.6.3 hex machine screws #2 to #10, any length.

0 107 sizes 0 1 day ago v1.0.0