From 6fd328ba4af314cfc1d20ff96755f5c256d4aeed Mon Sep 17 00:00:00 2001 From: Andy Killorin <37423245+Speedy6451@users.noreply.github.com> Date: Mon, 6 Nov 2023 21:28:56 -0600 Subject: [PATCH] Load elevator airfoil separately --- Makefile | 14 +++++++++----- src/main.rs | 28 ++++++++++++++++++---------- 2 files changed, 27 insertions(+), 15 deletions(-) diff --git a/Makefile b/Makefile index e6a2a4a..4b24dd1 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,7 @@ -MAIN_AIRFOIL = ag24.dat -CONTROL_AIRFOIL = m1-il.dat -TAIL = t-tail +MAIN_AIRFOIL = ag41d +ELEVATOR_AIRFOIL = b540ols-il +RUDDER_AIRFOIL = ht13 +TAIL = t-tail UNAME = $(shell uname) ifeq ($(UNAME), Linux) @@ -10,7 +11,7 @@ ifeq ($(UNAME), Darwin) SCAD = OpenSCAD endif -AIRFOILS = $(MAIN_AIRFOIL) $(CONTROL_AIRFOIL) +AIRFOILS = $(MAIN_AIRFOIL).dat $(ELEVATOR_AIRFOIL).dat $(RUDDER_AIRFOIL).dat b: build/allparts.svg @@ -35,6 +36,9 @@ e393.dat: ag24.dat: curl https://m-selig.ae.illinois.edu/ads/coord/ag24.dat -o ag24.dat +ag41d.dat: + curl https://web.mit.edu/drela/Public/web/avl/runs/ag41d.dat -o $@ + sd8020.dat: curl http://airfoiltools.com/airfoil/seligdatfile?airfoil=sd8020-il -o $@ @@ -88,7 +92,7 @@ build/testwing-clear.scad: build/testwing.scad sed 's/color("clear-red")/color([1.0,1.0,0.0,0.9])/g' $< > $@ sed 's/color("clear-blue")/color([0.0,1.0,1.0,1.0])/g' -i $@ -build/assembly-clear.scad: src/*.rs $(AIRFOILS) +build/assembly-clear.scad: src/*.rs $(AIRFOILS) build cargo run $(AIRFOILS) assembly $(TAIL) film stdout |\ sed 's/color("clear-red")/color([1.0,0.0,0.0,0.5])/g' |\ sed 's/color("clear-blue")/color([0.0,1.0,0.0,0.9])/g' |\ diff --git a/src/main.rs b/src/main.rs index f95aa34..a35776d 100644 --- a/src/main.rs +++ b/src/main.rs @@ -13,8 +13,10 @@ fn main() { let mut args = args().skip(1); let main_airfoil_path = args.next().unwrap(); let main_airfoil_path = Path::new(&main_airfoil_path); - let control_airfoil_path = args.next().unwrap(); - let control_airfoil_path = Path::new(&control_airfoil_path); + let elevator_airfoil_path = args.next().unwrap(); + let elevator_airfoil_path = Path::new(&elevator_airfoil_path); + let rudder_airfoil_path = args.next().unwrap(); + let rudder_airfoil_path = Path::new(&rudder_airfoil_path); let args: Vec = args.collect(); let gen_film = args.contains(&"film".to_string()); let gen_v_tail = args.contains(&"v-tail".to_string()); @@ -37,10 +39,16 @@ fn main() { eprintln!("{}", desc); } - // symmetric airfoil, used in the control surfaces - let control_airfoil: SeligFile = SeligFile::load(control_airfoil_path).unwrap(); - eprintln!("Control airfoil: {}", control_airfoil.get_name()); - if let Some(desc) = control_airfoil.get_description() { + // symmetric airfoil + let rudder_airfoil: SeligFile = SeligFile::load(rudder_airfoil_path).unwrap(); + eprintln!("Rudder airfoil: {}", rudder_airfoil.get_name()); + if let Some(desc) = rudder_airfoil.get_description() { + eprintln!("{}", desc); + } + + let elevator_airfoil: SeligFile = SeligFile::load(elevator_airfoil_path).unwrap(); + eprintln!("Elevator airfoil: {}", elevator_airfoil.get_name()); + if let Some(desc) = elevator_airfoil.get_description() { eprintln!("{}", desc); } @@ -65,19 +73,19 @@ fn main() { if gen_t_tail { t_tail( - &control_airfoil, + &rudder_airfoil, &mut parts, &mut scad_file, - &wing_airfoil, + &elevator_airfoil, gen_film, ); } if gen_v_tail { v_tail( - &control_airfoil, + &rudder_airfoil, &mut parts, &mut scad_file, - &wing_airfoil, + &elevator_airfoil, gen_film, ); }