Sign in with STEVE

steve/pcb-card-guide

PCB card guide and board retaining clip, boards 1 to 2.4 mm, any length: simplified, measured from step.parts' models.

v1.0.0 Latest STEVE MIT 0
Isometric
part.py 49 lines · Python · STEVE runtime · checked
Download
1"""PCB card guide and board retaining clip, boards 1 to 2.4 mm thick, any length: as step.parts' published models
2draw them.
3
4A rectangular bar along X (centred on the origin, base on the XY plane) with a board slot along its top:
5- guide: the slot runs the full length;
6- retain-clip: the slot stops short of the +X end, and an end lip stands above the bar there, overhanging the end.
7See the README.
8"""
9from steve import Model
10
11kind = "guide" # Kind: guide or retain-clip
12board = "1.6" # Board thickness (mm)
13length = 100 # mm Length
14material = "unspecified" # Material
15
16# mm, measured on step.parts' models pcb_card_guide_board<t>mm_l<length> and pcb_board_retain_clip_... (every planar
17# face read): the same body for every board and length
18BODY = {
19 "width": 8.0, # across (Y)
20 "height": 6.0, # bar top (Z)
21 "floor": 1.8, # slot floor above the base
22 "lip_top": 6.6, # clip: lip top
23 "lip_inset": 1.0, # clip: the slot stops this far from the +X end; the lip starts there
24 "lip_overhang": 1.0, # clip: the lip overhangs the +X end by this
25}
26# board thickness: slot width (board + 0.3 in every model)
27SLOTS = {"1": 1.3, "1.2": 1.5, "1.6": 1.9, "2": 2.3, "2.4": 2.7}
28# material choice: (STEVE material library id, appearance colour); the models name no material
29MATERIALS = {"unspecified": (None, None), "nylon": ("pa6", "#ece9e1"), "pom": ("pom-copolymer", "#f2f2ee")}
30
31b = BODY
32slot = SLOTS[board]
33material_id, colour = MATERIALS[material]
34end = length / 2
35
36model = Model()
37model.box("bar", length, b["width"], b["height"], at=(0, 0, b["height"] / 2), name="Bar")
38slot_end = end if kind == "guide" else end - b["lip_inset"]
39model.box("slot", slot_end + end, slot, b["height"], at=((slot_end - end) / 2, 0, b["floor"] + b["height"] / 2),
40 op="cut", name="Board slot")
41if kind == "retain-clip":
42 lip_len = b["lip_inset"] + b["lip_overhang"]
43 lip_h = b["lip_top"] - b["floor"]
44 model.box("lip", lip_len, b["width"], lip_h,
45 at=(end - b["lip_inset"] + lip_len / 2, 0, b["floor"] + lip_h / 2), op="join", name="End lip")
46if material_id:
47 model.material(material_id, color=colour)
48result = model.result()
49

A simplified PCB card guide for assemblies: an 8 x 6 mm bar with a board slot along its top (slot = board thickness + 0.3 mm), or a board retaining clip (the slot stopping short of one end, with an end lip). Boards 1, 1.2, 1.6, 2 and 2.4 mm thick, any length. Measured from step.parts' published models (MIT); no standard or maker drawing covers these generic guides. Along X, centred on the origin, base on the XY plane. Dimensions and attribution: see the README.

PCB card guide (simplified)

A simplified PCB card guide or board retaining clip for assemblies, boards 1 to 2.4 mm thick, any length.

Geometry

An 8 mm wide, 6 mm high bar along X, centred on the origin, its base on the XY plane, with a board slot along its top from 1.8 mm above the base, as wide as the board plus 0.3 mm:

  • guide: the slot runs the full length;
  • retain-clip: the slot stops 1 mm short of the +X end, where an end lip (2 mm along X, from the slot floor up to 6.6 mm) stands, overhanging the end by 1 mm.
Board 1 1.2 1.6 2 2.4
Slot width 1.3 1.5 1.9 2.3 2.7

Parameters

Parameter Meaning
kind guide or retain-clip
board board thickness, mm
length mm (the clip's lip adds 1 mm)
material unspecified (no material assigned), nylon (PA6), pom

Sources

No standard covers these generic guides and they name no maker. The geometry was measured from the published reference models below (every planar face read; the same body for every board and length), and every preset is checked against its own model: bounding box within 0.05 mm and volume within 2 %.

  • step.parts, pcb_card_guide_board<t>mm_l<length> and pcb_board_retain_clip_board<t>mm_l<length> (https://www.step.parts, repository https://github.com/earthtojake/step.parts, commit c6113328, catalog/step/): step.parts' own "analytic simplified" models, original project material under the repository's MIT licence (© 2026 earthtojake). They name no material, so the presets have material = "unspecified".

Simplifications (the models'): square-edged bar, no lead-in chamfer at the slot, no mounting holes or snap pegs, the clip's lip a plain block.

Preset list: from the step.parts catalogue (MIT), see library/NOTICE.md.

  1. 1.0.0 Latest
More #pcb
STEVEMIT

steve/smt-spacer

Würth Elektronik SMT steel spacers: WA-SMSI, WA-SMST, WA-SMSE and WA-SMSR, any length.

0 179 sizes 0 1 day ago v1.0.0
STEVEMIT

steve/round-spacer

Round unthreaded clearance spacer for M3 screws (Harwin R30-601): Ø4.76 × Ø3.30, any length.

0 9 sizes 0 1 day ago v1.0.0
STEVEMIT

steve/pcb-support

PCB support post (snap-in, adhesive-backed, swage, press-fit), M2 to M4, any height: simplified, measured from step.parts' models.

0 128 sizes 0 1 day ago v1.0.0
STEVEMIT

steve/hex-standoff

Hex standoffs M2 to M4, female/female and male/female: Würth WA-SBRII/SBRIE (M2), Harwin R25/R30/R40 (M2.5 to M4).

0 69 sizes 0 1 day ago v1.0.0