BizzKeryear

LED_neon_frame.scad

Apr 24th, 2022 (edited)
39
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //LED neon circle/triangle/square frame
  2. //by BigClive.com
  3. //Improved Version by MrMega/BizzKeryear
  4. /*[Main adjustable variables]*/
  5. //Mode of the program, circle, triangle, or square.
  6. mode="c"; // [c:circle, t:triangle, s:square]
  7. //thickness of LED neon
  8. thick=5;  //[2:0.1:20]
  9. //wall thickness
  10. wall=1.2; //[0.4:0.1:10]
  11. //depth of groove
  12. height=6; //[1:0.1:20]
  13.  
  14. /*[Detail variables - Circular Frame]*/
  15. //diameter of circular frame
  16. diam=121; //[15:0.1:500]
  17. /*[Detail variables - Triangular / Square Frame]*/
  18. //corner outer radius
  19. curve=20; //[14:0.1:70]
  20. //width of frame
  21. width=150; //[30:0.1:500]
  22. //width=100; //[:0.1:]
  23.  
  24. /*[Hidden]*/
  25. $fn=100;    //circle segments
  26. //Don't change variables below here
  27. wl=wall*2;
  28. crv=curve*2;
  29. thk=thick*2;
  30. crz=(width/2)-curve;
  31. tri=crz*1.732-crz; //peak of triangle
  32. radius=diam/2;
  33. if (mode=="c") {
  34.     difference(){
  35.         //main disk
  36.         cylinder(h=height+1, d=diam);
  37.         //central void
  38.         translate([0,0,-1])
  39.             cylinder(h=height+2, d=diam-thk-(wall*4));
  40.         //cable hole
  41.         translate([0,radius-wall-(thick/2),-1])
  42.             cylinder(h=height+2, d=thick-1);
  43.         difference(){
  44.             //channel groove outer dimension
  45.             translate([0,0,1])
  46.                 cylinder(h=height+1, d=diam-wl);
  47.             //channel groove inner dimension
  48.             translate([0,0,-1])
  49.                 cylinder(h=height+1, d=diam-wl-thk);
  50.         }
  51.     }
  52. }
  53. else if (mode=="t") {
  54.     difference(){
  55.         //main disk
  56.         hull() {
  57.             translate([-crz,crz,0])
  58.                 cylinder(h=height+1, d=crv);
  59.             translate([crz,crz,0])
  60.                 cylinder(h=height+1, d=crv);
  61.             translate([0,-tri,0])
  62.                 cylinder(h=height+1, d=crv);
  63.         }
  64.         //central void
  65.         hull() {
  66.             translate([-crz,crz,-1])
  67.                 cylinder(h=height+3, d=crv-wl-wl-thk);
  68.             translate([crz,crz,-1])
  69.                 cylinder(h=height+3, d=crv-wl-wl-thk);
  70.             translate([0,-tri,-1])
  71.                 cylinder(h=height+3, d=crv-wl-wl-thk);
  72.         }
  73.         //cable hole
  74.         translate([0,(width/2)-wall-(thick/2),-1])
  75.             cylinder(h=height+2, d=thick-1);
  76.         difference(){
  77.             //channel groove outer dimension
  78.             hull() {
  79.                 translate([-crz,crz,1])
  80.                     cylinder(h=height+1, d=crv-wl);
  81.                 translate([crz,crz,1])
  82.                     cylinder(h=height+1, d=crv-wl);
  83.                 translate([0,-tri,1])
  84.                     cylinder(h=height+1, d=crv-wl);
  85.             }
  86.             //channel groove inner dimension
  87.             hull() {
  88.                 translate([-crz,crz,1])
  89.                     cylinder(h=height+1, d=crv-wl-thk);
  90.                 translate([crz,crz,1])
  91.                     cylinder(h=height+1, d=crv-wl-thk);
  92.                 translate([0,-tri,1])
  93.                     cylinder(h=height+1, d=crv-wl-thk);
  94.             }
  95.         }
  96.     }
  97. }
  98. else if (mode=="s") {
  99.     difference(){
  100.         //main frame
  101.         hull() {
  102.             translate([-crz,crz,0])
  103.                 cylinder(h=height+1, d=crv);
  104.             translate([crz,crz,0])
  105.                 cylinder(h=height+1, d=crv);
  106.             translate([-crz,-crz,0])
  107.                 cylinder(h=height+1, d=crv);
  108.             translate([crz,-crz,0])
  109.                 cylinder(h=height+1, d=crv);
  110.         }
  111.         //central void
  112.         hull() {
  113.             translate([-crz,crz,-1])
  114.                 cylinder(h=height+3, d=crv-wl-wl-thk);
  115.             translate([crz,crz,-1])
  116.                 cylinder(h=height+3, d=crv-wl-wl-thk);
  117.             translate([-crz,-crz,-1])
  118.                 cylinder(h=height+3, d=crv-wl-wl-thk);
  119.             translate([crz,-crz,-1])
  120.                 cylinder(h=height+3, d=crv-wl-wl-thk);
  121.         }
  122.         //cable hole
  123.         translate([0,(width/2)-wall-(thick/2),-1])
  124.             cylinder(h=height+2, d=thick-1);
  125.         difference(){
  126.             //channel groove outer
  127.             hull() {
  128.                 translate([-crz,crz,1])
  129.                     cylinder(h=height+1, d=crv-wl);
  130.                 translate([crz,crz,1])
  131.                     cylinder(h=height+1, d=crv-wl);
  132.                 translate([-crz,-crz,1])
  133.                     cylinder(h=height+1, d=crv-wl);
  134.                 translate([crz,-crz,1])
  135.                     cylinder(h=height+1, d=crv-wl);
  136.             }
  137.             //channel groove inner
  138.             hull() {
  139.                 translate([-crz,crz,1])
  140.                     cylinder(h=height+1, d=crv-wl-thk);
  141.                 translate([crz,crz,1])
  142.                     cylinder(h=height+1, d=crv-wl-thk);
  143.                 translate([-crz,-crz,1])
  144.                     cylinder(h=height+1, d=crv-wl-thk);
  145.                 translate([crz,-crz,1])
  146.                     cylinder(h=height+1, d=crv-wl-thk);
  147.             }
  148.         }
  149.     }
  150. }
Add Comment
Please, Sign In to add comment