A chess set (board and pieces) designed in OpenSCAD. Different styles are used for black and white pieces. A variant with cutouts for magnets to be in...serted during printing is included.
The board consists of 64 square pieces and 8 edge pieces that interlock. With the correct tolerances, the fit should be tight enough that you can easily pick up the board on one corner.
I would recommend printing two squares first to confirm the fit of the interlocking parts (and - if printing the variant with magnet cutouts) that the magnets fit into the cutouts. The fit can then - if necessary - be fine-tuned with the customizer. The included stls use values that worked well for me with 3mm radius 3mm height neodymium magnets.
All board pieces should be printed in the given orientation so that the top layer is aligned across the entire board.
All components are included as individual stls as well as grouped for bulk printing:
all black pieces
all white pieces
9 board squares
16 board squares
all horizontal edge pieces
all vertical edge pieces
The file chess_set.stl is for illustration only and is not meant to be printed directly.
For edge pieces, variants are provided with the labels embossed or engraved. For board squares and chess pieces, variants are provided with (*_mag.stl) and without magnet cutout.
When printing with magnet cutouts, the magnets have to be inserted during print, either by adding a pause command in the gcode or by printing multiple pieces at the same time and inserting the magnets while one of the other pieces is being printed. Putting a small dab of CA glue on the bottom of the magnet before insertion prevents possible rattling.
3d model print parameters
The pieces should be printed with a lot of infill (I used 90%) so they have some weight. For the rooks, you may want to use less infill (~55%)..., as otherwise they will be far heavier than the other pieces. Note that if you print this with a brim, a lot of clean-up work will be required in order for the interlocking pieces to fit, so if possible, a brim should be avoided.