-
Notifications
You must be signed in to change notification settings - Fork 18
Screws shapes
Gilles Bouissac edited this page Apr 1, 2024
·
12 revisions
This tutorial applies to all standards. The examples are given for metric coarse standard.
Changes to do in the reading to adapt to other standards are summarized in this table:
- MXC: Metric Coarse standard (International standard)
- MXF: Metric Fine standard (International standard)
- UNC: Unified National Coarse standard (US standard)
- UNF: Unified National Fine standard (US standard)
- BSW: British Standard Whitworth (UK standard)
- BSF: British Standard Fine (UK standard)
Tutorial code | MXC | MXF | UNC | UNF | BSW | BSF |
---|---|---|---|---|---|---|
mx-screw.scad |
mx-screw.scad |
mxf-screw.scad |
unc-screw.scad |
unf-screw.scad |
bsw-screw.scad |
bsf-screw.scad |
mxBolt |
mxBolt |
mxfBolt |
uncBolt |
unfBolt |
bswBolt |
bsfBolt |
mxNut |
mxNut |
mxfNut |
uncNut |
unfNut |
bswNut |
bsfNut |
mxClone |
mxClone |
mxfClone |
uncClone |
unfClone |
bswClone |
bsfClone |
M3 |
M3 |
MF3 |
UNC_N5 |
UNF_N5 |
BSW5_32 |
BSF5_32 |
Direct access to the code of the tutorial for each standard:
- Metric Coarse tutorial code
- Metric Fine tutorial code
- UNC tutorial code
- UNF tutorial code
- BSW tutorial code
- BSF tutorial code
Step | Code | Result |
---|---|---|
Some walls | use <agentscad/lib-screw.scad> use <agentscad/mx-screw.scad> ... module showcaseWalls( wh1, wh2, ww=200, wp=20 ) { translate ( [0,wp/2,0] ) { color( "LightSkyBlue" ) translate ( [0,0,-(wh2+wh1)/2] ) cube( [ww,wp,wh2], center=true ); color( "DodgerBlue" ) translate ( [0,0,0] ) cube( [ww,wp,wh1], center=true ); } } showcaseWalls (3,10,15); |
|
Bolt passage | ... screw = M3(10,3); difference() { showcaseWalls (3,10,15); mxBoltPassage (screw); } |
|
Allen bolt | #mxBoltAllen (screw); |
|
Hexagonal bolt | #mxBoltHexagonal (screw); |
|
Tight passage allen |
... screw = M3(10,3); difference() { showcaseWalls (3,10,15); mxBoltAllenPassage (screw); } %mxBoltAllen (screw); |
|
Tight passage hexagonal |
... screw = M3(10,3); difference() { showcaseWalls (3,10,15); mxBoltHexagonalPassage (screw); } %mxBoltHexagonal (screw); |
|
Nut passage | ... difference() { showcaseWalls (3,10,15); mxBoltHexagonalPassage (screw); translate( [0,0,-screwGetThreadL(screw)] ) mxNutPassage (screw); } |
|
Hexagonal nut | ... translate( [0,0,-screwGetThreadL(screw)] ) %mxNutHexagonal (screw); |
|
Square nut | ... translate( [0,0,-screwGetThreadL(screw)] ) %mxNutSquare (screw); |
|
Hexagonal nut passage | ... difference() { showcaseWalls (3,10,15); mxBoltHexagonalPassage (screw); translate( [0,0,-screwGetThreadL(screw)] ) mxNutHexagonalPassage (screw); } |
|
Square nut passage | ... difference() { translate ( [0,-3,0] ) showcaseWalls (3,10,15); mxBoltPassage (screw); translate( [0,0,-screwGetThreadL(screw)+4] ) mxNutSquarePassage (screw); } %mxBoltHexagonal (mxClone(screw,12)); translate( [0,0,-screwGetThreadL(screw)+4] ) %mxNutSquare (screw); |