1
Fork 0

implemented non-centered spar

This commit is contained in:
Andy Killorin 2023-11-05 15:28:16 -06:00
parent dd6526201f
commit c4a6380bbd
Signed by: ank
GPG key ID: B6241CA3B552BCA4

View file

@ -155,18 +155,32 @@ fn mirrored_wing(wing_airfoil: &SeligFile, wing_config: &WingConfig) -> Construc
/// Returns (struts, spar) /// Returns (struts, spar)
fn wing(wing_airfoil: &SeligFile, wing_config: &WingConfig, spar: SparType) -> (Construct, Construct) { fn wing(wing_airfoil: &SeligFile, wing_config: &WingConfig, spar: SparType) -> (Construct, Construct) {
let (mut wing, wing_parts) = wing_struts( let (wing, wing_parts) = wing_struts(
wing_airfoil, wing_airfoil,
&wing_config, &wing_config,
spar, &spar,
).tup(); ).tup();
// TODO: other spar types // TODO: other spar types
let spar = match spar {
SparType::None => {
scad!(Union)
},
SparType::Top => {
let top_spar = topwing_spar( let top_spar = topwing_spar(
wing_airfoil, wing_airfoil,
wing_config, wing_config,
); );
let mut spar = scad!(Difference; top_spar); let mut spar = scad!(Difference; top_spar);
spar.add_child(wing.clone()); spar.add_child(wing.clone());
spar
},
SparType::Center => {
// TODO: negative in struts
// TODO: taper
centered_cube(vec3(wing_config.chord * 0.5, wing_config.length, CARDBOARD_WIDTH), (false, false, true))
},
};
let spar_flat = scad!(Projection(false); spar.clone()); let spar_flat = scad!(Projection(false); spar.clone());
@ -313,7 +327,7 @@ fn lerp(a: f32, b: f32, x: f32) -> f32 {
fn wing_struts( fn wing_struts(
aerofoil: &SeligFile, aerofoil: &SeligFile,
config: &WingConfig, config: &WingConfig,
spar: SparType, spar: &SparType,
) -> Construct { ) -> Construct {
let mut wing = scad!(Translate(vec3(0.0, 0.0, 0.0))); let mut wing = scad!(Translate(vec3(0.0, 0.0, 0.0)));
let mut parts = Vec::new(); let mut parts = Vec::new();