steve/lead-screw
Trapezoidal lead screw with a real thread: Tr8, Tr10, Tr12 and Tr16, leads 2 to 8 mm, any length.
T8 lead screw nut, brass: flanged, or anti-backlash with spring, for leads 2, 4 and 8 mm.
| 1 | """T8 lead screw nut, brass: the flanged nut, or the anti-backlash nut (flanged nut, spring and second nut). Axis along Z, the flange's face on the XY plane, the |
| 2 | body below it. The internal thread isn't modelled: the bore is the screw's 8 mm. Dimensions from the seller's drawing in the README.""" |
| 3 | import math |
| 4 | |
| 5 | import cadquery as cq |
| 6 | from steve import Model |
| 7 | |
| 8 | style = "flange" # flange or anti-backlash |
| 9 | lead = 2 # mm Lead of the screw it fits (2, 4 or 8) |
| 10 | detail = "full" # full: with holes and, for anti-backlash, the spring; simple: the nut's outline |
| 11 | |
| 12 | # Handson Technology data sheet MCH-1179, Anti-Backlash T-Nut for Lead Screw, Mechanical Dimension, p. 2, https://handsontec.com/dataspecs/Anti-backlash-T-nut.pdf |
| 13 | FLANGE_D, FLANGE_T, BODY_D, LENGTH, PCD = 22, 4, 10.3, 15, 16 # the flanged nut |
| 14 | COLLAR_D, COLLAR_T = 14, 4 # the second nut: a 14 mm collar 4 thick on the same 10.3 body, 15 long |
| 15 | OVERALL = 50 # the anti-backlash nut over both nuts, the spring between them |
| 16 | BORE = 8 |
| 17 | HOLE = 3.5 # four mounting holes for M3; the drawing's hole figure is unclear, so this is an M3 clearance, for looks |
| 18 | if lead not in (2, 4, 8): |
| 19 | raise ValueError("The T8 nut fits leads 2, 4 and 8 (P2 with 1, 2 or 4 starts).") |
| 20 | |
| 21 | |
| 22 | model = Model() |
| 23 | first = cq.Workplane("XY").circle(FLANGE_D / 2).extrude(FLANGE_T).union(cq.Workplane("XY").workplane(offset=FLANGE_T - LENGTH).circle(BODY_D / 2).extrude(LENGTH - FLANGE_T), clean=False) |
| 24 | first = first.cut(cq.Workplane("XY").workplane(offset=FLANGE_T - LENGTH - 1).circle(BORE / 2).extrude(LENGTH + 2)) |
| 25 | if detail == "full": |
| 26 | for k in range(4): |
| 27 | a = math.radians(90 * k) |
| 28 | first = first.cut(cq.Workplane("XY").workplane(offset=-1).center(PCD / 2 * math.cos(a), PCD / 2 * math.sin(a)).circle(HOLE / 2).extrude(FLANGE_T + 2)) |
| 29 | model.add("nut", first, op="new", body="nut_body", name="Flanged nut") |
| 30 | bodies = ["nut_body"] |
| 31 | if style == "anti-backlash": |
| 32 | bottom = FLANGE_T - OVERALL |
| 33 | second = cq.Workplane("XY").workplane(offset=bottom).circle(COLLAR_D / 2).extrude(COLLAR_T).union(cq.Workplane("XY").workplane(offset=bottom + COLLAR_T).circle(BODY_D / 2).extrude(LENGTH - COLLAR_T), clean=False) |
| 34 | second = second.cut(cq.Workplane("XY").workplane(offset=bottom - 1).circle(BORE / 2).extrude(LENGTH + 2)) |
| 35 | model.add("second_nut", second, op="new", body="second_body", name="Second nut") |
| 36 | bodies.append("second_body") |
| 37 | if detail == "full": |
| 38 | start = bottom + COLLAR_T # the spring sits over the bodies, from the second nut's collar to the flange |
| 39 | wire = 0.8 # the spring's wire and coil count are proportions, for looks |
| 40 | height = -start |
| 41 | path = cq.Wire.makeHelix(height / 8, height - wire, COLLAR_D / 2 - wire).moved(cq.Location(cq.Vector(0, 0, start + wire / 2))) |
| 42 | spring = cq.Workplane("XZ").center(COLLAR_D / 2 - wire, start + wire / 2).circle(wire / 2).sweep(cq.Workplane(obj=path), isFrenet=True) |
| 43 | model.add("spring", spring, op="new", body="spring_body", name="Spring") |
| 44 | model.material("steel-generic", bodies=["spring_body"], color="#8c8f94") |
| 45 | model.material("brass", bodies=bodies, color="#c9a14a") |
| 46 | result = model.result() |
| 47 |
| 1 | name = "steve/lead-screw-nut" |
| 2 | version = "1.0.0" |
| 3 | runtime = "steve" |
| 4 | license = "MIT" |
| 5 | summary = "T8 lead screw nut, brass: flanged, or anti-backlash with spring, for leads 2, 4 and 8 mm." |
| 6 | description = """T8 brass lead screw nut, flanged or anti-backlash (flanged nut, spring and second nut). The internal thread isn't modelled. Dimensions from a seller's drawing. See the README.""" |
| 7 | tags = ["lead-screw", "nut", "t8", "anti-backlash", "motion", "metric"] |
| 8 | |
| 9 | [parameters.style] |
| 10 | type = "choice" |
| 11 | default = "flange" |
| 12 | choices = ["flange", "anti-backlash"] |
| 13 | label = "Style" |
| 14 | |
| 15 | [parameters.lead] |
| 16 | type = "choice" |
| 17 | default = 2 |
| 18 | choices = [2, 4, 8] |
| 19 | unit = "mm" |
| 20 | label = "Lead" |
| 21 | description = "The screw it fits. It names the nut; it doesn't change the outline." |
| 22 | |
| 23 | [parameters.detail] |
| 24 | type = "choice" |
| 25 | default = "full" |
| 26 | choices = ["full", "simple"] |
| 27 | label = "Detail" |
| 28 | description = "full: mounting holes and, on the anti-backlash nut, the spring. simple: the nuts' outlines." |
| 29 | |
| 30 | [[presets]] |
| 31 | id = "T8x2-anti-backlash" |
| 32 | title = "T8 x 2 anti-backlash nut" |
| 33 | params = { style = "anti-backlash", lead = 2 } |
| 34 | aliases = ["T8 anti-backlash nut", "T8x2 anti-backlash nut", "Tr8x2 nut", "T8x2 nut", "T8 lead screw anti-backlash nut", "8mm lead screw anti-backlash nut", "T8 brass nut", "T8x2", "screw=T8; pitch/lead=2 mm; nut style=anti_backlash_nut; generic envelope"] |
| 35 | standard = "seller's drawing" |
| 36 | |
| 37 | [[presets]] |
| 38 | id = "T8x4-anti-backlash" |
| 39 | title = "T8 x 4 anti-backlash nut" |
| 40 | params = { style = "anti-backlash", lead = 4 } |
| 41 | aliases = ["T8 anti-backlash nut", "T8x4 anti-backlash nut", "Tr8x4 nut", "T8x4 nut", "T8 lead screw anti-backlash nut", "8mm lead screw anti-backlash nut", "T8 brass nut", "T8x4", "screw=T8; pitch/lead=4 mm; nut style=anti_backlash_nut; generic envelope"] |
| 42 | standard = "seller's drawing" |
| 43 | |
| 44 | [[presets]] |
| 45 | id = "T8x8-anti-backlash" |
| 46 | title = "T8 x 8 anti-backlash nut" |
| 47 | params = { style = "anti-backlash", lead = 8 } |
| 48 | aliases = ["T8 anti-backlash nut", "T8x8 anti-backlash nut", "Tr8x8 nut", "T8x8 nut", "T8 lead screw anti-backlash nut", "8mm lead screw anti-backlash nut", "T8 brass nut", "T8x8", "screw=T8; pitch/lead=8 mm; nut style=anti_backlash_nut; generic envelope"] |
| 49 | standard = "seller's drawing" |
| 50 | |
| 51 | [[presets]] |
| 52 | id = "T8x2-flange" |
| 53 | title = "T8 x 2 flange nut" |
| 54 | params = { style = "flange", lead = 2 } |
| 55 | aliases = ["T8 flange nut", "T8x2 flange nut", "Tr8x2 nut", "T8x2 nut", "T8 lead screw flange nut", "8mm lead screw flange nut", "T8 brass nut", "T8x2", "screw=T8; pitch/lead=2 mm; nut style=flange_nut; generic envelope"] |
| 56 | standard = "seller's drawing" |
| 57 | |
| 58 | [[presets]] |
| 59 | id = "T8x4-flange" |
| 60 | title = "T8 x 4 flange nut" |
| 61 | params = { style = "flange", lead = 4 } |
| 62 | aliases = ["T8 flange nut", "T8x4 flange nut", "Tr8x4 nut", "T8x4 nut", "T8 lead screw flange nut", "8mm lead screw flange nut", "T8 brass nut", "T8x4", "screw=T8; pitch/lead=4 mm; nut style=flange_nut; generic envelope"] |
| 63 | standard = "seller's drawing" |
| 64 | |
| 65 | [[presets]] |
| 66 | id = "T8x8-flange" |
| 67 | title = "T8 x 8 flange nut" |
| 68 | params = { style = "flange", lead = 8 } |
| 69 | aliases = ["T8 flange nut", "T8x8 flange nut", "Tr8x8 nut", "T8x8 nut", "T8 lead screw flange nut", "8mm lead screw flange nut", "T8 brass nut", "T8x8", "screw=T8; pitch/lead=8 mm; nut style=flange_nut; generic envelope"] |
| 70 | standard = "seller's drawing" |
| 71 | |
| 72 | [[presets]] |
| 73 | id = "T8x2-flange-simple" |
| 74 | title = "T8 x 2 flange nut, simple" |
| 75 | params = { style = "flange", lead = 2, detail = "simple" } |
| 76 | aliases = ["T8x2 flange nut simple"] |
| 77 | standard = "seller's drawing" |
| 78 |
A T8 brass lead screw nut: flanged, or anti-backlash (flanged nut, spring and second nut). Axis along Z, the flange's face on the XY plane, the body below it.
Handson Technology data sheet MCH-1179, Anti-Backlash T-Nut for Lead Screw, Mechanical Dimension, page 2, https://handsontec.com/dataspecs/Anti-backlash-T-nut.pdf:
This is a seller's drawing of a common unbranded nut, so check yours. The sheet shows Tr8x8; the same body is sold for leads 2, 4 and 8, so lead names the nut without changing its outline.
Not modelled: the internal thread (the bore is the screw's 8 mm) and the second nut's tabs. Proportions, for looks only: the mounting hole size (an M3 clearance, because the drawing's hole figure is unclear), and the spring's wire and coils.
T8 round and polymer nuts, and T10, Tr12 and Tr16 nuts, aren't here yet; see COVERAGE.md.
| 1 | # Lead screw nut |
| 2 | |
| 3 | A T8 brass lead screw nut: flanged, or anti-backlash (flanged nut, spring and second nut). Axis along Z, the flange's face on the XY plane, the body below it. |
| 4 | |
| 5 | ## Source |
| 6 | |
| 7 | Handson Technology data sheet MCH-1179, *Anti-Backlash T-Nut for Lead Screw*, Mechanical Dimension, page 2, <https://handsontec.com/dataspecs/Anti-backlash-T-nut.pdf>: |
| 8 | |
| 9 | - Flanged nut: flange 22 across and 4 thick, body 10.3, 15 long, holes on a 16 circle. |
| 10 | - Second nut: collar 14 across and 4 thick on the same 10.3 body, 15 long. |
| 11 | - Anti-backlash nut: 50 overall, with a 40 spring. |
| 12 | |
| 13 | This is a seller's drawing of a common unbranded nut, so check yours. The sheet shows Tr8x8; the same body is sold for leads 2, 4 and 8, so `lead` names the nut without changing its outline. |
| 14 | |
| 15 | **Not modelled:** the internal thread (the bore is the screw's 8 mm) and the second nut's tabs. **Proportions, for looks only:** the mounting hole size (an M3 clearance, because the drawing's hole figure is unclear), and the spring's wire and coils. |
| 16 | |
| 17 | T8 round and polymer nuts, and T10, Tr12 and Tr16 nuts, aren't here yet; see `COVERAGE.md`. |
| 18 |
T8 brass lead screw nut, flanged or anti-backlash (flanged nut, spring and second nut). The internal thread isn't modelled. Dimensions from a seller's drawing. See the README.
A T8 brass lead screw nut: flanged, or anti-backlash (flanged nut, spring and second nut). Axis along Z, the flange's face on the XY plane, the body below it.
Handson Technology data sheet MCH-1179, Anti-Backlash T-Nut for Lead Screw, Mechanical Dimension, page 2, https://handsontec.com/dataspecs/Anti-backlash-T-nut.pdf:
This is a seller's drawing of a common unbranded nut, so check yours. The sheet shows Tr8x8; the same body is sold for leads 2, 4 and 8, so lead names the nut without changing its outline.
Not modelled: the internal thread (the bore is the screw's 8 mm) and the second nut's tabs. Proportions, for looks only: the mounting hole size (an M3 clearance, because the drawing's hole figure is unclear), and the spring's wire and coils.
T8 round and polymer nuts, and T10, Tr12 and Tr16 nuts, aren't here yet; see COVERAGE.md.
Trapezoidal lead screw with a real thread: Tr8, Tr10, Tr12 and Tr16, leads 2 to 8 mm, any length.
Hex nut, ISO 4032, M2 to M12.
Metric nuts: hex ISO 4032, thin ISO 4035, nylon-insert DIN 985, all-metal DIN 980, flange DIN 6923, cap DIN 1587, square DIN 557.
HIWIN MGN miniature linear guideway, sizes 7, 9, 12 and 15: rail (MGNR) or block (MGN-C / MGN-H).