Added chamfers and made hub and rim properties of ball_bearings.

This commit is contained in:
Chris Palmer 2020-04-11 17:29:02 +01:00
parent 6b90a7aac8
commit ac4a5500a9
7 changed files with 47 additions and 32 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 780 KiB

After

Width:  |  Height:  |  Size: 784 KiB

View File

@ -165,8 +165,8 @@ o_rings_y = springs_y;
sealing_strip_y = springs_y + 20;
tubings_y = sealing_strip_y + 20;
pillars_y = tubings_y + 20;
leadnuts_y = pillars_y + 40;
pulleys_y = leadnuts_y +40;
ball_bearings_y = pillars_y + 40;
pulleys_y = ball_bearings_y +40;
hot_ends_y = pulleys_y + 60;
linear_bearings_y = hot_ends_y + 50;
sheets_y = linear_bearings_y + 100;
@ -209,10 +209,7 @@ translate([x0, tubings_y])
translate([x0, pillars_y])
pillars();
translate([x0, leadnuts_y ])
leadnuts();
translate([x0 + 60, leadnuts_y])
translate([x0, ball_bearings_y])
ball_bearings();
translate([x0, pulleys_y])
@ -252,7 +249,8 @@ translate([x0, psus_y]) {
}
zipties_y = 0;
bulldogs_y = zipties_y + 40;
bulldogs_y = zipties_y + 30;
leadnuts_y = bulldogs_y + 50;
translate([x1, zipties_y])
zipties();
@ -260,6 +258,10 @@ translate([x1, zipties_y])
translate([x1, bulldogs_y])
bulldogs();
translate([x1, leadnuts_y])
leadnuts();
leds_y = 0;
carriers_y = leds_y + 40;
spades_y = carriers_y + 40;

View File

@ -65,14 +65,11 @@ Also single bearing balls are modelled as just a silver sphere and a BOM entry.
| ```bb_bore(type)``` | Internal diameter |
| ```bb_colour(type)``` | Shield colour, "silver" for metal |
| ```bb_diameter(type)``` | External diameter |
| ```bb_hub(type)``` | Inner rim thickness guesstimate |
| ```bb_name(type)``` | Part code without shield type suffix |
| ```bb_rim(type)``` | Outer rim thickness guesstimate |
| ```bb_width(type)``` | Width |
### Functions
| Function | Description |
|:--- |:--- |
| ```bb_rim(type)``` | Inner and outer rim thickness |
### Modules
| Module | Description |
|:--- |:--- |
@ -88,7 +85,8 @@ Also single bearing balls are modelled as just a silver sphere and a BOM entry.
| 1 | ```ball_bearing(BB6200)``` | Ball bearing 6200-2RS 10mm x 30mm x 9mm |
| 1 | ```ball_bearing(BB6201)``` | Ball bearing 6201-2RS 12mm x 32mm x 10mm |
| 1 | ```ball_bearing(BB624)``` | Ball bearing 624-2RS 4mm x 13mm x 5mm |
| 4 | ``` bearing_ball(3)``` | Steel ball 3mm |
| 1 | ```ball_bearing(BB6808)``` | Ball bearing 6808-2RS 40mm x 52mm x 7mm |
| 5 | ``` bearing_ball(3)``` | Steel ball 3mm |
<a href="#top">Top</a>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 86 KiB

After

Width:  |  Height:  |  Size: 100 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 84 KiB

After

Width:  |  Height:  |  Size: 85 KiB

View File

@ -26,36 +26,51 @@
//! Also single bearing balls are modelled as just a silver sphere and a BOM entry.
//
include <../utils/core/core.scad>
include <../utils/tube.scad>
function bb_name(type) = type[0]; //! Part code without shield type suffix
function bb_bore(type) = type[1]; //! Internal diameter
function bb_diameter(type) = type[2]; //! External diameter
function bb_width(type) = type[3]; //! Width
function bb_colour(type) = type[4]; //! Shield colour, "silver" for metal
function bb_rim(type) = bb_diameter(type) / 10; //! Inner and outer rim thickness
function bb_rim(type) = type[5]; //! Outer rim thickness guesstimate
function bb_hub(type) = type[6]; //! Inner rim thickness guesstimate
module ball_bearing(type) { //! Draw a ball bearing
shield = bb_colour(type);
suffix = shield == "silver" ? "ZZ " : "-2RS ";
vitamin(str("ball_bearing(BB", bb_name(type), "): Ball bearing ", bb_name(type), suffix, bb_bore(type), "mm x ", bb_diameter(type), "mm x ", bb_width(type), "mm"));
rim = bb_rim(type);
hub = bb_hub(type);
h = bb_width(type);
od = bb_diameter(type);
id = bb_bore(type);
module tube(od, id, h)
linear_extrude(h, center = true, convexity = 5)
difference() {
circle(d = od);
circle(d = id);
}
or = bb_diameter(type) / 2;
ir = bb_bore(type) / 2;
color("silver") {
tube(od, od - rim, h);
tube(id + rim, id, h);
$fn = 360;
rim_chamfer = rim / 5;
rotate_extrude()
hull() {
translate([or - rim / 2, 0])
square([rim, h - 2 * rim_chamfer], center = true);
translate([or - rim / 2 - rim_chamfer, 0])
square([rim - rim_chamfer, h], center = true);
}
hub_chamfer = hub / 5;
rotate_extrude()
hull() {
translate([ir + hub / 2, 0])
square([hub, h - 2 * hub_chamfer], center = true);
translate([ir + hub / 2 + hub_chamfer, 0])
square([hub - hub_chamfer, h], center = true);
}
}
color(shield) tube(od - rim, id + rim, h - 1);
color(shield) tube(or - rim - eps, ir + hub + eps, h - 1);
if($children)
translate_z(bb_width(type) / 2)

View File

@ -16,11 +16,11 @@
// You should have received a copy of the GNU General Public License along with NopSCADlib.
// If not, see <https://www.gnu.org/licenses/>.
//
BB624 = ["624", 4, 13, 5, "blue"]; // 624 ball bearing for idlers
BB608 = ["608", 8, 22, 7, "OrangeRed"]; // 608 bearings for wades
BB6200 = ["6200", 10, 30, 9, "black"]; // 6200 bearings for KP pillow blocks
BB6201 = ["6201", 12, 32, 10, "black"]; // 6201 bearings for KP pillow blocks
ball_bearings = [BB624, BB608, BB6200, BB6201];
BB624 = ["624", 4, 13, 5, "blue", 1.2, 1.2]; // 624 ball bearing for idlers
BB608 = ["608", 8, 22, 7, "OrangeRed", 1.4, 2.0]; // 608 bearings for wades
BB6200 = ["6200", 10, 30, 9, "black", 2.3, 3.6]; // 6200 bearings for KP pillow blocks
BB6201 = ["6201", 12, 32, 10, "black", 2.4, 3.7]; // 6201 bearings for KP pillow blocks
BB6808 = ["6808", 40, 52, 7, "black", 1.5, 1.5];
ball_bearings = [BB624, BB608, BB6200, BB6201, BB6808];
use <ball_bearing.scad>