Sign in with STEVE

steve/pillow-block

Cast-iron pillow block unit UCP201 to UCP210, shafts 12 to 50 mm, as an envelope with its mounting slots.

v1.0.0 Latest STEVE MIT 0
Isometric
part.py 52 lines · Python · STEVE runtime · checked
Download
1"""Cast-iron pillow block unit, NTN UCP2 series. Base on the XY plane, length along X; the shaft axis along Y at height H. Sourced and making the fit: bore d, shaft height H, length L, slots J and N x N1,
2base width A and thickness H1, overall height H2, housing width L1, and the inner ring's width B. detail = "full" shows the unit: a casting that narrows from the feet to a round housing
3of diameter 2 (H2 - H), and the bearing insert in it as its own solids, an outer ring and an inner ring standing out wider. The casting's taper and the rings' diameters are
4proportions for looks, not for design. detail = "simple" is one solid casting with the bore. The set screws and the grease nipple are not modelled."""
5from steve import Model
6
7designation = "UCP204" # Unit number
8detail = "full" # full: casting and bearing insert; simple: one solid
9
10# number: (d, H, L, J, A, N, N1, H1, H2, L1, B, S). NTN Ball and Roller Bearings CAT. No. 2203-3/E (2024), Bearing Units, Cast iron pillow blocks UCP type,
11# PDF pages 336 and 337, https://www.ntnglobal.com/en/products/catalog/pdf/2203E.pdf
12UNITS = {"UCP201": (12, 30.2, 127.0, 95.0, 38.0, 13.0, 16.0, 14.0, 62.0, 42.0, 31.0, 12.7), "UCP202": (15, 30.2, 127.0, 95.0, 38.0, 13.0, 16.0, 14.0, 62.0, 42.0, 31.0, 12.7), "UCP203": (17, 30.2, 127.0, 95.0, 38.0, 13.0, 16.0, 14.0, 62.0, 42.0, 31.0, 12.7), "UCP204": (20, 33.3, 127.0, 95.0, 38.0, 13.0, 16.0, 14.0, 65.0, 42.0, 31.0, 12.7), "UCP205": (25, 36.5, 140.0, 105.0, 38.0, 13.0, 16.0, 15.0, 71.0, 42.0, 34.1, 14.3), "UCP206": (30, 42.9, 165.0, 121.0, 48.0, 17.0, 20.0, 17.0, 83.0, 54.0, 38.1, 15.9), "UCP207": (35, 47.6, 167.0, 127.0, 48.0, 17.0, 20.0, 18.0, 93.0, 54.0, 42.9, 17.5), "UCP208": (40, 49.2, 184.0, 137.0, 54.0, 17.0, 20.0, 18.0, 98.0, 52.0, 49.2, 19.0), "UCP209": (45, 54.0, 190.0, 146.0, 54.0, 17.0, 20.0, 20.0, 106.0, 60.0, 49.2, 19.0), "UCP210": (50, 57.2, 206.0, 159.0, 60.0, 20.0, 23.0, 21.0, 114.0, 65.0, 51.6, 19.0)}
13
14d, H, L, J, A, N, N1, H1, H2, L1, B, S = UNITS[designation]
15R = H2 - H
16slot = (N1 - N) / 2
17seat = 0.74 * R if detail == "full" else d / 2 # the housing's bore: the insert's outer ring sits in it
18foot = J / 2 - N1 / 2 - 0.15 * (J / 2)
19foot = max(foot, 0.62 * R)
20
21model = Model()
22with model.sketch("casting_sketch", on="XZ", name="Casting") as sk:
23 sk.polyline("casting", [(-L / 2, 0), (L / 2, 0), (L / 2, H1), (foot, H1), (R, H), (R, H + 0.01), (-R, H + 0.01), (-R, H), (-foot, H1), (-L / 2, H1)], closed=True)
24model.extrude("casting", "casting_sketch", distance=A, both=True, name="Casting")
25with model.sketch("housing_sketch", on="XZ", name="Housing") as sk:
26 sk.circle("housing_od", (0, H), R)
27model.extrude("housing", "housing_sketch", distance=L1, both=True, name="Housing")
28with model.sketch("trim_sketch", on="XY", name="Below the base") as sk: # the housing circle can reach past the base's underside
29 sk.rect("trim", (-L, -L1), (L, L1))
30model.extrude("trim", "trim_sketch", distance=-R, op="cut", name="Below the base")
31with model.sketch("bore_sketch", on="XZ", name="Seat") as sk:
32 sk.circle("seat_d", (0, H), seat)
33model.extrude("seat_cut", "bore_sketch", distance=max(L1, A) + 1, both=True, op="cut", name="Seat")
34with model.sketch("slots_sketch", on="XY", name="Mounting slots") as sk:
35 sk.slot("slot_left", (-J / 2 - slot, 0), (-J / 2 + slot, 0), N / 2)
36 sk.slot("slot_right", (J / 2 - slot, 0), (J / 2 + slot, 0), N / 2)
37model.extrude("slots", "slots_sketch", distance=H1, op="cut", name="Mounting slots")
38if detail == "full":
39 gap = 0.03 * R
40 ring_in = (d / 2 + seat) / 2 + 0.03 * R
41 ring_width = 0.8 * L1
42 with model.sketch("outer_sketch", on="XZ", name="Insert outer ring") as sk:
43 sk.circle("outer_od", (0, H), seat)
44 sk.circle("outer_id", (0, H), ring_in + gap)
45 model.extrude("insert_outer", "outer_sketch", distance=ring_width, both=True, op="new", body="insert_outer_body", name="Insert outer ring")
46 with model.sketch("inner_sketch", on="XZ", name="Insert inner ring") as sk:
47 sk.circle("inner_od", (0, H), ring_in)
48 sk.circle("inner_id", (0, H), d / 2)
49 model.extrude("insert_inner", "inner_sketch", distance=B, both=True, op="new", body="insert_inner_body", name="Insert inner ring")
50model.material("steel-generic", color="#6d7075")
51result = model.result()
52

