switchover elevator to negative spar
This commit is contained in:
parent
7e9cd942fb
commit
91e6c8b7b7
2 changed files with 17 additions and 3 deletions
|
@ -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;
|
||||
|
|
18
src/main.rs
18
src/main.rs
|
@ -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);
|
||||
|
|
Loading…
Reference in a new issue