Adding Stomp Rockets

This commit is contained in:
Andrew Davidson 2023-07-13 15:47:23 -07:00
commit 211e1f8535
Signed by: amd
SSH key fingerprint: SHA256:wVzFOuz2n/yUVVBFkpZQ0AOX6guwdUUzSeKWr8aLUiU
2 changed files with 81 additions and 0 deletions

View file

@ -0,0 +1,53 @@
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,-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();
}
}

View file

@ -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();