- $fn=50;
- // starlink pole
- translate([0,0,-6]){
- color("black"){
- cylinder(12, d1=1.5, d2=1.5);
- }
- }
- // starlink dish
- translate([0,0,6]){
- color("grey"){
- cylinder(0.5, d1=12, d2=12);
- }
- }
- // innermost square
- for (i=[0:90:270]){
- rotate(a=i, v=[0, 0, 1]){
- translate([-6, 6, 0]){
- rotate(a=90, v=[0,1,0]){
- color("silver") cylinder(12, d1=1, d2=1);
- }
- }
- }
- }
- // connectors for base of starlink
- for (i=[0:180:180]){
- rotate(a=i, v=[0, 0, 1]){
- translate([0, 6, 0]){
- rotate(a=45+90, v=[1,0,0]){
- color("silver") cylinder(9, d1=1, d2=1);
- }
- }
- }
- }
- // connectors for ballest + ballest
- for (i=[90:180:270]){
- rotate(a=i, v=[0, 0, 1]){
- translate([2, 6, 0]){
- rotate(a=45+90+15, v=[1,0,0]){
- for(j=[7:1:9]){
- translate([0, 0, j]){
- color("DarkSlateGray"){
- cube([2, 2, 0.8], true);
- }
- }
- }
- color("silver") cylinder(11.5, d1=1, d2=1);
- }
- }
- }
- }
- // middle square
- for (i=[0:90:270]){
- rotate(a=i, v=[0, 0, 1]){
- translate([-8, 8, 0]){
- rotate(a=90, v=[0,1,0]){
- color("silver") cylinder(16, d1=1, d2=1);
- }
- }
- }
- }
- // middle square connectors / bearingss
- for (i=[90:180:270]){
- rotate(a=i, v=[0, 0, 1]){
- translate([0, 7.6, 0]){
- rotate(a=90, v=[1,0,0]){
- color("red"){
- cylinder(0.25, d1=1.5, d2=1.5);
- translate([0, 0, 1]){
- cylinder(0.25, d1=1.5, d2=1.5);
- }
- }
- translate([0, 0, 0]){
- cylinder(1.5, d1=0.5, d2=0.5);
- }
- }
- }
- }
- }
- // outer square
- for (i=[0:90:270]){
- rotate(a=i, v=[0, 0, 1]){
- translate([-10, 10, 0]){
- rotate(a=90, v=[0,1,0]){
- color("silver") cylinder(20, d1=1, d2=1);
- }
- }
- }
- }
- // outer square connectors / bearingss
- for (i=[0:180:180]){
- rotate(a=i, v=[0, 0, 1]){
- translate([0, 9.6, 0]){
- rotate(a=90, v=[1,0,0]){
- color("red"){
- cylinder(0.25, d1=1.5, d2=1.5);
- translate([0, 0, 1]){
- cylinder(0.25, d1=1.5, d2=1.5);
- }
- }
- translate([0, 0, 0]){
- cylinder(1.5, d1=0.5, d2=0.5);
- }
- }
- }
- }
- }
- // mounting connectors
- rotate(90, v=[1, 0, 0]){
- translate([10, 0, 10]){
- color("grey") cylinder(6, d1=1, d2=1);
- }
- }
- rotate(90, v=[1, 0, 0]){
- translate([-10, 0, 10]){
- color("grey") cylinder(6, d1=1, d2=1);
- }
- }
- rotate(90, v=[1, 0, 0]){
- translate([10, 0, 0]){
- rotate(45, v=[1, 0, 0]){
- color("grey") cylinder(20, d1=1, d2=1);
- }
- }
- }
- rotate(90, v=[1, 0, 0]){
- translate([-10, 0, 0]){
- rotate(45, v=[1, 0, 0]){
- color("grey") cylinder(20, d1=1, d2=1);
- }
- }
- }