omdl  v0.9.5
OpenSCAD Mechanical Design Library
Linear rod bearing

Linear rod ball and sled bearing. More...

+ Collaboration diagram for Linear rod bearing:

Files

file  bearing_linear_rod.scad
 Linear rod ball and sled bearing.
 

Functions

module make_bearing_linear_rod (pipe, ball, count, angle, h, tunnel, feed, load=1, offset=1, delta=0, gap=10, reveal=50, dilate=15, type=0, align=2, verb=0, view)
 Transform 2d or 3d shape into a linear rod ball or sled bearing. More...
 

Detailed Description

Linear rod ball and sled bearing.

Requires:
include <omdl-base.scad>;
include <tools/operation_cs.scad>;
include <parts/3d/bearing/bearing_linear_rod.scad>;

Function Documentation

◆ make_bearing_linear_rod()

module make_bearing_linear_rod ( pipe  ,
ball  ,
count  ,
angle  ,
,
tunnel  ,
feed  ,
load  = 1,
offset  = 1,
delta  = 0,
gap  = 10,
reveal  = 50,
dilate  = 15,
type  = 0,
align  = 2,
verb  = 0,
view   
)

Transform 2d or 3d shape into a linear rod ball or sled bearing.

Parameters
pipe<decimal-list-2> pipe or rod diameter [outer, inner].
ball<decimal> ball bearing diameter.
count<integer> ball bearing tunnel count.
angle<decimal> ball bearing tunnel angle.
h<data-list-3> bearing block height.
tunnel<decimal-list-2> ball bearing tunnel size.
feed<decimal-list-4> ball bearing feed specification.
load<integer> ball bearing feed load position (0=none, 1=inner, 2=outer, 3=top, 4=bottom).
offset<integer> pipe-to-bearing alignment offset mode (0=ball-tunnel, 1=ball, 2=ball-tunnel + 50% of gap).
delta<decimal> pipe-to-bearing alignment absolute adjustment.
gap<decimal> ball bearing gap percentage.
reveal<decimal> ball bearing reveal percentage.
dilate<decimal> ball bearing circulation tunnel-return enlargement percentage.
type<integer> bearing type (0=ball, 1=slide).
align<integer> bearing block zero alignment location. (0=+block_h/2, 1=+tunnel_h/2, 2=center, 3=-tunnel_h/2, 4=-block_h/2)
verb<integer> verbosity (0=quiet).
view<integer-list-3> bearing block internal view (0=block, 1=pipe-tunnel, 2=ball-tunnel). Use, for example, [1, 2] to view multiple.

This module transforms a child object into a linear bearing. By default, a 2d profile is extruded into a linear bearing, but the parameter h can be configured to operated on a 3d child object.

The parameters pipe, ball, count, angle, and h are required but the remaining are optional. Default values are used for all unspecified parameters. Default values are also used for unspecified elements positions for parameter that accepts a list of values. For example, the following table are all valid specifications for h:

parameter h value description
10.5 bearing block height, defaults for remaining
[10.5] same as above
[10.5, 5] block height and end cap thickness
[10.5, undef, false] block height and extrusion options only
[10.5, 5, false] block height, end cap thickness and extrusion

A single scalar value can be used to specify the first value of a multi-value parameter as shown in the above table.

Multi-value parameters

h

e data type default value parameter description
0 decimal required total bearing height
1 decimal ball/4 bearing end-cap height
2 boolean true extrude child object

tunnel

e data type default value parameter description
0 decimal ball/4 perpendicular tunnel dimension
1 decimal ball tunnel corner turn radius

feed

e data type default value parameter description
0 decimal 1 ball bearing feeder size factor
1 decimal 0 tunnel position factor [0:1]
2 decimal 0 rotation angle
3 decimal tunnel-diameter ball bearing feeder length

When the first value position of feed is assigned 0, the feed option is disabled. The bearing feed can also be disabled by assigning load = 0.

Bearing example script

include <omdl-base.scad>;
include <tools/operation_cs.scad>;
include <parts/3d/bearing/bearing_linear_rod.scad>;
emt = [length(0.706, "in"), length(0.622, "in")];
ball = length(6, "mm");
r = 21.5; h = ball*8; c = 6; a = 85;
(
pipe = emt,
ball = ball,
count = c,
angle = a,
h = [h, undef, false],
view = 2,
$fn = 36
)
minkowski()
{
linear_extrude(h-ball, center=true)
rotate(a) ngon(n=c, r=r);
sphere(r=ball/2);
}
// end_include
function count(mv, v, s=true, i)
Count all occurrences of a match value in an iterable value.
module make_bearing_linear_rod(pipe, ball, count, angle, h, tunnel, feed, load=1, offset=1, delta=0, gap=10, reveal=50, dilate=15, type=0, align=2, verb=0, view)
Transform 2d or 3d shape into a linear rod ball or sled bearing.
module ngon(n, r, vr)
An n-sided equiangular/equilateral regular polygon.
Definition: basic_2d.scad:760
function angle(a, from=angle_unit_default, to=angle_unit_base)
Convert an angle from some units to another.
function length(v, from=length_unit_default, to=length_unit_base, d=1)
Convert a value from from one units to another with dimensions.

Bearing example diagram
toprightdiag
expand topexpand rightexpand diag

This example uses the view options to see the bearing internals. Click image above to expand.

Definition at line 418 of file bearing_linear_rod.scad.

+ Here is the call graph for this function: