steve/miniature-linear-guide
HIWIN MGN miniature linear guideway, sizes 7, 9, 12 and 15: rail (MGNR) or block (MGN-C / MGN-H).
Cast-iron pillow block unit UCP201 to UCP210, shafts 12 to 50 mm, as an envelope with its mounting slots.
| 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, |
| 2 | base 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 |
| 3 | of 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 |
| 4 | proportions for looks, not for design. detail = "simple" is one solid casting with the bore. The set screws and the grease nipple are not modelled.""" |
| 5 | from steve import Model |
| 6 | |
| 7 | designation = "UCP204" # Unit number |
| 8 | detail = "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 |
| 12 | UNITS = {"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 | |
| 14 | d, H, L, J, A, N, N1, H1, H2, L1, B, S = UNITS[designation] |
| 15 | R = H2 - H |
| 16 | slot = (N1 - N) / 2 |
| 17 | seat = 0.74 * R if detail == "full" else d / 2 # the housing's bore: the insert's outer ring sits in it |
| 18 | foot = J / 2 - N1 / 2 - 0.15 * (J / 2) |
| 19 | foot = max(foot, 0.62 * R) |
| 20 | |
| 21 | model = Model() |
| 22 | with 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) |
| 24 | model.extrude("casting", "casting_sketch", distance=A, both=True, name="Casting") |
| 25 | with model.sketch("housing_sketch", on="XZ", name="Housing") as sk: |
| 26 | sk.circle("housing_od", (0, H), R) |
| 27 | model.extrude("housing", "housing_sketch", distance=L1, both=True, name="Housing") |
| 28 | with 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)) |
| 30 | model.extrude("trim", "trim_sketch", distance=-R, op="cut", name="Below the base") |
| 31 | with model.sketch("bore_sketch", on="XZ", name="Seat") as sk: |
| 32 | sk.circle("seat_d", (0, H), seat) |
| 33 | model.extrude("seat_cut", "bore_sketch", distance=max(L1, A) + 1, both=True, op="cut", name="Seat") |
| 34 | with 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) |
| 37 | model.extrude("slots", "slots_sketch", distance=H1, op="cut", name="Mounting slots") |
| 38 | if 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") |
| 50 | model.material("steel-generic", color="#6d7075") |
| 51 | result = model.result() |
| 52 |
| 1 | name = "steve/pillow-block" |
| 2 | version = "1.0.0" |
| 3 | runtime = "steve" |
| 4 | license = "MIT" |
| 5 | summary = "Cast-iron pillow block unit UCP201 to UCP210, shafts 12 to 50 mm, as an envelope with its mounting slots." |
| 6 | description = """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.""" |
| 7 | tags = ["bearing", "pillow-block", "ucp", "bearing-unit", "metric", "motion"] |
| 8 | |
| 9 | [parameters.designation] |
| 10 | type = "choice" |
| 11 | default = "UCP204" |
| 12 | choices = ["UCP201", "UCP202", "UCP203", "UCP204", "UCP205", "UCP206", "UCP207", "UCP208", "UCP209", "UCP210"] |
| 13 | label = "Unit number" |
| 14 | |
| 15 | [parameters.detail] |
| 16 | type = "choice" |
| 17 | default = "full" |
| 18 | choices = ["full", "simple"] |
| 19 | label = "Detail" |
| 20 | description = "full: casting and bearing insert. simple: one solid casting with the bore, for big assemblies." |
| 21 | |
| 22 | [[presets]] |
| 23 | id = "UCP201" |
| 24 | title = "UCP201 (12 mm shaft)" |
| 25 | params = { designation = "UCP201" } |
| 26 | aliases = ["UCP201 pillow block", "12mm pillow block", "UC201 unit", "P201"] |
| 27 | standard = "NTN UCP" |
| 28 | |
| 29 | [[presets]] |
| 30 | id = "UCP202" |
| 31 | title = "UCP202 (15 mm shaft)" |
| 32 | params = { designation = "UCP202" } |
| 33 | aliases = ["UCP202 pillow block", "15mm pillow block", "UC202 unit", "P202"] |
| 34 | standard = "NTN UCP" |
| 35 | |
| 36 | [[presets]] |
| 37 | id = "UCP203" |
| 38 | title = "UCP203 (17 mm shaft)" |
| 39 | params = { designation = "UCP203" } |
| 40 | aliases = ["UCP203 pillow block", "17mm pillow block", "UC203 unit", "P203"] |
| 41 | standard = "NTN UCP" |
| 42 | |
| 43 | [[presets]] |
| 44 | id = "UCP204" |
| 45 | title = "UCP204 (20 mm shaft)" |
| 46 | params = { designation = "UCP204" } |
| 47 | aliases = ["UCP204 pillow block", "20mm pillow block", "UC204 unit", "P204"] |
| 48 | standard = "NTN UCP" |
| 49 | |
| 50 | [[presets]] |
| 51 | id = "UCP205" |
| 52 | title = "UCP205 (25 mm shaft)" |
| 53 | params = { designation = "UCP205" } |
| 54 | aliases = ["UCP205 pillow block", "25mm pillow block", "UC205 unit", "P205"] |
| 55 | standard = "NTN UCP" |
| 56 | |
| 57 | [[presets]] |
| 58 | id = "UCP206" |
| 59 | title = "UCP206 (30 mm shaft)" |
| 60 | params = { designation = "UCP206" } |
| 61 | aliases = ["UCP206 pillow block", "30mm pillow block", "UC206 unit", "P206"] |
| 62 | standard = "NTN UCP" |
| 63 | |
| 64 | [[presets]] |
| 65 | id = "UCP207" |
| 66 | title = "UCP207 (35 mm shaft)" |
| 67 | params = { designation = "UCP207" } |
| 68 | aliases = ["UCP207 pillow block", "35mm pillow block", "UC207 unit", "P207"] |
| 69 | standard = "NTN UCP" |
| 70 | |
| 71 | [[presets]] |
| 72 | id = "UCP208" |
| 73 | title = "UCP208 (40 mm shaft)" |
| 74 | params = { designation = "UCP208" } |
| 75 | aliases = ["UCP208 pillow block", "40mm pillow block", "UC208 unit", "P208"] |
| 76 | standard = "NTN UCP" |
| 77 | |
| 78 | [[presets]] |
| 79 | id = "UCP209" |
| 80 | title = "UCP209 (45 mm shaft)" |
| 81 | params = { designation = "UCP209" } |
| 82 | aliases = ["UCP209 pillow block", "45mm pillow block", "UC209 unit", "P209"] |
| 83 | standard = "NTN UCP" |
| 84 | |
| 85 | [[presets]] |
| 86 | id = "UCP210" |
| 87 | title = "UCP210 (50 mm shaft)" |
| 88 | params = { designation = "UCP210" } |
| 89 | aliases = ["UCP210 pillow block", "50mm pillow block", "UC210 unit", "P210"] |
| 90 | standard = "NTN UCP" |
| 91 | |
| 92 | [[presets]] |
| 93 | id = "UCP204-simple" |
| 94 | title = "UCP204, simple (one solid)" |
| 95 | params = { designation = "UCP204", detail = "simple" } |
| 96 | aliases = ["UCP204 simple"] |
| 97 | standard = "NTN UCP" |
| 98 |
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.
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.
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 | # Pillow block (UCP) |
| 2 | |
| 3 | 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. |
| 4 | |
| 5 | ## Geometry |
| 6 | |
| 7 | 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. |
| 8 | |
| 9 | **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. |
| 10 | |
| 11 | ## Source |
| 12 | |
| 13 | NTN, *Ball and Roller Bearings*, CAT. No. 2203-3/E (2024), Bearing Units, Cast iron pillow blocks UCP type, PDF pages 336 and 337, |
| 14 | <https://www.ntnglobal.com/en/products/catalog/pdf/2203E.pdf>. |
| 15 | |
| 16 | | Number | d | H | L | J | A | N × N1 | H1 | H2 | L1 | |
| 17 | |---|---|---|---|---|---|---|---|---|---| |
| 18 | | UCP201 | 12 | 30.2 | 127.0 | 95.0 | 38.0 | 13.0 × 16.0 | 14.0 | 62.0 | 42.0 | |
| 19 | | UCP202 | 15 | 30.2 | 127.0 | 95.0 | 38.0 | 13.0 × 16.0 | 14.0 | 62.0 | 42.0 | |
| 20 | | UCP203 | 17 | 30.2 | 127.0 | 95.0 | 38.0 | 13.0 × 16.0 | 14.0 | 62.0 | 42.0 | |
| 21 | | UCP204 | 20 | 33.3 | 127.0 | 95.0 | 38.0 | 13.0 × 16.0 | 14.0 | 65.0 | 42.0 | |
| 22 | | UCP205 | 25 | 36.5 | 140.0 | 105.0 | 38.0 | 13.0 × 16.0 | 15.0 | 71.0 | 42.0 | |
| 23 | | UCP206 | 30 | 42.9 | 165.0 | 121.0 | 48.0 | 17.0 × 20.0 | 17.0 | 83.0 | 54.0 | |
| 24 | | UCP207 | 35 | 47.6 | 167.0 | 127.0 | 48.0 | 17.0 × 20.0 | 18.0 | 93.0 | 54.0 | |
| 25 | | UCP208 | 40 | 49.2 | 184.0 | 137.0 | 54.0 | 17.0 × 20.0 | 18.0 | 98.0 | 52.0 | |
| 26 | | UCP209 | 45 | 54.0 | 190.0 | 146.0 | 54.0 | 17.0 × 20.0 | 20.0 | 106.0 | 60.0 | |
| 27 | | UCP210 | 50 | 57.2 | 206.0 | 159.0 | 60.0 | 20.0 × 23.0 | 21.0 | 114.0 | 65.0 | |
| 28 | |
| 29 | Maker names identify the source; this part isn't made by or affiliated with any maker. |
| 30 |
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.
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.
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.
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.
HIWIN MGN miniature linear guideway, sizes 7, 9, 12 and 15: rail (MGNR) or block (MGN-C / MGN-H).
Deep groove ball bearing, metric: 6xx, MR, 60, 62, 63, 68 and 69 series, open, ZZ or 2RS, optional flange.
Tapered roller bearing, 302 and 303 series, bore 15 to 50 mm,.
Angular contact ball bearing, 72 and 73 series, bore 10 to 50 mm,.