steve/rigid-coupling
Rigid shaft coupling, split clamping type: 16 to 32 mm outside diameter, bores 5 to 14 mm.
Oldham shaft coupling, clamping type: 15 to 26, bores 4 to 12 mm.
Not affiliated with or endorsed by MISUMI.
| 1 | """Oldham shaft coupling, clamping type: two hubs and a spacer. Axis along Z, the first hub's end face on the XY plane, bore d1 in the first hub, bore d2 in the second. |
| 2 | Fit dimensions from MISUMI's table; see the README.""" |
| 3 | import cadquery as cq |
| 4 | from steve import Model |
| 5 | |
| 6 | size = 20 # Coupling number |
| 7 | d1 = 6 # mm Bore 1 (d1 <= d2) |
| 8 | d2 = 8 # mm Bore 2 |
| 9 | detail = "full" # full: hubs, spacer, slits and clamp screw holes; simple: one solid with the bores |
| 10 | |
| 11 | # number: (hub D, spacer D1, spacer bore d3, L, hub length l, screw offset A, screw from the end F, clamp screw M, bores offered). |
| 12 | # MISUMI Couplings catalogue, Oldham Couplings, Clamping, MCOC table, https://de.misumi-ec.com/files/images/products/docs/flexibleshaftcouplings.pdf, PDF p. 16. |
| 13 | SIZES = { |
| 14 | 15: (14.5, 15, 5.0, 18.4, 6.6, 4.5, 3.2, 2.5, (4, 5, 6)), |
| 15 | 17: (16.8, 17.5, 7.2, 24.4, 9, 5, 4, 3, (5, 6, 6.35)), |
| 16 | 20: (20, 21, 8.2, 27.2, 10, 7, 4.5, 3, (6, 6.35, 7, 8, 9.53, 10)), |
| 17 | 26: (26, 27, 12.0, 30.4, 11.5, 8.4, 5, 4, (6, 6.35, 7, 8, 9.53, 10, 11, 12)), |
| 18 | } |
| 19 | D, D1, d3, L, hub, A, F, screw, bores = SIZES[size] |
| 20 | if d1 not in bores or d2 not in bores or d1 > d2: |
| 21 | raise ValueError(f"The number {size} Oldham coupling offers bores {bores}, with d1 <= d2.") |
| 22 | SLIT = 0.05 * D # the slit's width, for looks |
| 23 | |
| 24 | |
| 25 | def half(z0, bore): |
| 26 | shape = cq.Workplane("XY").workplane(offset=z0).circle(D / 2).extrude(hub) |
| 27 | shape = shape.cut(cq.Workplane("XY").workplane(offset=z0 - 1).circle(bore / 2).extrude(hub + 2)) |
| 28 | shape = shape.cut(cq.Workplane("XY").workplane(offset=z0 - 1).center(D / 4 + 0.5, 0).rect(D / 2 + 1, SLIT).extrude(hub + 2)) |
| 29 | return shape |
| 30 | |
| 31 | |
| 32 | model = Model() |
| 33 | if detail == "simple": |
| 34 | body = cq.Workplane("XY").circle(D / 2).extrude(L).union(cq.Workplane("XY").workplane(offset=hub).circle(D1 / 2).extrude(L - 2 * hub), clean=False) |
| 35 | body = body.cut(cq.Workplane("XY").workplane(offset=-1).circle(d1 / 2).extrude(L / 2 + 1)) |
| 36 | body = body.cut(cq.Workplane("XY").workplane(offset=L / 2).circle(d2 / 2).extrude(L / 2 + 1)) |
| 37 | model.add("body", body, name="Oldham coupling") |
| 38 | model.material("steel-generic", color="#9a9da3") |
| 39 | else: |
| 40 | first, second = half(0, d1), half(L - hub, d2) |
| 41 | for z in (F, L - F): |
| 42 | cross = cq.Workplane("YZ").center(A, z).circle(screw / 2).extrude(D, both=True) |
| 43 | first, second = first.cut(cross), second.cut(cross) |
| 44 | spacer = cq.Workplane("XY").workplane(offset=hub).circle(D1 / 2).circle(d3 / 2).extrude(L - 2 * hub) |
| 45 | model.add("hub_1", first, op="new", body="hub_1_body", name="Hub, d1") |
| 46 | model.add("hub_2", second, op="new", body="hub_2_body", name="Hub, d2") |
| 47 | model.add("spacer", spacer, op="new", body="spacer_body", name="Spacer") |
| 48 | model.material("steel-generic", bodies=["hub_1_body", "hub_2_body"], color="#9a9da3") |
| 49 | model.material("pa6", bodies=["spacer_body"], color="#26282b") |
| 50 | result = model.result() |
| 51 |
| 1 | name = "steve/oldham-coupling" |
| 2 | version = "1.0.0" |
| 3 | runtime = "steve" |
| 4 | license = "MIT" |
| 5 | summary = "Oldham shaft coupling, clamping type: 15 to 26, bores 4 to 12 mm." |
| 6 | description = """Oldham shaft coupling, clamping type, as two hubs and a spacer with slits and clamp screw holes. Sizes and bores from MISUMI's MCOC table. See the README.""" |
| 7 | tags = ["coupling", "shaft-coupling", "oldham-coupling", "power-transmission", "metric"] |
| 8 | |
| 9 | [parameters.size] |
| 10 | type = "choice" |
| 11 | default = 20 |
| 12 | choices = [15, 17, 20, 26] |
| 13 | label = "Coupling number" |
| 14 | |
| 15 | [parameters.d1] |
| 16 | type = "choice" |
| 17 | default = 6 |
| 18 | choices = [4, 5, 6, 6.35, 7, 8, 9.53, 10, 11, 12] |
| 19 | unit = "mm" |
| 20 | label = "Bore 1" |
| 21 | |
| 22 | [parameters.d2] |
| 23 | type = "choice" |
| 24 | default = 8 |
| 25 | choices = [4, 5, 6, 6.35, 7, 8, 9.53, 10, 11, 12] |
| 26 | unit = "mm" |
| 27 | label = "Bore 2" |
| 28 | description = "d1 <= d2, both offered on the coupling number chosen." |
| 29 | |
| 30 | [parameters.detail] |
| 31 | type = "choice" |
| 32 | default = "full" |
| 33 | choices = ["full", "simple"] |
| 34 | label = "Detail" |
| 35 | description = "full: hubs, spacer, slits and clamp screw holes. simple: one solid with the bores." |
| 36 | |
| 37 | [[presets]] |
| 38 | id = "MCOC15-4-4" |
| 39 | title = "Oldham coupling 15, 4 to 4 mm" |
| 40 | params = { size = 15, d1 = 4, d2 = 4 } |
| 41 | aliases = ["4x4 oldham coupling", "4 to 4 oldham coupling", "4mm to 4mm oldham coupling", "4-4 oldham coupling", "MCOC15", "oldham coupling 15", "coupling kind=oldham_coupling; bore1=4 mm; bore2=4 mm; set screw/clamp envelope"] |
| 42 | standard = "MISUMI" |
| 43 | |
| 44 | [[presets]] |
| 45 | id = "MCOC15-4-5" |
| 46 | title = "Oldham coupling 15, 4 to 5 mm" |
| 47 | params = { size = 15, d1 = 4, d2 = 5 } |
| 48 | aliases = ["4x5 oldham coupling", "4 to 5 oldham coupling", "4mm to 5mm oldham coupling", "4-5 oldham coupling", "MCOC15", "oldham coupling 15", "coupling kind=oldham_coupling; bore1=4 mm; bore2=5 mm; set screw/clamp envelope"] |
| 49 | standard = "MISUMI" |
| 50 | |
| 51 | [[presets]] |
| 52 | id = "MCOC15-4-6" |
| 53 | title = "Oldham coupling 15, 4 to 6 mm" |
| 54 | params = { size = 15, d1 = 4, d2 = 6 } |
| 55 | aliases = ["4x6 oldham coupling", "4 to 6 oldham coupling", "4mm to 6mm oldham coupling", "4-6 oldham coupling", "MCOC15", "oldham coupling 15", "coupling kind=oldham_coupling; bore1=4 mm; bore2=6 mm; set screw/clamp envelope"] |
| 56 | standard = "MISUMI" |
| 57 | |
| 58 | [[presets]] |
| 59 | id = "MCOC15-5-5" |
| 60 | title = "Oldham coupling 15, 5 to 5 mm" |
| 61 | params = { size = 15, d1 = 5, d2 = 5 } |
| 62 | aliases = ["5x5 oldham coupling", "5 to 5 oldham coupling", "5mm to 5mm oldham coupling", "5-5 oldham coupling", "MCOC15", "oldham coupling 15", "coupling kind=oldham_coupling; bore1=5 mm; bore2=5 mm; set screw/clamp envelope"] |
| 63 | standard = "MISUMI" |
| 64 | |
| 65 | [[presets]] |
| 66 | id = "MCOC15-5-6" |
| 67 | title = "Oldham coupling 15, 5 to 6 mm" |
| 68 | params = { size = 15, d1 = 5, d2 = 6 } |
| 69 | aliases = ["5x6 oldham coupling", "5 to 6 oldham coupling", "5mm to 6mm oldham coupling", "5-6 oldham coupling", "MCOC15", "oldham coupling 15", "coupling kind=oldham_coupling; bore1=5 mm; bore2=6 mm; set screw/clamp envelope"] |
| 70 | standard = "MISUMI" |
| 71 | |
| 72 | [[presets]] |
| 73 | id = "MCOC15-6-6" |
| 74 | title = "Oldham coupling 15, 6 to 6 mm" |
| 75 | params = { size = 15, d1 = 6, d2 = 6 } |
| 76 | aliases = ["6x6 oldham coupling", "6 to 6 oldham coupling", "6mm to 6mm oldham coupling", "6-6 oldham coupling", "MCOC15", "oldham coupling 15", "coupling kind=oldham_coupling; bore1=6 mm; bore2=6 mm; set screw/clamp envelope"] |
| 77 | standard = "MISUMI" |
| 78 | |
| 79 | [[presets]] |
| 80 | id = "MCOC17-5-6.35" |
| 81 | title = "Oldham coupling 17, 5 to 6.35 mm" |
| 82 | params = { size = 17, d1 = 5, d2 = 6.35 } |
| 83 | aliases = ["5x6.35 oldham coupling", "5 to 6.35 oldham coupling", "5mm to 6.35mm oldham coupling", "5-6.35 oldham coupling", "MCOC17", "oldham coupling 17", "coupling kind=oldham_coupling; bore1=5 mm; bore2=6.35 mm; set screw/clamp envelope"] |
| 84 | standard = "MISUMI" |
| 85 | |
| 86 | [[presets]] |
| 87 | id = "MCOC17-6-6.35" |
| 88 | title = "Oldham coupling 17, 6 to 6.35 mm" |
| 89 | params = { size = 17, d1 = 6, d2 = 6.35 } |
| 90 | aliases = ["6x6.35 oldham coupling", "6 to 6.35 oldham coupling", "6mm to 6.35mm oldham coupling", "6-6.35 oldham coupling", "MCOC17", "oldham coupling 17", "coupling kind=oldham_coupling; bore1=6 mm; bore2=6.35 mm; set screw/clamp envelope"] |
| 91 | standard = "MISUMI" |
| 92 | |
| 93 | [[presets]] |
| 94 | id = "MCOC17-6.35-6.35" |
| 95 | title = "Oldham coupling 17, 6.35 to 6.35 mm" |
| 96 | params = { size = 17, d1 = 6.35, d2 = 6.35 } |
| 97 | aliases = ["6.35x6.35 oldham coupling", "6.35 to 6.35 oldham coupling", "6.35mm to 6.35mm oldham coupling", "6.35-6.35 oldham coupling", "MCOC17", "oldham coupling 17", "coupling kind=oldham_coupling; bore1=6.35 mm; bore2=6.35 mm; set screw/clamp envelope"] |
| 98 | standard = "MISUMI" |
| 99 | |
| 100 | [[presets]] |
| 101 | id = "MCOC20-6-8" |
| 102 | title = "Oldham coupling 20, 6 to 8 mm" |
| 103 | params = { size = 20, d1 = 6, d2 = 8 } |
| 104 | aliases = ["6x8 oldham coupling", "6 to 8 oldham coupling", "6mm to 8mm oldham coupling", "6-8 oldham coupling", "MCOC20", "oldham coupling 20", "coupling kind=oldham_coupling; bore1=6 mm; bore2=8 mm; set screw/clamp envelope"] |
| 105 | standard = "MISUMI" |
| 106 | |
| 107 | [[presets]] |
| 108 | id = "MCOC20-6-10" |
| 109 | title = "Oldham coupling 20, 6 to 10 mm" |
| 110 | params = { size = 20, d1 = 6, d2 = 10 } |
| 111 | aliases = ["6x10 oldham coupling", "6 to 10 oldham coupling", "6mm to 10mm oldham coupling", "6-10 oldham coupling", "MCOC20", "oldham coupling 20", "coupling kind=oldham_coupling; bore1=6 mm; bore2=10 mm; set screw/clamp envelope"] |
| 112 | standard = "MISUMI" |
| 113 | |
| 114 | [[presets]] |
| 115 | id = "MCOC20-6.35-8" |
| 116 | title = "Oldham coupling 20, 6.35 to 8 mm" |
| 117 | params = { size = 20, d1 = 6.35, d2 = 8 } |
| 118 | aliases = ["6.35x8 oldham coupling", "6.35 to 8 oldham coupling", "6.35mm to 8mm oldham coupling", "6.35-8 oldham coupling", "MCOC20", "oldham coupling 20", "coupling kind=oldham_coupling; bore1=6.35 mm; bore2=8 mm; set screw/clamp envelope"] |
| 119 | standard = "MISUMI" |
| 120 | |
| 121 | [[presets]] |
| 122 | id = "MCOC20-6.35-10" |
| 123 | title = "Oldham coupling 20, 6.35 to 10 mm" |
| 124 | params = { size = 20, d1 = 6.35, d2 = 10 } |
| 125 | aliases = ["6.35x10 oldham coupling", "6.35 to 10 oldham coupling", "6.35mm to 10mm oldham coupling", "6.35-10 oldham coupling", "MCOC20", "oldham coupling 20", "coupling kind=oldham_coupling; bore1=6.35 mm; bore2=10 mm; set screw/clamp envelope"] |
| 126 | standard = "MISUMI" |
| 127 | |
| 128 | [[presets]] |
| 129 | id = "MCOC20-8-8" |
| 130 | title = "Oldham coupling 20, 8 to 8 mm" |
| 131 | params = { size = 20, d1 = 8, d2 = 8 } |
| 132 | aliases = ["8x8 oldham coupling", "8 to 8 oldham coupling", "8mm to 8mm oldham coupling", "8-8 oldham coupling", "MCOC20", "oldham coupling 20", "coupling kind=oldham_coupling; bore1=8 mm; bore2=8 mm; set screw/clamp envelope"] |
| 133 | standard = "MISUMI" |
| 134 | |
| 135 | [[presets]] |
| 136 | id = "MCOC20-8-10" |
| 137 | title = "Oldham coupling 20, 8 to 10 mm" |
| 138 | params = { size = 20, d1 = 8, d2 = 10 } |
| 139 | aliases = ["8x10 oldham coupling", "8 to 10 oldham coupling", "8mm to 10mm oldham coupling", "8-10 oldham coupling", "MCOC20", "oldham coupling 20", "coupling kind=oldham_coupling; bore1=8 mm; bore2=10 mm; set screw/clamp envelope"] |
| 140 | standard = "MISUMI" |
| 141 | |
| 142 | [[presets]] |
| 143 | id = "MCOC20-10-10" |
| 144 | title = "Oldham coupling 20, 10 to 10 mm" |
| 145 | params = { size = 20, d1 = 10, d2 = 10 } |
| 146 | aliases = ["10x10 oldham coupling", "10 to 10 oldham coupling", "10mm to 10mm oldham coupling", "10-10 oldham coupling", "MCOC20", "oldham coupling 20", "coupling kind=oldham_coupling; bore1=10 mm; bore2=10 mm; set screw/clamp envelope"] |
| 147 | standard = "MISUMI" |
| 148 | |
| 149 | [[presets]] |
| 150 | id = "MCOC20-6-8-simple" |
| 151 | title = "Oldham coupling 20, 6 to 8 mm, simple" |
| 152 | params = { size = 20, d1 = 6, d2 = 8, detail = "simple" } |
| 153 | aliases = ["MCOC20-6-8 simple"] |
| 154 | standard = "MISUMI" |
| 155 |
A clamping Oldham shaft coupling: two hubs and a spacer, three solids. Axis along Z, the first hub's end face on the XY plane, bore d1 in the first hub and bore d2 in the second.
MISUMI Couplings catalogue, Oldham Couplings, Clamping, MCOC table, https://de.misumi-ec.com/files/images/products/docs/flexibleshaftcouplings.pdf, PDF page 16: hub D, spacer D1, spacer bore d3, length L, hub length l, screw positions A and F, screw M, and the bores offered on each number.
Only bore pairs one number offers are presets. Numbers 30, 34 and 38 aren't here yet.
Not modelled: the tongues joining hubs to spacer, which are inside and which the table doesn't dimension, the screws (only their holes at nominal M) and the screw head's reach D2. Proportions, for looks only: the slit's width.
The table gives hubs in EN 1.4301 equivalent sintered alloy and the spacer in carbon-reinforced resin. Those aren't in the material list, so the part uses steel-generic and pa6, for looks and rough mass only.
| 1 | # Oldham coupling |
| 2 | |
| 3 | A clamping Oldham shaft coupling: two hubs and a spacer, three solids. Axis along Z, the first hub's end face on the XY plane, bore d1 in the first hub and bore d2 in the second. |
| 4 | |
| 5 | ## Source |
| 6 | |
| 7 | MISUMI Couplings catalogue, *Oldham Couplings, Clamping*, MCOC table, <https://de.misumi-ec.com/files/images/products/docs/flexibleshaftcouplings.pdf>, PDF page 16: hub D, spacer D1, spacer bore d3, length L, hub length l, screw positions A and F, screw M, and the bores offered on each number. |
| 8 | |
| 9 | Only bore pairs one number offers are presets. Numbers 30, 34 and 38 aren't here yet. |
| 10 | |
| 11 | **Not modelled:** the tongues joining hubs to spacer, which are inside and which the table doesn't dimension, the screws (only their holes at nominal M) and the screw head's reach D2. **Proportions, for looks only:** the slit's width. |
| 12 | |
| 13 | The table gives hubs in EN 1.4301 equivalent sintered alloy and the spacer in carbon-reinforced resin. Those aren't in the material list, so the part uses `steel-generic` and `pa6`, for looks and rough mass only. |
| 14 |
Oldham shaft coupling, clamping type, as two hubs and a spacer with slits and clamp screw holes. Sizes and bores from MISUMI's MCOC table. See the README.
A clamping Oldham shaft coupling: two hubs and a spacer, three solids. Axis along Z, the first hub's end face on the XY plane, bore d1 in the first hub and bore d2 in the second.
MISUMI Couplings catalogue, Oldham Couplings, Clamping, MCOC table, https://de.misumi-ec.com/files/images/products/docs/flexibleshaftcouplings.pdf, PDF page 16: hub D, spacer D1, spacer bore d3, length L, hub length l, screw positions A and F, screw M, and the bores offered on each number.
Only bore pairs one number offers are presets. Numbers 30, 34 and 38 aren't here yet.
Not modelled: the tongues joining hubs to spacer, which are inside and which the table doesn't dimension, the screws (only their holes at nominal M) and the screw head's reach D2. Proportions, for looks only: the slit's width.
The table gives hubs in EN 1.4301 equivalent sintered alloy and the spacer in carbon-reinforced resin. Those aren't in the material list, so the part uses steel-generic and pa6, for looks and rough mass only.
Rigid shaft coupling, split clamping type: 16 to 32 mm outside diameter, bores 5 to 14 mm.
Bellows shaft coupling, clamping type: 12 to 32 mm outside diameter, bores 4 to 14 mm.
Jaw shaft coupling, clamping type: 14, 20 and 30 mm outside diameter, bores 3 to 12 mm.
Slit shaft coupling, long clamping: 12 to 32 mm outside diameter, bores 4 to 14 mm.