From 211e1f853505eee78cae8124c2d8c83820393f49 Mon Sep 17 00:00:00 2001 From: Andrew Davidson Date: Thu, 13 Jul 2023 15:47:23 -0700 Subject: [PATCH] Adding Stomp Rockets --- Stomp Rockets/Fixed Fins v1.scad | 53 +++++++++++++++++++++++++ Stomp Rockets/Stomp Rocket Body v1.scad | 28 +++++++++++++ 2 files changed, 81 insertions(+) create mode 100644 Stomp Rockets/Fixed Fins v1.scad create mode 100644 Stomp Rockets/Stomp Rocket Body v1.scad diff --git a/Stomp Rockets/Fixed Fins v1.scad b/Stomp Rockets/Fixed Fins v1.scad new file mode 100644 index 0000000..633f6f9 --- /dev/null +++ b/Stomp Rockets/Fixed Fins v1.scad @@ -0,0 +1,53 @@ +use +$fa = 1; +$fs = 0.5; + +inner_radius = 17.5/2; +body_length = 150; +wall_thickness = 1.8; +outer_diameter = inner_radius + wall_thickness; + +module inner_taper(taper_height=5) { + difference() { + cylinder(r=inner_radius, h=taper_height); + cylinder(r1=inner_radius, r2=1, h=taper_height-0.1); + } +} + +module nose_cone(inner_radius=inner_radius, wall_thickness=wall_thickness) { + radius = inner_radius+wall_thickness; + difference() { + sphere(r=radius); + translate([0,0,-radius]) + cylinder(h=radius, r=radius); + } +} + +module fin(width=10, height=30, thickness=3) { + rotate([90,0,0]) + linear_extrude(height=thickness, center=true) + polygon(points=[ + [0,0], + [width,0], + [width,height/2], + [0,height], + ]); +} + + +union() { + translate([0,0,body_length]) + rotate([0,180,0]) + color("gray") rocket_body(inner_radius = inner_radius, wall_thickness=wall_thickness); + + translate([0,0,body_length-5]) color("blue") inner_taper(taper_height=5); + + translate([0,0,body_length]) color("blue") nose_cone(); + + for (i=[0,90,180,270]) { + rotate(i) + translate([outer_diameter-0.1, 0, 0]) + fin(); + } + +} \ No newline at end of file diff --git a/Stomp Rockets/Stomp Rocket Body v1.scad b/Stomp Rockets/Stomp Rocket Body v1.scad new file mode 100644 index 0000000..ef17881 --- /dev/null +++ b/Stomp Rockets/Stomp Rocket Body v1.scad @@ -0,0 +1,28 @@ +// Stomp Rocket Body + +$fa = 1; +$fs = 0.5; + + +module rocket_body( + inner_radius = 17.5/2, + body_length = 150, + collar_length = 3, + top_thickness = 1, + wall_thickness = 1.8 + ) { + outer_diameter = inner_radius + wall_thickness; + sleeve_diameter = inner_radius + 0.4; + + union() { + cylinder(h=top_thickness, r=outer_diameter); + difference() { + cylinder(h=body_length, r=outer_diameter); + cylinder(h=body_length-collar_length, r=sleeve_diameter); + translate([0,0,body_length-collar_length-.1]) + cylinder(h=collar_length+.2, r=inner_radius); + } + } +} + +rocket_body(); \ No newline at end of file