1include <BOSL2/std.scad>
2
3board_size = 19;
4
5board_length=100;//mm
6board_thickness=4;//mm
7
8wall_thickness = 2;//mm
9
10star_points = [[3,3],[9,3],[15,3],[3,9],[9,9],[15,9],[3,15],[9,15],[15,15]];
11star_point_length = 5; //mm
12
13piece_dimensions=[4,4,2];
14
15rounding = 1;//mm
16rounding_internal = 0.5;//mm
17
18resolution = 20;
19
20// Code
21internal_board_length = board_length-wall_thickness;
22internal_board_origin = [wall_thickness/2,wall_thickness/2,0];
23squares_on_board = board_size-1;
24square_scale = internal_board_length/squares_on_board;
25difference(){
26 cuboid([board_length,board_length,board_thickness],anchor=BOTTOM+FRONT+LEFT,edges=[TOP+FRONT,TOP+RIGHT,TOP+LEFT,TOP+BACK,LEFT+BACK,LEFT+FRONT,RIGHT+BACK,RIGHT+FRONT],rounding=rounding,$fn=resolution);
27 translate(internal_board_origin) cube([internal_board_length,internal_board_length,board_thickness]);
28}
29
30difference(){
31 union(){
32for ( x = [0 : squares_on_board-1] ){
33 for ( y = [0 : squares_on_board-1] ){
34 translate(internal_board_origin) translate([x*square_scale, y*square_scale, 0])
35 difference(){
36 cube([square_scale,square_scale,board_thickness]);
37 translate([wall_thickness/2,wall_thickness/2,-board_thickness]) cuboid([square_scale-wall_thickness,square_scale-wall_thickness,board_thickness*3],anchor=BOTTOM+FRONT+LEFT,edges=[LEFT+BACK,LEFT+FRONT,RIGHT+BACK,RIGHT+FRONT],rounding=rounding_internal,$fn=resolution);
38 }
39}
40}
41 for (i = [0 : len(star_points)-1]){
42 star_point_f_x = star_points[i].x;
43 star_point_f_y = star_points[i].y;
44 translate(internal_board_origin) translate([0,0,board_thickness/2]) translate([star_point_f_x*square_scale,star_point_f_y*square_scale,0]) rotate([0,0,45]) cube([star_point_length,star_point_length,board_thickness],center=true);
45 }
46}
47for ( x = [0 : squares_on_board-2] ){
48 for ( y = [0 : squares_on_board-2] ){
49 f_x = x+1;
50 f_y = y+1;
51 translate(internal_board_origin) translate([0,0,board_thickness]) translate([f_x*square_scale,f_y*square_scale,0]) scale(piece_dimensions) sphere(d=1,$fn=resolution*2);
52}
53}
54}