Last active
April 12, 2023 23:41
-
-
Save rahji/0510cb91d1fd9e932dfe7eead5aebe50 to your computer and use it in GitHub Desktop.
Go game board (Goban) generator for laser cutting and engraving
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// gramlanguage.com | |
size = 19 // 19 or 13 or 9 | |
margin = 30 // board cutout margin/padding | |
// --------------------------------------- | |
size = size - 1 | |
w = 22 | |
h = 23.7 | |
ww = w*size | |
hh = h*size | |
def star: | |
rectangle 4 4 | |
grid = layer: | |
x = layer: | |
forward size*w | |
copypaste size: | |
translate 0 h | |
y = layer: | |
right ~90 | |
forward size*h 0 | |
copypaste size: | |
translate w 0 | |
originate | |
center = layer: | |
star | |
if size > 9: | |
layer: | |
star | |
translate ww/2-(3*w) hh/2-(3*h) | |
layer: | |
star | |
translate ww/2-(3*w) ~hh/2+(3*h) | |
layer: | |
star | |
translate ~ww/2+(3*w) hh/2-(3*h) | |
layer: | |
star | |
translate ~ww/2+(3*w) ~hh/2+(3*h) | |
if size > 13: | |
layer: | |
star | |
translate ww/2-(3*w) 0 | |
layer: | |
star | |
translate ~ww/2+(3*w) 0 | |
layer: | |
star | |
translate ww/2-(3*w) 0 | |
layer: | |
star | |
translate ~ww/2+(3*w) 0 | |
layer: | |
star | |
translate 0 hh/2-(3*h) | |
layer: | |
star | |
translate 0 ~hh/2+(3*h) | |
strokecolor "blue" | |
cutout = layer: | |
rectangle (size*w)+(margin*2) (size*h)+(margin*2) | |
strokecolor "red" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment