Sign in with STEVE

steve/dowel-pin

Parallel pin (dowel pin), ISO 2338 / DIN 7, d 0.6 to 50 mm, any length.

v2.0.0 Latest STEVE MIT 0
Isometric
part.py 37 lines · Python · STEVE runtime · checked
Download
1"""Parallel pin (dowel pin), ISO 2338 (DIN 7), d 0.6 to 50 mm, any length.
2
3A cylinder of the nominal diameter d and length l with an end chamfer c (ISO 2338 gives c as an approximate value;
4drawn here at 45 degrees) on both ends. One end face is on the XY plane at the origin, the pin along +Z.
5"""
6from steve import Model
7
8diameter = 4 # mm Nominal diameter d
9length = 20 # mm Length l
10material = "steel" # Material
11
12# ISO 2338:1997 table (DIN EN ISO 2338:1998-02, https://www.fasten.it/en/Norms/Norm/DIN%20EN%20ISO%202338). d: c (approximate end chamfer)
13CHAMFERS = {
14 0.6: 0.12, 0.8: 0.16, 1: 0.2, 1.2: 0.25, 1.5: 0.3, 2: 0.35, 2.5: 0.4, 3: 0.5, 4: 0.63, 5: 0.8, 6: 1.2, 8: 1.6,
15 10: 2.0, 12: 2.5, 16: 3.0, 20: 3.5, 25: 4.0, 30: 5.0, 40: 6.3, 50: 8.0,
16}
17# material choice: (STEVE material library id, appearance colour)
18MATERIALS = {
19 "steel": ("steel-generic", "#b4b7bb"), # ISO 2338 steel (unhardened)
20 "stainless-a1": ("stainless-304", "#c9ccd0"), # austenitic stainless (A1)
21}
22
23if diameter not in CHAMFERS:
24 raise ValueError(f"ISO 2338 has no diameter {diameter} mm; diameters: {', '.join(str(k) for k in CHAMFERS)}")
25c = CHAMFERS[diameter]
26if length <= 2 * c:
27 raise ValueError(f"length must be more than twice the end chamfer ({2 * c} mm)")
28r = diameter / 2
29material_id, colour = MATERIALS[material]
30
31model = Model()
32with model.sketch("profile", on="XZ", name="Profile") as sk:
33 sk.polyline("outline", [(0, 0), (r - c, 0), (r, c), (r, length - c), (r - c, length), (0, length)])
34model.revolve("pin", "profile", axis="Z", name="Pin")
35model.material(material_id, color=colour)
36result = model.result()
37

ISO 2338 (DIN 7) parallel pin: a cylinder of nominal diameter d and length l with the standard's end chamfer c on both ends, with catalogue sizes as presets. One end face is on the XY plane at the origin and the pin points along +Z. Dimensions from ISO 2338 (see the README).

Dowel pin (ISO 2338 / DIN 7)

Parallel pin of unhardened steel or austenitic stainless steel, d 0.6 to 50 mm, any length, with catalogue sizes as presets (4 × 20, 6 × 30, ...).

Geometry

A cylinder of the nominal diameter d and length l with the end chamfer c on both ends. ISO 2338 gives c as an approximate value; it is drawn at 45°. One end face is on the XY plane at the origin, the pin along +Z.

Parameters

Parameter Meaning
diameter Nominal diameter d, mm (0.6 to 50)
length Length l, mm
material steel (unhardened), stainless-a1 (austenitic stainless)

Source

ISO 2338:1997 (DIN EN ISO 2338:1998), Parallel pins, of unhardened steel and austenitic stainless steel, dimension table: d and c ≈ (mm), read from the reproduction on fasten.it ("reproduced by permission of DIN", https://www.fasten.it/en/Norms/Norm/DIN EN ISO 2338).

d c
0.6 0.12
0.8 0.16
1 0.2
1.2 0.25
1.5 0.3
2 0.35
2.5 0.4
3 0.5
4 0.63
5 0.8
6 1.2
8 1.6
10 2
12 2.5
16 3
20 3.5
25 4
30 5
40 6.3
50 8

Preset list: sizes of the step.parts catalogue (MIT), see library/NOTICE.md. The catalogue's 4 mm pin with an M3 set-screw thread is not an ISO 2338 pin and has no preset.

  1. 2.0.0 Latest Compare with 1.1.0
  2. 1.1.0 Compare with 1.0.0

    Materials and finishes: each part is made of its standard's engineering material, with its usual finish.

  3. 1.0.0
More #pin
STEVEMIT

steve/slotted-spring-pin

Slotted spring pin (roll pin), heavy duty, ISO 8752 / DIN 1481, d 1 to 50 mm, any length.

0 53 sizes 0 1 day ago v1.0.0
STEVEMIT

steve/cotter-pin

Cotter pin (split pin), nominal 1 to 5 mm, any length: simplified envelope measured from step.parts' models.

0 7 sizes 0 1 day ago v1.0.0
STEVEMIT

steve/clevis-pin

Clevis pin with head, ISO 2341 / DIN 1444, type A or B (split-pin hole), d 4 to 24 mm, any length.

0 24 sizes 0 1 day ago v1.0.0
STEVEMIT

steve/hex-head-screw

Hexagon head screw, fully threaded, ISO 4017 / DIN 933, M1.6 to M36, any length, with catalogue sizes as presets.

18 85 sizes 0 1 day ago v2.0.0