batt_18650.scad 1.4 KB

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