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: object

Dimensions of a standard LMxUU linear bearing (BOSL2 lmxuu_info()).

Parameters:
outer_diameter : float

length : float

outer_diameter : float
length : float
class pybosl2.parts.linear_bearings.LinearBearings[source]

Bases: object

Linear (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()).

Parameters:
size : int

Return type:

LinearBearingSpec

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…

⬇ Download STL mesh

Parameters:
length : float

outer_diameter : float

inner_diameter : float

color : Color | None

fn : int | None

fa : float | None

fs : float | None

Return type:

CsgSolid

static lmxuu_bearing(size=8, color='silver')[source]

Return a standard LMxUU linear bearing for a size mm rod (BOSL2 lmxuu_bearing()).

Parameters:
size : int

color : str | None

Return type:

CsgSolid

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…

⬇ Download STL mesh

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()).

Parameters:
size : int

tab : float

gap : float

wall : float

tabwall : float

screwsize : float

fn : int | None

fa : float | None

fs : float | None

Return type:

CsgSolid

static lmXuu_bearing(size=8, color='silver')

Return a standard LMxUU linear bearing for a size mm rod (BOSL2 lmxuu_bearing()).

Parameters:
size : int

color : str | None

Return type:

CsgSolid

static lmXuu_housing(size=8, tab=7, gap=5, wall=3, tabwall=5, screwsize=3, fn=None, fa=None, fs=None)

Return a pillow-block housing sized for a standard LMxUU bearing (BOSL2 lmxuu_housing()).

Parameters:
size : int

tab : float

gap : float

wall : float

tabwall : float

screwsize : float

fn : int | None

fa : float | None

fs : float | None

Return type:

CsgSolid

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()
Loading 3-D preview…

⬇ Download STL mesh

lmXuu_bearing

A standard LM10UU:

from pybosl2.parts.linear_bearings import LinearBearings
LinearBearings.lmXuu_bearing(size=10).show()
Loading 3-D preview…

⬇ Download STL mesh

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()
Loading 3-D preview…

⬇ Download STL mesh

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()
Loading 3-D preview…

⬇ Download STL mesh