Sign in with STEVE

steve/extrusion-accessory

T-slot extrusion accessories (end cap, cover strip, anchor fastener, inside corner connector), 20/30/40 series: simplified.

v1.0.0 Latest STEVE MIT 0
Isometric
part.py 56 lines · Python · STEVE runtime · checked
Download
1"""Accessories for 20, 30 and 40 mm T-slot extrusions, simplified as step.parts' published models draw them: end cap,
2slot cover strip, anchor fastener and inside corner connector.
3
4- end-cap: a square plate the size of the profile (centred on the origin, z = -1.5 to 1.5) with one round plug peg
5 standing on it;
6- cover-strip: a flat strip along X, centred, `length` long;
7- anchor: a block along X with a round pin through it along Z, both centred;
8- inside-corner: an L of square bar in the XY plane, its arms along +X and +Y from the corner at the origin, centred
9 on z = 0, its outer corner square-cut.
10See the README.
11"""
12from steve import Model
13
14kind = "end-cap" # Kind: end-cap, cover-strip, anchor, inside-corner
15series = "20" # Profile series (20, 30, 40 mm)
16length = 100 # mm Length (cover strip only)
17material = "unspecified" # Material
18
19# mm, measured on step.parts' models extrusion_<profile>_<accessory>_simple (every face read; the 2040, 2060, 2080
20# models are the 2020 ones, 3060 the 3030 ones, 4080 the 4040 ones). Per series:
21# end cap: plate side, plate thickness, peg diameter, peg centre (x = y), peg height above the plate
22# cover strip: width, thickness; anchor: block length (X), block width (Y), block height (Z), pin diameter, pin length
23# inside corner: bar section (square), arm length from the corner
24SERIES = {
25 "20": {"cap": (20.0, 3.0, 3.6, 5.0, 4.0), "strip": (5.6, 2.0), "anchor": (14.0, 7.0, 7.0, 5.0, 16.0), "corner": (7.0, 20.0)},
26 "30": {"cap": (30.0, 3.0, 5.4, 7.5, 4.0), "strip": (8.4, 2.0), "anchor": (21.0, 10.5, 10.5, 7.5, 24.0), "corner": (10.5, 30.0)},
27 "40": {"cap": (40.0, 3.0, 7.2, 10.0, 4.0), "strip": (11.2, 2.0), "anchor": (28.0, 14.0, 14.0, 10.0, 32.0), "corner": (14.0, 40.0)},
28}
29# material choice: (STEVE material library id, appearance colour); the models name no material
30MATERIALS = {"unspecified": (None, None), "nylon": ("pa6", "#2b2c2e"), "aluminum": ("aluminum-generic", "#cfd2d6"),
31 "steel": ("steel-generic", "#9da2a8")}
32
33s = SERIES[series]
34material_id, colour = MATERIALS[material]
35model = Model()
36if kind == "end-cap":
37 side, t, peg_d, peg_at, peg_h = s["cap"]
38 model.box("plate", side, side, t, name="Cap plate")
39 model.cylinder("peg", peg_d / 2, peg_h, at=(peg_at, peg_at, t / 2), op="join", name="Plug peg")
40elif kind == "cover-strip":
41 w, t = s["strip"]
42 model.box("strip", length, w, t, name="Cover strip")
43elif kind == "anchor":
44 bl, bw, bh, pin_d, pin_l = s["anchor"]
45 model.box("block", bl, bw, bh, name="Anchor block")
46 model.cylinder("pin", pin_d / 2, pin_l, at=(0, 0, -pin_l / 2), op="join", name="Pin")
47else:
48 bar, arm = s["corner"]
49 a = bar / 2
50 with model.sketch("corner_sketch", on="XY", name="Corner connector") as sk:
51 sk.polyline("outline", [(0, -a), (arm, -a), (arm, a), (a, a), (a, arm), (-a, arm), (-a, 0), (0, 0)])
52 model.extrude("corner", "corner_sketch", distance=bar, both=True, name="Corner connector")
53if material_id:
54 model.material(material_id, color=colour)
55result = model.result()
56

Simplified accessories for 20, 30 and 40 mm T-slot extrusions, for assemblies: a square end cap with a plug peg, a flat slot cover strip (any length), an anchor fastener (block and pin) and an inside corner connector (an L of square bar). Measured from step.parts' published models (MIT); no standard or maker drawing covers these generic accessories. Envelopes only: see the README.

T-slot extrusion accessories (simplified)

Simplified accessories for 20, 30 and 40 mm T-slot extrusions, for assemblies: end cap, slot cover strip, anchor fastener and inside corner connector.

Geometry

kind Shape
end-cap a square plate the size of the profile, 3 mm thick (z = −1.5 to 1.5, centred), with one round plug peg 4 mm high standing on it at (+p, +p)
cover-strip a flat strip along X, centred, length long
anchor a block along X with a round pin through it along Z, both centred
inside-corner an L of square bar in the XY plane, arms along +X and +Y from the origin, centred on z = 0, its outer corner square-cut
Series Cap side / peg Ø / peg at p Strip w × t Anchor block (X × Y × Z) / pin Ø × l Corner bar / arm
20 20 / 3.6 / 5 5.6 × 2 14 × 7 × 7 / 5 × 16 7 / 20
30 30 / 5.4 / 7.5 8.4 × 2 21 × 10.5 × 10.5 / 7.5 × 24 10.5 / 30
40 40 / 7.2 / 10 11.2 × 2 28 × 14 × 14 / 10 × 32 14 / 40

Parameters

Parameter Meaning
kind end-cap, cover-strip, anchor, inside-corner
series 20 (2020, 2040, ...), 30 (3030, 3060), 40 (4040, 4080)
length cover strip length, mm
material unspecified (no material assigned), nylon (PA6), aluminum, steel

Sources

No standard covers these generic accessories and they name no maker. The geometry was measured from the published reference models below (every face read: plate, block and bar faces, the peg's and pin's cylinders), and every preset is checked against its own models: bounding box within 0.05 mm and volume within 2 %.

  • step.parts, extrusion_<profile>_plastic_end_cap_simple, …_profile_cover_strip_simple, …_anchor_fastener_simple, …_inside_corner_connector_simple for profiles 2020 to 4080 (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".

The models of the 2040, 2060 and 2080 cover strips, anchors and corner connectors are the 2020 ones (3060: 3030; 4080: 4040), as the slot is the same: those entries share the series' preset. Their end caps are the square 20, 30 and 40 caps, not caps of those sections, and are not presets.

Simplifications (the models'): envelopes only. The cap has one off-centre peg instead of the slot clips, the anchor is a block with a straight pin, the corner connector a plain L with no screws or teeth, the strip a flat bar.

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

  1. 1.0.0 Latest
More #extrusion
STEVEMIT

steve/t-slot-extrusion

T-slot aluminium extrusions with real cross-sections (2020, 2040, 3030, 3060, 4040, 4080; slot 5, 6, 8), any length.

1 110 sizes 0 1 day ago v2.0.0
STEVEMIT

steve/makerbeam-profile

MakerBeam 10 x 10 mm aluminium profile, any length, from MakerBeam's own drawing.

0 14 sizes 0 1 day ago v1.0.0
STEVEMIT

steve/v-slot-extrusion

20 x 20 V-slot aluminium extrusion, any length, measured from the published FreeCAD-library model.

0 12 sizes 0 1 day ago v1.0.0
STEVEMIT

steve/extrusion-corner-bracket

Corner bracket envelope for 2020, 3030 and 4040 extrusions: two flat legs at a right angle (simplified, no holes).

0 6 sizes 0 1 day ago v1.0.0