Advertisement
j0h

cipher wheel scad

j0h
May 17th, 2025
359
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.00 KB | None | 0 0
  1. // ceaser cipher wheel
  2. // Parameters
  3. ring_thickness = 9;    // Thickness of the ring (radial)
  4. ring_height = 5;       // Height of the ring
  5. letter_count = 26;
  6. angle_step = 360 / letter_count;
  7. font_size = 6;
  8. font_name = "Liberation Sans";  // Change if needed
  9.  
  10. module ring_with_letters(ring_radius) {
  11.     difference() {
  12.         // Outer cylinder
  13.         cylinder(h = ring_height, r = ring_radius + ring_thickness / 2, $fn = 200);
  14.         // Inner hole
  15.         cylinder(h = ring_height + 1, r = ring_radius - ring_thickness / 2, $fn = 200);
  16.     }
  17.  
  18.     // Add letters
  19.     for (i = [0 : letter_count - 1]) {
  20.         angle = i * angle_step;
  21.         letter = chr(65 + i);  // 65 = 'A'
  22.  
  23.         rotate([0, 0, angle])
  24.         translate([ring_radius, 0, ring_height])
  25.         rotate([0, 0, 0])
  26.         linear_extrude(height = 1)
  27.             text(letter, size = font_size, font = font_name, halign = "center", valign = "bottom");
  28.     }
  29. }
  30.  
  31. // Example usage:
  32. ring_with_letters(50);
  33. ring_with_letters(40.7);
  34.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement