Walls¶
⚙️ Spec sheet → — visual schematic and metrics measured from a real rendered STL.
FDM-optimised wall shapes from BOSL2’s walls.scad — parts that use less material and print
without support. sparse_wall() is an X-cross-braced open wall (and
sparse_cuboid() a solid-box variant braced along one axis);
corrugated_wall() a sinusoidal corrugated panel;
thinning_wall() and thinning_triangle() walls whose
middle thins away while the edges stay thick, joined by angled shoulders that don’t overhang;
narrowing_strut() the home-plate strut those triangles are built from. The
honeycomb hex_panel is a follow-up.
.. autoclass:: bosl2.walls.Walls
- members:
Examples¶
These mirror the examples in BOSL2’s walls.scad, rendered live through PythonSCAD.
Examples that rely on BOSL2’s attachment/anchor system, or on features not in this port, are omitted.
sparse_wall
Typical shape:
Walls.sparse_wall(height=40, length=100, thick=3).show()
Thinner strut:
Walls.sparse_wall(height=40, length=100, thick=3, strut=2).show()
Larger maxang:
Walls.sparse_wall(height=40, length=100, thick=3, strut=2, maxang=45).show()
Longer max_bridge:
Walls.sparse_wall(height=40, length=100, thick=3, strut=2, maxang=45, max_bridge=30).show()
sparse_cuboid
A cross-braced box, braced along X:
Walls.sparse_cuboid([10, 20, 30], dir="X", strut=1).show()
Braced along Y:
Walls.sparse_cuboid([10, 20, 30], dir="Y", strut=1).show()
Braced along Z:
Walls.sparse_cuboid([10, 20, 30], dir="Z", strut=1).show()
corrugated_wall
Typical shape:
Walls.corrugated_wall(height=50, length=100).show()
Wider strut border:
Walls.corrugated_wall(height=50, length=100, strut=8).show()
Thicker corrugation:
Walls.corrugated_wall(height=50, length=100, strut=8, wall=3).show()
thinning_wall
Typical shape:
Walls.thinning_wall(height=50, length=80, thick=4).show()
Trapezoidal:
Walls.thinning_wall(height=50, l=[80, 50], thick=4).show()
thinning_triangle
Centered:
Walls.thinning_triangle(height=50, length=80, thick=4, angle=30, strut=5, wall=2, center=True).show()
Resting on the ground plane:
Walls.thinning_triangle(height=50, length=80, thick=4, angle=30, strut=5, wall=2, center=False).show()
Only the diagonal edge thickened:
Walls.thinning_triangle(height=50, length=80, thick=4, angle=30, strut=5, wall=2, diagonly=True, center=False).show()
narrowing_strut
A support-free strut:
Walls.narrowing_strut(w=10, length=100, wall=5, angle=30).show()