diff options
-rw-r--r-- | lib/runner.scad | 27 | ||||
-rw-r--r-- | supports/runner_generator.scad | 18 |
2 files changed, 45 insertions, 0 deletions
diff --git a/lib/runner.scad b/lib/runner.scad new file mode 100644 index 0000000..d425105 --- /dev/null +++ b/lib/runner.scad @@ -0,0 +1,27 @@ + +/* +This file is used in models found in this repository. +Copyright (C) 2024 Christian Hodgden + +This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. + +This program 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 General Public License for more details. + +You should have received a copy of the GNU Lesser General Public License along with this program. If not, see <https://www.gnu.org/licenses/>. +*/ + +// OpenSCAD's default unit is millimeter +module runner (length, width, frequency=10, thickness=1, height=0.1) { + for (i = [0:frequency:width]) { + translate([0, i, 0]) + cube([length+thickness, thickness, height]); + } + for (i = [0:frequency:length]) { + translate([i, 0, 0]) + cube([thickness, width+thickness, height]); + } + translate([0, width, 0]) + cube([length+thickness, thickness, height]); + translate([length, 0, 0]) + cube([thickness, width+thickness, height]); +} diff --git a/supports/runner_generator.scad b/supports/runner_generator.scad new file mode 100644 index 0000000..c33f680 --- /dev/null +++ b/supports/runner_generator.scad @@ -0,0 +1,18 @@ + +use <../lib/runner.scad>; + +// OpenSCAD's default unit is millimeter + +length = 100; +width = 150; +frequency = 10; +thickness = 1; +height = 0.1; + +runner( + length = length, + width = width, + frequency = frequency, + thickness = thickness, + height = height +); |