Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- $fn = 120;
- thickness = 8;
- height = 12;
- width = 2;
- module zero() {
- difference() {
- translate([0, 0, -.5*thickness])
- cylinder(h=thickness, d=height);
- translate([0, 0, -.5*thickness-1])
- cylinder(h=thickness+2, d=height - 2*width);
- }
- }
- module zerohole() {
- translate([0, 0, -.5*thickness - 3])
- cylinder(h=thickness+6, d=height - .5);
- }
- module one() {
- translate([-.5*width, -.5*height, -.5*thickness])
- cube([width, height, thickness]);
- translate([-1.5*width, .5*height - width, -.5*thickness])
- cube([2*width, width, thickness]);
- }
- module widget() {
- translate([-.5*height - 2, 0, 0]) zero();
- one();
- translate([.5*height + 2, 0, 0]) zero();
- difference() {
- intersection() {
- translate([-10, 0, -.5*width])
- cube([20, 13, width]);
- translate([0, 17, -20])
- rotate(225, [0, 0, 1])
- cube([50, 50, 50]);
- }
- translate([-.5*height - 2, 0, 0]) zerohole();
- translate([.5*height + 2, 0, 0]) zerohole();
- translate([0, 9, -10]) cylinder(d=4, h=20);
- }
- }
- step = 30;
- for (x = [-100:step:101]) {
- for (y = [-100:step:101]) {
- translate([x, y, 0]) widget();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement