Sign in with STEVE

steve/ball-screw

Ball screw shaft and DIN 69051 Form B flanged ball nut, TBI MOTION SFU01204-4, SFNU01605-4, SFNU01610-3, SFNU02005-4 and SFNU02505-4.

v1.0.0 STEVE MIT 0
Isometric
part.py 60 lines · Python · STEVE runtime · checked
Download
1"""Ball screw with a DIN 69051 Form B flanged single nut, TBI MOTION's SFU and SFNU series: the screw shaft by length (plain, as the screw's
2outside diameter) or the flanged ball nut. Shaft axis along Z from the XY plane up. The nut's axis along Z too, its flange face on the XY
3plane and the body rising from it, the two flats parallel to Y. Dimensions from TBI MOTION's catalogue, listed in the README."""
4import math
5
6from steve import Model
7
8model_no = "SFNU01605-4" # TBI MOTION model number
9part = "screw" # screw (the shaft) or nut (the flanged ball nut)
10length = 500 # mm Shaft length (screw only)
11
12# model: (screw diameter d, lead I, ball Da, nut body D, flange A, flange thickness B, nut length L, bolt circle W, across the flats H,
13# bolt hole X), mm. TBI MOTION Ball Screw catalogue (copy hosted by Anaheim Automation, L011848, PDF of 2025-03-12), "SFNU/SFU (DIN 69051
14# FORM B) Series Specifications": rolled ball screws page C76 (the same rows as the precision ground series, page C48).
15NUTS = {
16 "SFU01204-4": (12, 4, 2.5, 24, 40, 10, 40, 32, 30, 4.5),
17 "SFNU01605-4": (16, 5, 3.175, 28, 48, 10, 45, 38, 40, 5.5),
18 "SFNU01610-3": (16, 10, 3.175, 28, 48, 10, 57, 38, 40, 5.5),
19 "SFNU02005-4": (20, 5, 3.175, 36, 58, 10, 51, 47, 44, 6.6),
20 "SFNU02505-4": (25, 5, 3.175, 40, 62, 10, 51, 51, 48, 6.6),
21}
22# Bolt holes, page C48/C76 drawing for d <= 32: six X holes on the bolt circle W, at 45 degree steps either side of the axis between the flats
23# (90 +- 45 and 270 +- 45 degrees, none on the flats' side).
24HOLE_ANGLES = (45, 90, 135, 225, 270, 315)
25
26if model_no not in NUTS:
27 raise ValueError(f"no TBI MOTION model {model_no!r}: {', '.join(NUTS)}")
28d, lead, ball, D, A, B, L, W, H, X = NUTS[model_no]
29
30model = Model()
31if part == "screw":
32 # The screw shaft as its outside diameter d (the catalogue entries' plain "simple" shaft; the ball groove isn't drawn).
33 with model.sketch("shaft_sketch", on="XY", name="Shaft") as sk:
34 sk.circle("shaft_circle", (0, 0), d / 2)
35 model.extrude("shaft", "shaft_sketch", distance=length, name="Screw shaft")
36 model.material("steel-generic", color="#b9bdc2")
37elif part == "nut":
38 with model.sketch("flange_sketch", on="XY", name="Flange") as sk:
39 sk.circle("flange_circle", (0, 0), A / 2)
40 model.extrude("flange", "flange_sketch", distance=B, name="Flange")
41 # the two flats, H apart
42 model.box("flat_left", A, A, B, at=(-H / 2 - A / 2, 0, B / 2), op="cut", name="Flat")
43 model.box("flat_right", A, A, B, at=(H / 2 + A / 2, 0, B / 2), op="cut", name="Flat")
44 model.plane("body_plane", on="XY", offset=B, name="Body")
45 with model.sketch("body_sketch", on="body_plane", name="Body") as sk:
46 sk.circle("body_circle", (0, 0), D / 2)
47 model.extrude("body", "body_sketch", distance=L - B, op="join", name="Nut body")
48 with model.sketch("holes_sketch", on="XY", name="Bolt holes") as sk:
49 for i, a in enumerate(HOLE_ANGLES):
50 sk.circle(f"hole_{i}", (W / 2 * math.cos(math.radians(a)), W / 2 * math.sin(math.radians(a))), X / 2)
51 model.extrude("holes", "holes_sketch", distance=B, op="cut", name="Bolt holes")
52 # The bore: the screw's outside diameter d, a proportion (the catalogue doesn't dimension the nut's inside or its ball track).
53 with model.sketch("bore_sketch", on="XY", name="Bore") as sk:
54 sk.circle("bore_circle", (0, 0), d / 2)
55 model.extrude("bore", "bore_sketch", distance=L, op="cut", name="Bore")
56 model.material("steel-generic", color="#8d9298")
57else:
58 raise ValueError("part is screw or nut")
59result = model.result()
60

A ball screw's shaft, cut to length, or its flanged single nut to DIN 69051 Form B (flange with two flats and six bolt holes), from TBI MOTION's SFU/SFNU series table: 12 x 4, 16 x 5, 16 x 10, 20 x 5 and 25 x 5 mm (diameter x lead), the sizes sold as SFU1204, SFU1605, SFU1610, SFU2005 and SFU2505. The shaft is plain at the screw's outside diameter; the ball groove isn't drawn. See the README.

