goban/flat3dprint/black_stones.scad

40 lines
1.2 KiB
OpenSCAD

include <params.scad>
use <white_stones.scad>
module bstone() {
difference() {
wstone();
for($r=[$mark_thickness/2:2*$mark_thickness:$stone_radius]) {
translate([0, 0, -1]) {
difference() {
cylinder(r=$r+$mark_thickness/2, h=$stone_height/3+1, $fn=200);
translate([0, 0, -1]) {
cylinder(r=$r-$mark_thickness/2, h=$stone_height/3+2, $fn=200);
}
}
}
translate([0, 0, $stone_height*2/3]) {
difference() {
cylinder(r=$r+$mark_thickness/2, h=$stone_height/3+1, $fn=200);
translate([0, 0, -1]) {
cylinder(r=$r-$mark_thickness/2, h=$stone_height/3+2, $fn=200);
}
}
}
}
}
}
$median = floor($goban_size/2);
for($x=[$median:$goban_size-1]) {
for($y=[0:$goban_size-1]) {
if($x>$median || ($x==$median && $y>=$median)) {
translate([
$x*2*($stone_radius+$stone_clearance),
$y*2*($stone_radius+$stone_clearance), 0]) {
bstone();
}
}
}
}