| // Created in 2022 by Ryan A. Colyer.
|
| // This work is released with CC0 into the public domain.
|
| // https://creativecommons.org/publicdomain/zero/1.0/
|
|
|
| // View, Animate, FPS: 30, Steps: 150
|
|
|
| $fa=1; $fs=0.4;
|
|
|
| module F15() {
|
| difference() {
|
| color("grey") {
|
| hull() {
|
| translate([0, -3.5, 0]) cube([20, 7, 2]);
|
| translate([19, 2, 1]) rotate([0, 90, 0]) cylinder(d=3, h=3);
|
| }
|
|
|
| hull() {
|
| translate([0, -3.5, 0]) cube([20, 7, 2]);
|
| translate([19, -2, 1]) rotate([0, 90, 0]) cylinder(d=3, h=3);
|
| }
|
| difference() {
|
| hull() {
|
| translate([15, 0, 0]) scale([0.5, 0.7, 0.7]) {
|
| translate([11, -12, 1.6]) rotate([0, 0, 15]) cube([4, 0.1, 0.1]);
|
| translate([11, 12, 1.6]) rotate([0, 0, -15]) cube([4, 0.1, 0.1]);
|
| translate([1, 0, 1.6]) cube([0.1, 0.1, 0.1]);
|
| translate([11, 5, 1.8]) rotate([90, 0, 0]) cylinder(r=0.5, h=10);
|
| }
|
| }
|
| translate([16, -3.45, 0]) cube([8, 6.9, 3]);
|
| }
|
| }
|
| color("orange") {
|
| translate([20, 2, 1]) rotate([0, 90, 0]) cylinder(d=2, h=3);
|
| translate([20, -2, 1]) rotate([0, 90, 0]) cylinder(d=2, h=3);
|
| }
|
| }
|
|
|
| color("#02daf7")
|
| hull() {
|
| translate([0, 0, 1.5]) rotate([0, 90, 0]) cylinder(d1=3, d2=0.1, h=4);
|
| scale([1, 0.5, 0.85]) translate([-2, 0, 2]) sphere(d=4);
|
| translate([-3, 0, 2]) scale([1, 0.3, 0.3]) sphere(d=4);
|
| }
|
|
|
| color("grey") {
|
| hull() {
|
| translate([0, 0, 1.5]) rotate([0, 90, 0]) cylinder(d1=3, d2=0.1, h=8);
|
| scale([1, 3/4, 2/3]) translate([-2, 0, 2]) sphere(d=4);
|
| translate([-4, 0, 1]) scale([1, 0.3, 0.3]) sphere(d=8);
|
| }
|
| }
|
|
|
| color("grey") {
|
| hull() {
|
| translate([12, -12, 1.6]) rotate([0, 0, 15]) cube([4, 0.1, 0.1]);
|
| translate([12, 12, 1.6]) rotate([0, 0, -15]) cube([4, 0.1, 0.1]);
|
| translate([2, 0, 1.6]) cube([0.1, 0.1, 0.1]);
|
| translate([12, 5, 1.8]) rotate([90, 0, 0]) cylinder(r=0.5, h=10);
|
| }
|
| }
|
|
|
| color("grey") {
|
| hull() {
|
| translate([21, 3.3, 6]) cube([1.5, 0.2, 0.1]);
|
| translate([15, 3.3, 1]) cube([6.5, 0.2, 0.1]);
|
| }
|
| hull() {
|
| translate([21, -3.3, 6]) cube([1.5, 0.2, 0.1]);
|
| translate([15, -3.3, 1]) cube([6.5, 0.2, 0.1]);
|
| }
|
| }
|
| }
|
|
|
|
|
| rotate([15, 0, 360*$t]) translate([0, 80, 20]) F15();
|