tricycle-mechanical-design/model/hull.scad

67 lines
1.7 KiB
OpenSCAD

// hull.scad
// (c) Simon Brooke 2025; CC-BY-SA
include <BOSL2/std.scad>
include <BOSL2/skin.scad>
// doesn't work, but it's promising
module hull_i() {
color("darkgreen", 0.5)
difference() {
translate([1000, 0, 600])
rotate([0, 5, 0])
scale([3.49, .79, 1.19])
difference() {
sphere(r=500);
cube([1000, 1000, 1000]);
}
intersection() {
translate([1000, 0, 600])
rotate([0, 5, 0])
scale([3.5, .8, 1.2])
sphere(r=500);
rotate([0, 95, 0])
translate([-500,0,0])
prismoid(size1=[1000, 1000],
size2=[500, 600],
height=3000);
}
}
}
module hull() {
intersection() {
translate([1850,0,500])
rotate([180, 90, 0])
scale([20, 17.5, 15.5])
rotate_extrude()
import("library/hull-volume-of-rotation.svg");
translate([-400,0, 350])
rotate([0, 90, 0])
prismoid(size1=[900, 1000],
size2=[400, 600],
height=3000);
}
rotate([0,90,0])
translate([-500,0,-1570])
difference() {
skin(
[ellipse($fn=64,r=[350,30]),
ellipse($fn=64,r=[430,372])],
z=[0,1200],
slices=40,sampling="length",method="reindex");
skin(
[ellipse($fn=64,r=[344,24]),
ellipse($fn=64,r=[424,366])],
z=[-1,1201],
slices=40,sampling="length",method="reindex");
}
}
// hull();