Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- module notch(size, radius, angle, offset)
- {
- x = cos(angle) * radius;
- y = sin(angle) * radius;
- translate([x,y,0])
- rotate([0,0,angle])
- translate([0,offset,0])
- cube(size, center= true);
- }
- module tile(radius, sides, height)
- {
- segAng = 360/sides;
- a = (180 - segAng) /2;
- diagonal = sin(a) * radius;
- side = cos(a) * radius;
- offset = (side / 2);
- size = [offset/2, offset/2, height];
- difference()
- {
- union()
- {
- cylinder(r=radius,h=height, $fn=sides, center = true);
- for(i = [1:sides])
- {
- angle = (segAng)*(i+0.5);
- notch(size, diagonal, angle, offset);
- }
- }
- for(i = [1:sides])
- {
- angle = (segAng)*(i + 0.5);
- notch(size, diagonal, angle, -offset);
- }
- }
- }
- tile(10, 6, 1);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement