Load elevator airfoil separately
This commit is contained in:
parent
038394f2eb
commit
6fd328ba4a
2 changed files with 27 additions and 15 deletions
12
Makefile
12
Makefile
|
@ -1,5 +1,6 @@
|
||||||
MAIN_AIRFOIL = ag24.dat
|
MAIN_AIRFOIL = ag41d
|
||||||
CONTROL_AIRFOIL = m1-il.dat
|
ELEVATOR_AIRFOIL = b540ols-il
|
||||||
|
RUDDER_AIRFOIL = ht13
|
||||||
TAIL = t-tail
|
TAIL = t-tail
|
||||||
|
|
||||||
UNAME = $(shell uname)
|
UNAME = $(shell uname)
|
||||||
|
@ -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' |\
|
||||||
|
|
28
src/main.rs
28
src/main.rs
|
@ -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,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue