56 lines
No EOL
1.3 KiB
OpenSCAD
56 lines
No EOL
1.3 KiB
OpenSCAD
// 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,-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();
|
|
}
|
|
|
|
} |