From 2cb467d6a3d58cac349b3d81a21c40d4bfb0b74b Mon Sep 17 00:00:00 2001 From: Andy Killorin <37423245+Speedy6451@users.noreply.github.com> Date: Sun, 5 Nov 2023 20:10:46 -0600 Subject: [PATCH] added testwing --- Makefile | 13 ++++++++++++- src/constants.rs | 2 +- src/main.rs | 7 +++++++ 3 files changed, 20 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index cfc5c35..f2e7208 100644 --- a/Makefile +++ b/Makefile @@ -11,7 +11,7 @@ b: build/allparts.svg build: mkdir -p build -build/%.scad: ag24.dat edgevertical.dat src/*.rs +build/%.scad: src/*.rs ag24.dat sd8020.dat sd7062.dat m1-il.dat mkdir -p build cargo run @@ -21,6 +21,13 @@ e393.dat: ag24.dat: curl https://m-selig.ae.illinois.edu/ads/coord/ag24.dat -o ag24.dat +sd8020.dat: + curl http://airfoiltools.com/airfoil/seligdatfile?airfoil=sd8020-il -o $@ + +%.dat: + curl --fail-with-body https://m-selig.ae.illinois.edu/ads/coord/$@ -o $@ ||\ + curl --fail-with-body http://airfoiltools.com/airfoil/seligdatfile?airfoil=$(basename $@) -o $@ + edgevertical.zip: curl "https://www.rcgroups.com/forums/showatt.php?attachmentid=2973018&d=1262752423" -o edgevertical.zip @@ -56,3 +63,7 @@ clean: vis: build/assembly.scad openscad build/assembly.scad + +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 $@ diff --git a/src/constants.rs b/src/constants.rs index 66283d1..bd3fd5e 100644 --- a/src/constants.rs +++ b/src/constants.rs @@ -26,7 +26,7 @@ pub const FUSELAGE_GAP: f32 = 0.4 * IN2MM; pub const INF: f32 = 1000.0; pub const RUDDER_HEIGHT: f32 = 5.0 * IN2MM; pub const RUDDER_CHORD: f32 = 4.0 * IN2MM; -pub const RUDDER_TAPER: f32 = 0.7; +pub const RUDDER_TAPER: f32 = 0.9; pub const RUDDER_STRUTS: usize = 3; pub const RUDDER: WingConfig = WingConfig { length: RUDDER_HEIGHT, diff --git a/src/main.rs b/src/main.rs index 2efda1f..b851060 100644 --- a/src/main.rs +++ b/src/main.rs @@ -81,6 +81,13 @@ fn main() { allparts.add_object(scad!(Translate2d(vec2(0.0, INF * idx as f32)); part)); } allparts.write_to_file("build/allparts.scad".to_string()); + + let mut test = ScadFile::new(); + let test_airfoil = SeligFile::parse(include_str!("../m1-il.dat")); + let wing = wing(&test_airfoil, &RUDDER, SparType::Center); + test.add_object(scad!(NamedColor("clear-blue".to_string()); wing.0.visualization)); + test.add_object(scad!(NamedColor("clear-red".to_string()); wing.1.visualization)); + test.write_to_file(String::from("build/testwing.scad")); } /// A physical object