implemented non-centered spar
This commit is contained in:
parent
dd6526201f
commit
c4a6380bbd
1 changed files with 23 additions and 9 deletions
20
src/main.rs
20
src/main.rs
|
@ -155,18 +155,32 @@ fn mirrored_wing(wing_airfoil: &SeligFile, wing_config: &WingConfig) -> Construc
|
|||
|
||||
/// Returns (struts, spar)
|
||||
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_config,
|
||||
spar,
|
||||
&spar,
|
||||
).tup();
|
||||
// TODO: other spar types
|
||||
let spar = match spar {
|
||||
SparType::None => {
|
||||
|
||||
scad!(Union)
|
||||
},
|
||||
SparType::Top => {
|
||||
let top_spar = topwing_spar(
|
||||
wing_airfoil,
|
||||
wing_config,
|
||||
);
|
||||
let mut spar = scad!(Difference; top_spar);
|
||||
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());
|
||||
|
||||
|
@ -313,7 +327,7 @@ fn lerp(a: f32, b: f32, x: f32) -> f32 {
|
|||
fn wing_struts(
|
||||
aerofoil: &SeligFile,
|
||||
config: &WingConfig,
|
||||
spar: SparType,
|
||||
spar: &SparType,
|
||||
) -> Construct {
|
||||
let mut wing = scad!(Translate(vec3(0.0, 0.0, 0.0)));
|
||||
let mut parts = Vec::new();
|
||||
|
|
Loading…
Reference in a new issue