adding spiral and saturn v stomp rockets
This commit is contained in:
parent
3953299902
commit
47e7d6a5c2
2 changed files with 139 additions and 0 deletions
68
Stomp Rockets/Saturn V v1.scad
Normal file
68
Stomp Rockets/Saturn V v1.scad
Normal file
|
@ -0,0 +1,68 @@
|
||||||
|
// A fixed fin stomp rocket version
|
||||||
|
// Units mm g s
|
||||||
|
|
||||||
|
use <Stomp Rocket Body v1.scad>
|
||||||
|
$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 fairing(inner_radius=inner_radius, wall_thickness=wall_thickness) {
|
||||||
|
union() {
|
||||||
|
translate([0,0,50])
|
||||||
|
sphere(r=outer_diameter*1.5);
|
||||||
|
translate([0,0,10])
|
||||||
|
cylinder(r=outer_diameter*1.5,h=40);
|
||||||
|
cylinder(r2=outer_diameter*1.5,r1=outer_diameter,h=10);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
module booster(width=20, height=75, thickness=3) {
|
||||||
|
union() {
|
||||||
|
translate([(width)/2+1,0,0])
|
||||||
|
cylinder(d=width, h=height);
|
||||||
|
translate([(width)/2+1,0,height])
|
||||||
|
cylinder(d1=width, d2=0, h=10);
|
||||||
|
translate([(width)/2+1,0,0])
|
||||||
|
cylinder(d1=width*1.15, d2=width, h=10);
|
||||||
|
for (i=[0.25*height, 0.75*height]) {
|
||||||
|
translate([(width)/2+1,0,i])
|
||||||
|
cylinder(d=1.15*width, h=5);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
union() {
|
||||||
|
difference() {
|
||||||
|
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-20]) color("red") fairing();
|
||||||
|
}
|
||||||
|
translate([0,0,5])
|
||||||
|
cylinder(r=inner_radius+0.4, h=body_length-10);
|
||||||
|
}
|
||||||
|
|
||||||
|
translate([0,0,body_length-10]) color("blue") inner_taper(taper_height=5);
|
||||||
|
|
||||||
|
for (i=[0,90,180,270]) {
|
||||||
|
rotate(i)
|
||||||
|
translate([outer_diameter-0.1, 0, 0])
|
||||||
|
booster();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
71
Stomp Rockets/Spiral Fins v1.scad
Normal file
71
Stomp Rockets/Spiral Fins v1.scad
Normal file
|
@ -0,0 +1,71 @@
|
||||||
|
// A fixed fin stomp rocket version
|
||||||
|
// Units mm g s
|
||||||
|
|
||||||
|
use <Stomp Rocket Body v1.scad>
|
||||||
|
$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,-1.75*radius])
|
||||||
|
cylinder(h=radius, r=radius);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
module fin(width=25, height=115, thickness=3) {
|
||||||
|
rotate([80,0,0])
|
||||||
|
translate([-7,-4,11])
|
||||||
|
linear_extrude(height=thickness, center=true)
|
||||||
|
polygon(points=[
|
||||||
|
[0,0],
|
||||||
|
[width,0],
|
||||||
|
[width,height/2],
|
||||||
|
[0,height],
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
|
difference() {
|
||||||
|
// clear everything below the build plate
|
||||||
|
difference() {
|
||||||
|
// clear center of rocket body
|
||||||
|
union() {
|
||||||
|
//assemble the rocket
|
||||||
|
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("red") inner_taper(taper_height=5);
|
||||||
|
|
||||||
|
translate([0,0,body_length+10]) color("blue") nose_cone(inner_radius=inner_radius*1.5);
|
||||||
|
|
||||||
|
for (i=[0,90,180,270]) {
|
||||||
|
rotate(i)
|
||||||
|
translate([outer_diameter-0.1, 0, 0])
|
||||||
|
fin();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
translate([0,0,5])
|
||||||
|
cylinder(r=inner_radius+0.4, h=body_length-10);
|
||||||
|
|
||||||
|
}
|
||||||
|
// build plate
|
||||||
|
translate([-100,-100,-200])
|
||||||
|
cube([200,200,200]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue