1
Fork 0

switchover elevator to negative spar

This commit is contained in:
Andy Killorin 2023-11-03 14:29:59 -05:00
parent 7e9cd942fb
commit 91e6c8b7b7
No known key found for this signature in database
GPG key ID: 8CB11B45B690DC2A
2 changed files with 17 additions and 3 deletions

View file

@ -11,7 +11,7 @@ pub const STRUTS: usize = 12;
pub const CARDBOARD_WIDTH: f32 = 2.4;
/// length of each side of the triangular spar
pub const SPAR_SIDE_WIDTH: f32 = 0.75 * IN2MM;
pub const FUSELAGE_GAP: f32 = 2.0 * IN2MM;
pub const FUSELAGE_GAP: f32 = 0.4 * IN2MM;
/// a very large number, used to place unknown objects such that they do not intersect
pub const INF: f32 = 1000.0;
pub const RUDDER_HEIGHT: f32 = 5.0 *IN2MM;

View file

@ -35,6 +35,7 @@ fn main() {
let mut wing_transform = scad!(Translate(vec3(0.0,0.0,0.0)));
// struts
let mut symetric_spar = scad!(Union);
for port in [true,false] {
let mut wing = wing(&wing_airfoil, STRUTS/2, WINGSPAN/2.0, CHORD, CHORD * WING_TAPER, SparType::Top);
let top_spar = topwing_spar(&wing_airfoil, STRUTS/2, WINGSPAN/2.0, CHORD, CHORD * WING_TAPER);
@ -44,7 +45,8 @@ fn main() {
wing.add_child(scad!(NamedColor("red".to_string()); top_spar_neg.clone()));
register_part(scad!(Projection(false); top_spar_neg));
symetric_spar.add_child(top_spar_neg);
wing = scad!(Translate(vec3(0.0, FUSELAGE_GAP,0.0)); wing);
if port {
wing = scad!(Mirror(vec3(0.0, 1.0, 0.0)); wing);
@ -52,6 +54,12 @@ fn main() {
wing_transform.add_child(wing);
}
// fuselage affixment point
symetric_spar.add_child(centered_cube(vec3(CHORD, FUSELAGE_GAP*2.0, 1.0), (false,true,false)));
wing_transform.add_child(symetric_spar.clone());
register_part(scad!(Projection(false); symetric_spar));
// spars
@ -69,17 +77,23 @@ fn main() {
// elevator
let mut elevator = scad!(Translate(vec3(LENGTH-ELEVATOR_CHORD, 0.0,0.0)));
let mut symetric_spar = scad!(Union);
for port in [true,false] {
let mut wing = wing(&wing_airfoil, ELEVATOR_STRUTS, ELEVATOR_HEIGHT, ELEVATOR_CHORD, ELEVATOR_CHORD * ELEVATOR_TAPER, SparType::Top);
let top_spar = topwing_spar(&wing_airfoil, ELEVATOR_STRUTS, ELEVATOR_HEIGHT, ELEVATOR_CHORD, ELEVATOR_CHORD * ELEVATOR_TAPER);
let mut top_spar_neg = scad!(Difference; top_spar);
top_spar_neg.add_child(wing.clone());
symetric_spar.add_child(top_spar_neg.clone());
wing = scad!(Translate(vec3(0.0, FUSELAGE_GAP,0.0)); wing);
if port {
wing = scad!(Mirror(vec3(0.0, 1.0, 0.0)); wing);
}
elevator.add_child(wing);
}
elevator.add_child(spar(ELEVATOR_HEIGHT*2.0+FUSELAGE_GAP*2.0, true));
scad_file.add_object(elevator);
symetric_spar.add_child(centered_cube(vec3(CHORD, FUSELAGE_GAP*2.0, 1.0), (false,true,false)));
register_part(scad!(Projection(false); symetric_spar));
let cardboard = vec3(0.38, 0.26, 0.26);