/* Copyright (C) 2015 Daniel Watson See the end of the file for license conditions. */ // challenge-bot // GNU AGPLv3 (or later at your option) // project available here: // https://challenge-bot.com/ module nut_2d(size) { side_length = size * sin(30) / sin(120); for (ii = [-1:1]) { rotate(a = 120 * ii, v = [0, 0, 1]) { square([side_length, size], center = true); } } } module nut(size, height) { linear_extrude(height = height) { nut_2d(size); } } /* This file is part of challenge-bot. Challenge-bot is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. GNU Affero Emacs is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with challenge-bot. If not, see . */