1
0
mirror of https://github.com/nophead/NopSCADlib.git synced 2025-08-19 05:39:10 +02:00

Added SFU1610 ballscrew nut

This commit is contained in:
Chris Palmer
2021-08-31 21:56:20 +01:00
parent 69f4ced29d
commit b893c9069a
5 changed files with 30 additions and 7 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 891 KiB

After

Width:  |  Height:  |  Size: 893 KiB

View File

@@ -1547,9 +1547,11 @@ Nuts for leadscrews.
| Function | Description |
|:--- |:--- |
| `leadnut_bore(type)` | Thread size |
| `leadnut_colour(type)` | The colour |
| `leadnut_flange_dia(type)` | Flange diameter |
| `leadnut_flange_offset(type)` | Offset of the flange from the top |
| `leadnut_flange_t(type)` | Flange thickness |
| `leadnut_flat(type)` | Flat section width |
| `leadnut_height(type)` | Total height |
| `leadnut_hole_dia(type)` | The diameter of the screw holes |
| `leadnut_hole_pitch(type)` | The radial pitch of the screw holes |
@@ -1577,6 +1579,7 @@ Nuts for leadscrews.
| ---:|:--- |:---|
| 1 | `leadnut(LSN8x2)` | Leadscrew nut 8 x 2 |
| 1 | `leadnut(LSN8x8)` | Leadscrew nut 8 x 8 RobotDigg |
| 1 | `leadnut(SFU1610)` | Leadscrew nut for SFU1610 |
<a href="#top">Top</a>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

After

Width:  |  Height:  |  Size: 77 KiB

View File

@@ -36,12 +36,17 @@ function leadnut_hole_pitch(type) = type[10]; //! The radial pitch of the
function leadnut_screw(type) = type[11]; //! The type of the fixing screws
function leadnut_pitch(type) = type[12]; //! Screw pitch
function leadnut_lead(type) = type[13]; //! Screw lead
function leadnut_flat(type) = type[14]; //! Flat section width
function leadnut_colour(type) = type[15]; //! The colour
function leadnut_shank(type) = leadnut_height(type) - leadnut_flange_t(type) - leadnut_flange_offset(type); //! The length of the shank below the flange
module leadnut_screw_positions(type) { //! Position children at the screw holes
holes = leadnut_holes(type);
for(i = [0 : holes - 1], a = i * 360 / holes + 180)
flat = leadnut_flat(type);
angles = flat ? [let(h = holes / 2, a = 90 / (h - 1)) for(i = [0 : h - 1], side = [-1, 1]) side * (45 + i * a)]
: [for(i = [0 : holes - 1]) i * 360 / holes + 180];
for(a = angles)
rotate(a)
translate([leadnut_hole_pitch(type), 0, leadnut_flange_t(type)])
rotate(45)
@@ -55,8 +60,10 @@ module leadnut(type) { //! Draw specified leadnut
h = leadnut_height(type);
pitch = leadnut_pitch(type);
lead = leadnut_lead(type);
flat = leadnut_flat(type);
flange_d = leadnut_flange_dia(type);
color("dimgrey") vflip()
color(leadnut_colour(type)) vflip()
translate_z(-leadnut_flange_offset(type) - leadnut_flange_t(type)) {
tube(or = leadnut_od(type) / 2, ir = bore_r, h = h, center = false);
@@ -66,12 +73,17 @@ module leadnut(type) { //! Draw specified leadnut
translate_z(leadnut_flange_offset(type))
linear_extrude(leadnut_flange_t(type))
difference() {
circle(d = leadnut_flange_dia(type));
circle(d = flange_d);
circle(bore_r);
leadnut_screw_positions(type)
circle(d = leadnut_hole_dia(type));
if(flat)
for(side = [-1, 1])
translate([side * flange_d / 2, 0])
square([flange_d - flat, flange_d], center = true);
}
}
}

View File

@@ -16,10 +16,18 @@
// You should have received a copy of the GNU General Public License along with NopSCADlib.
// If not, see <https://www.gnu.org/licenses/>.
//
// b s h f f f h h h s p l f c
// o h e l l l o o o c i e l o
// r a i a a a l l l r t a a l
// e n g n n n e e e e c d t o
// k h g g g s w h u
// t e e e d p r
//
// d t o
LSN8x2 = ["LSN8x2", "Leadscrew nut 8 x 2", 8, 10.2, 15, 22, 3.5, 1.5, 4, 3.5, 8, M3_cap_screw, 2, 2, 0, "dimgrey"];
LSN8x8 = ["LSN8x8", "Leadscrew nut 8 x 8 RobotDigg", 8, 12.75,19, 25.4, 4.1, 0, 3, 3.5, 19.05/2, M3_cap_screw, 2, 8, 0, "dimgrey"];
SFU1610 = ["SFU1610", "Leadscrew nut for SFU1610", 16, 28, 42.5, 48, 10, 0, 6, 6, 38/2, M6_cap_screw, 5, 10, 40, "#DFDAC5"];
LSN8x2 = ["LSN8x2", "Leadscrew nut 8 x 2", 8, 10.2, 15, 22, 3.5, 1.5, 4, 3.5, 8, M3_cap_screw, 2, 2];
LSN8x8 = ["LSN8x8", "Leadscrew nut 8 x 8 RobotDigg",8, 12.75,19, 25.4, 4.1, 0, 3, 3.5, 19.05/2, M3_cap_screw, 2, 8];
leadnuts = [LSN8x2, LSN8x8];
leadnuts = [LSN8x2, LSN8x8, SFU1610];
use <leadnut.scad>