Advertisement
Guest User

OpenScad Tile Creator

a guest
Jul 29th, 2015
223
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.89 KB | None | 0 0
  1. module notch(size, radius, angle, offset)
  2. {
  3. x = cos(angle) * radius;
  4. y = sin(angle) * radius;
  5. translate([x,y,0])
  6. rotate([0,0,angle])
  7. translate([0,offset,0])
  8. cube(size, center= true);
  9. }
  10.  
  11. module tile(radius, sides, height)
  12. {
  13. segAng = 360/sides;
  14. a = (180 - segAng) /2;
  15. diagonal = sin(a) * radius;
  16. side = cos(a) * radius;
  17. offset = (side / 2);
  18. size = [offset/2, offset/2, height];
  19. difference()
  20. {
  21. union()
  22. {
  23. cylinder(r=radius,h=height, $fn=sides, center = true);
  24. for(i = [1:sides])
  25. {
  26. angle = (segAng)*(i+0.5);
  27. notch(size, diagonal, angle, offset);
  28. }
  29. }
  30. for(i = [1:sides])
  31. {
  32. angle = (segAng)*(i + 0.5);
  33. notch(size, diagonal, angle, -offset);
  34. }
  35. }
  36. }
  37.  
  38. tile(10, 6, 1);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement