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)
|
/// 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();
|
||||||
|
|
Loading…
Reference in a new issue