Pillow block unit (UCP2 series): a casting that narrows from its feet to a round housing, its two mounting slots, and the bearing insert showing in the housing. Base on the XY plane, shaft axis along Y. The fit dimensions are from a maker's public catalogue; the casting's taper and the rings' diameters are proportions for looks, not for design. detail = simple is one solid casting with the bore. See the README; not affiliated with any maker.

Pillow block (UCP)

Cast-iron pillow block unit, UCP2 series, as an envelope for assemblies. Base on the XY plane, length along X, shaft axis along Y at height H.

Geometry

A casting that narrows from its feet to a round housing of diameter 2 (H2 − H) and width L1, two mounting slots N × N1 at ±J/2, and the bearing insert in the housing: an outer ring, and an inner ring of the published width B that stands out wider.

For the fit (sourced, below): d, H, L, J, A, N, N1, H1, H2, L1, and B in part.py. For looks only, not for design: the casting's taper and the rings' diameters; the catalogue doesn't draw the outline. Set screws and the grease nipple aren't modelled. detail = "simple" is one solid casting with the bore.

Source

NTN, Ball and Roller Bearings, CAT. No. 2203-3/E (2024), Bearing Units, Cast iron pillow blocks UCP type, PDF pages 336 and 337, https://www.ntnglobal.com/en/products/catalog/pdf/2203E.pdf.

Number d H L J A N × N1 H1 H2 L1
UCP201 12 30.2 127.0 95.0 38.0 13.0 × 16.0 14.0 62.0 42.0
UCP202 15 30.2 127.0 95.0 38.0 13.0 × 16.0 14.0 62.0 42.0
UCP203 17 30.2 127.0 95.0 38.0 13.0 × 16.0 14.0 62.0 42.0
UCP204 20 33.3 127.0 95.0 38.0 13.0 × 16.0 14.0 65.0 42.0
UCP205 25 36.5 140.0 105.0 38.0 13.0 × 16.0 15.0 71.0 42.0
UCP206 30 42.9 165.0 121.0 48.0 17.0 × 20.0 17.0 83.0 54.0
UCP207 35 47.6 167.0 127.0 48.0 17.0 × 20.0 18.0 93.0 54.0
UCP208 40 49.2 184.0 137.0 54.0 17.0 × 20.0 18.0 98.0 52.0
UCP209 45 54.0 190.0 146.0 54.0 17.0 × 20.0 20.0 106.0 60.0
UCP210 50 57.2 206.0 159.0 60.0 20.0 × 23.0 21.0 114.0 65.0

Maker names identify the source; this part isn't made by or affiliated with any maker.

  1. 1.0.0 Latest
More #bearing
STEVEMIT

steve/miniature-linear-guide

HIWIN MGN miniature linear guideway, sizes 7, 9, 12 and 15: rail (MGNR) or block (MGN-C / MGN-H).

0 11 sizes 0 1 hour ago v1.1.0
STEVEMIT

steve/deep-groove-ball-bearing

Deep groove ball bearing, metric: 6xx, MR, 60, 62, 63, 68 and 69 series, open, ZZ or 2RS, optional flange.

4 52 sizes 0 4 hours ago v2.2.0