| 1234567891011121314151617181920212223242526272829303132333435363738 |
- // 18650 cell + single-cell holder — dimensional mockup for layout exploration
- // Dimensions are typical/guessed; tune before committing to a specific holder.
- //
- // Module origin: centre of holder footprint in XY, flat bottom at z=0.
- // Cell long axis runs along X. Cell protrudes above the cradle body.
- /* [18650 Cell] */
- CELL_D = 18.5; // nominal diameter
- CELL_L = 65.5; // body length (includes button-top positive terminal)
- /* [Single-cell holder body] */
- // Typical spring-contact cradle: flat floor, cell half-exposed above.
- // Spring on one end adds ~4 mm, thin side walls ~1.25 mm each side.
- HLDR_W = 21.0; // Y width (cell dia + 2× side wall)
- HLDR_L = 74.0; // X length (cell + spring contact allowance)
- HLDR_FLOOR = 3.0; // Z thickness of cradle floor under cell
- // Cell centre is at floor thickness + cell radius — bottom of cell sits on floor.
- CELL_CZ = HLDR_FLOOR + CELL_D / 2;
- module CELL_18650() {
- color("steelblue", 0.9)
- rotate([0, 90, 0])
- cylinder(d=CELL_D, h=CELL_L, $fn=48);
- }
- // Origin: XY centre of holder footprint, z=0 at flat bottom face.
- module HOLDER_18650() {
- // Cradle floor body (solid block — end contacts not modelled)
- color("dimgray", 0.7)
- translate([-HLDR_L/2, -HLDR_W/2, 0])
- cube([HLDR_L, HLDR_W, HLDR_FLOOR]);
- // Cell sitting on the cradle, centred in XY
- translate([0, 0, CELL_CZ])
- CELL_18650();
- }
- HOLDER_18650();
|