Ball screw

A ball screw's shaft, or its flanged single ball nut, from TBI MOTION's SFU and SFNU series. The nut's flange follows DIN 69051 Form B: a round flange with two flats and six bolt holes.

  • Screw (part = "screw"): the shaft, a plain cylinder at the screw's outside diameter d, length long, standing on the XY plane along +Z. The ball groove isn't drawn.
  • Nut (part = "nut"): the flange, A across and B thick, with its face on the XY plane and its flats H apart, parallel to Y. Six X holes sit on the bolt circle W. The body, D across, rises from the flange to the nut's length L. The bore is the screw's outside diameter d.
Model d x lead Ball Da D A B L W H X Nut weight Shaft weight
SFU01204-4 12 x 4 2.5 24 40 10 40 32 30 4.5 0.13 kg 0.87 kg/m
SFNU01605-4 16 x 5 3.175 28 48 10 45 38 40 5.5 0.183 kg 1.56 kg/m
SFNU01610-3 16 x 10 3.175 28 48 10 57 38 40 5.5 0.215 kg 1.56 kg/m
SFNU02005-4 20 x 5 3.175 36 58 10 51 47 44 6.6 0.306 kg 2.45 kg/m
SFNU02505-4 25 x 5 3.175 40 62 10 51 51 48 6.6 0.336 kg 3.83 kg/m

Source

TBI MOTION's ball screw catalogue, from a copy hosted by the distributor Anaheim Automation (document L011848, PDF of 2025-03-12): https://anaheimautomation.com/media/anaheim/files/manuals/forms/L011848_-_Catalog.pdf.

  • "SFNU/SFU (DIN 69051 FORM B) Series Specifications", page C76 (rolled ball screws), with the same rows on page C48 (precision ground): d, lead I, ball Da, and the nut's D, A, B, L, W, H and X. The drawing for d ≤ 32 shows six X holes on the bolt circle W, 45° apart either side of the axis between the flats, at 45°, 90°, 135°, 225°, 270° and 315° measured from the flats' normal (the X axis here). It also places the flange at one end of the nut.
  • "2-5 Ball Screw Weight List", page C85: the nut and shaft weights above.
  • "2-1 Nominal Model Code of Ball Screw", page C35: S is a single nut, F a flange, and NU the NU-type nut.

The names. The old catalogue names these sfu1204, sfu1605, sfu1610, sfu2005 and sfu2505. The names carry no maker: in the market they mean a ball screw of that diameter and lead with a DIN 69051 Form B flanged nut. Each is mapped to TBI MOTION's model with that standard, diameter and lead. For 12 x 4 that is TBI's SFU01204-4. For the others it is TBI's SFNU type, a single flanged nut with TBI's NU-type nut inside, in the same DIN 69051 Form B table. TBI's SFU (U-type nut) rows don't have 16 x 5, 16 x 10, 20 x 5 or 25 x 5.

Proportions, stated plainly. The catalogue doesn't dimension the nut's inside, so the bore is the screw's outside diameter d, with no ball track drawn. The oil hole Q and the wiper aren't drawn. The shaft is a plain cylinder at d, which is what the old catalogue's "simple" shafts are.

Mass. The material is steel (steel-generic). The shafts come out at 0.888 kg/m (12) and 1.578 kg/m (16), against TBI's 0.87 and 1.56: within 2 %. The nuts are solid between the bore and the outside, without the ball track and return channels, so they come out heavier than TBI's weights: SFU01204-4 148 g against 130 g, and SFNU01605-4 218 g against 183 g.

Catalogue models

The old catalogue's ball-screw entries have no models to measure. Each <name> ball screw L<n> simple entry maps to that model's shaft preset of that length. <name> ball nut and <name> flange ball nut both map to the model's nut, which has a flange. The <name> nut housing entries are left out: a nut housing isn't part of TBI MOTION's ball screw series, and the entries name no maker of one.

  1. 1.1.0 Latest Compare with 1.0.0

    The screw shaft now has its ball track (detail = full, the default); detail = simple keeps the plain shaft.

  2. 1.0.0
More #ball-screw
STEVEMIT

steve/precision-shaft

Precision round shaft for linear bearings: any diameter and length, with the common sizes as presets.

1 117 sizes 0 17 hours ago v1.0.1
STEVEMIT

steve/screw-end-support

Ball screw end support: BK and BF rectangular, FK and FF round, 6 to 40 mm shafts.

0 33 sizes 0 17 hours ago v1.0.0
STEVEMIT

steve/nema-stepper-motor

NEMA stepper motor envelope: frames 8, 11, 14, 17, 23 and 34, with common models such as 17HS4401 as presets.

0 32 sizes 0 1 day ago v1.1.0
STEVEMIT

steve/linear-guide

Profile linear guide envelope: HGR15, 20, 25 and MGN rails of any length, HGH and HGW blocks.

2 96 sizes 0 17 hours ago v1.1.2