1
Fork 0

Load elevator airfoil separately

This commit is contained in:
Andy Killorin 2023-11-06 21:28:56 -06:00
parent 038394f2eb
commit 6fd328ba4a
Signed by: ank
GPG key ID: B6241CA3B552BCA4
2 changed files with 27 additions and 15 deletions

View file

@ -1,6 +1,7 @@
MAIN_AIRFOIL = ag24.dat MAIN_AIRFOIL = ag41d
CONTROL_AIRFOIL = m1-il.dat ELEVATOR_AIRFOIL = b540ols-il
TAIL = t-tail RUDDER_AIRFOIL = ht13
TAIL = t-tail
UNAME = $(shell uname) UNAME = $(shell uname)
ifeq ($(UNAME), Linux) ifeq ($(UNAME), Linux)
@ -10,7 +11,7 @@ ifeq ($(UNAME), Darwin)
SCAD = OpenSCAD SCAD = OpenSCAD
endif endif
AIRFOILS = $(MAIN_AIRFOIL) $(CONTROL_AIRFOIL) AIRFOILS = $(MAIN_AIRFOIL).dat $(ELEVATOR_AIRFOIL).dat $(RUDDER_AIRFOIL).dat
b: build/allparts.svg b: build/allparts.svg
@ -35,6 +36,9 @@ e393.dat:
ag24.dat: ag24.dat:
curl https://m-selig.ae.illinois.edu/ads/coord/ag24.dat -o 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: sd8020.dat:
curl http://airfoiltools.com/airfoil/seligdatfile?airfoil=sd8020-il -o $@ 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-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 $@ 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 |\ 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-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' |\ sed 's/color("clear-blue")/color([0.0,1.0,0.0,0.9])/g' |\

View file

@ -13,8 +13,10 @@ fn main() {
let mut args = args().skip(1); let mut args = args().skip(1);
let main_airfoil_path = args.next().unwrap(); let main_airfoil_path = args.next().unwrap();
let main_airfoil_path = Path::new(&main_airfoil_path); let main_airfoil_path = Path::new(&main_airfoil_path);
let control_airfoil_path = args.next().unwrap(); let elevator_airfoil_path = args.next().unwrap();
let control_airfoil_path = Path::new(&control_airfoil_path); 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<String> = args.collect(); let args: Vec<String> = args.collect();
let gen_film = args.contains(&"film".to_string()); let gen_film = args.contains(&"film".to_string());
let gen_v_tail = args.contains(&"v-tail".to_string()); let gen_v_tail = args.contains(&"v-tail".to_string());
@ -37,10 +39,16 @@ fn main() {
eprintln!("{}", desc); eprintln!("{}", desc);
} }
// symmetric airfoil, used in the control surfaces // symmetric airfoil
let control_airfoil: SeligFile = SeligFile::load(control_airfoil_path).unwrap(); let rudder_airfoil: SeligFile = SeligFile::load(rudder_airfoil_path).unwrap();
eprintln!("Control airfoil: {}", control_airfoil.get_name()); eprintln!("Rudder airfoil: {}", rudder_airfoil.get_name());
if let Some(desc) = control_airfoil.get_description() { 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); eprintln!("{}", desc);
} }
@ -65,19 +73,19 @@ fn main() {
if gen_t_tail { if gen_t_tail {
t_tail( t_tail(
&control_airfoil, &rudder_airfoil,
&mut parts, &mut parts,
&mut scad_file, &mut scad_file,
&wing_airfoil, &elevator_airfoil,
gen_film, gen_film,
); );
} }
if gen_v_tail { if gen_v_tail {
v_tail( v_tail(
&control_airfoil, &rudder_airfoil,
&mut parts, &mut parts,
&mut scad_file, &mut scad_file,
&wing_airfoil, &elevator_airfoil,
gen_film, gen_film,
); );
} }