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
|
||||
CONTROL_AIRFOIL = m1-il.dat
|
||||
MAIN_AIRFOIL = ag41d
|
||||
ELEVATOR_AIRFOIL = b540ols-il
|
||||
RUDDER_AIRFOIL = ht13
|
||||
TAIL = t-tail
|
||||
|
||||
UNAME = $(shell uname)
|
||||
|
@ -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' |\
|
||||
|
|
28
src/main.rs
28
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<String> = 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,
|
||||
);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue