Linear bearings¶
⚙️ Spec sheet → — visual schematic and metrics measured from a real rendered STL.
Pure-Python port of BOSL2’s linear_bearings.scad: models of LMxUU linear ball bearings that run
along a rod, and the pillow-block housings that clamp them to a plate.
lmXuu_bearing() looks a standard size up in
lmxuu_info() (a
linear_bearings table);
linear_bearing() is the generic form.
- class pybosl2.parts.linear_bearings.LinearBearingSpec(outer_diameter, length)[source]¶
Bases:
objectDimensions of a standard LMxUU linear bearing (BOSL2 lmxuu_info()).
- outer_diameter : float¶
- length : float¶
- class pybosl2.parts.linear_bearings.LinearBearings[source]¶
Bases:
objectLinear (LMxUU) ball bearings and pillow-block housings (BOSL2 linear_bearings.scad).
See also
Visual spec sheet — measurements and STL previews
- static lmxuu_info(size)[source]¶
Return the
LinearBearingSpec(outer_diameter, length) for a standard LMxUU size (BOSL2.lmxuu_info()).
-
static linear_bearing(length=
24, outer_diameter=15, inner_diameter=8, color=None, fn=None, fa=None, fs=None)[source]¶ Return a generic linear ball-bearing cartridge, bore.
inner_diameter / outer outer_diameter / length length (BOSL2 linear_bearing()).
Examples
An LM8UU-sized bearing:
from pybosl2.parts.linear_bearings import LinearBearings LinearBearings.linear_bearing(length=24, outer_diameter=15, inner_diameter=8).show()Loading 3-D preview…
-
static lmxuu_bearing(size=
8, color='silver')[source]¶ Return a standard LMxUU linear bearing for a size mm rod (BOSL2 lmxuu_bearing()).
-
static linear_bearing_housing(diameter=
15, length=24, tab=8, gap=5, wall=3, tabwall=5, screwsize=3, fn=None, fa=None, fs=None)[source]¶ Return a pillow-block housing that clamps a linear bearing (bore.
diameter, length length) to a plate (BOSL2 linear_bearing_housing()).
The teardrop bore prints without support; the split gap and a screwsize clamp screw through the tabs let it grip the bearing.
- Parameters:¶
- diameter : float¶
Outer diameter of the bearing in mm. Defaults to 15.
- length : float¶
Axial length of the bearing in mm. Defaults to 24.
- tab : float¶
Tab height above the clamping gap in mm. Defaults to 8.
- gap : float¶
Split gap width in mm (cut between the clamp tabs). Defaults to 5.
- wall : float¶
Wall thickness around the bearing in mm. Defaults to 3.
- tabwall : float¶
Extra wall thickness for the clamp tabs in mm. Defaults to 5.
- screwsize : float¶
Clamp screw diameter in mm. Defaults to 3.
- fn : int | None¶
Number of fragments for cylinder resolution. Passed to the geometry primitives.
- fa : float | None¶
Minimum fragment angle. Passed to the geometry primitives.
- fs : float | None¶
Minimum fragment size. Passed to the geometry primitives.
- Returns:¶
A pillow-block housing as a
Bosl2Solid.- Return type:¶
CsgSolid
Examples
An LM8UU-sized housing:
from pybosl2.parts.linear_bearings import LinearBearings LinearBearings.linear_bearing_housing(diameter=15, length=24).show()Loading 3-D preview…
-
static lmxuu_housing(size=
8, tab=7, gap=5, wall=3, tabwall=5, screwsize=3, fn=None, fa=None, fs=None)[source]¶ Return a pillow-block housing sized for a standard LMxUU bearing (BOSL2 lmxuu_housing()).
-
static lmXuu_bearing(size=
8, color='silver')¶ Return a standard LMxUU linear bearing for a size mm rod (BOSL2 lmxuu_bearing()).
Examples¶
These mirror the examples in BOSL2’s linear_bearings.scad, rendered live through PythonSCAD.
Examples that rely on BOSL2’s attachment/anchor system, or on features not in this port, are omitted.
linear_bearing
A generic cartridge:
from pybosl2.parts.linear_bearings import LinearBearings
LinearBearings.linear_bearing(length=24, outer_diameter=15, inner_diameter=8).show()
lmXuu_bearing
A standard LM10UU:
from pybosl2.parts.linear_bearings import LinearBearings
LinearBearings.lmXuu_bearing(size=10).show()
linear_bearing_housing
A pillow-block housing:
from pybosl2.parts.linear_bearings import LinearBearings
LinearBearings.linear_bearing_housing(diameter=19, length=29, wall=2, tab=8, screwsize=2.5).show()
lmXuu_housing
A housing sized for an LM10UU:
from pybosl2.parts.linear_bearings import LinearBearings
LinearBearings.lmXuu_housing(size=10, wall=2, tab=6, screwsize=2.5).show()