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,.
Trapezoidal lead screw with a real thread: Tr8, Tr10, Tr12 and Tr16, leads 2 to 8 mm, any length.