From 873eaaf82c3f6f0b998ef0b4938e3b560573e213 Mon Sep 17 00:00:00 2001 From: Andy Killorin <37423245+Speedy6451@users.noreply.github.com> Date: Mon, 6 Nov 2023 12:01:18 -0600 Subject: [PATCH] add write to stdout option --- Makefile | 10 +++++----- src/main.rs | 25 +++++++++++++++++++++---- 2 files changed, 26 insertions(+), 9 deletions(-) diff --git a/Makefile b/Makefile index 0f9a7c7..68138e1 100644 --- a/Makefile +++ b/Makefile @@ -85,8 +85,8 @@ 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: build/assembly.scad - cargo run --features assembly $(TAIL) film - 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' -i $@ - sed 's/color("clear-blue")/color([0.0,0.0,1.0,0.9])/g' -i $@ +build/assembly-clear.scad: src/*.rs $(AIRFOILS) + cargo run 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' |\ + sed 's/color("clear-blue")/color([0.0,0.0,1.0,0.9])/g' > $@ diff --git a/src/main.rs b/src/main.rs index 32d65f2..9829a43 100644 --- a/src/main.rs +++ b/src/main.rs @@ -17,6 +17,7 @@ fn main() { let gen_allparts = args.contains(&"sheet".to_string()); let gen_assembly = args.contains(&"assembly".to_string()); let gen_test = args.contains(&"test".to_string()); + let stdout = args.contains(&"stdout".to_string()); let mut scad_file = ScadFile::new(); @@ -69,7 +70,11 @@ fn main() { if gen_assembly { // every part visualized together - scad_file.write_to_file(String::from("build/assembly.scad")); + if stdout { + print!("{}",scad_file.get_code()); + } else { + scad_file.write_to_file(String::from("build/assembly.scad")); + } } if gen_parts { @@ -78,7 +83,11 @@ fn main() { let mut file = ScadFile::new(); file.set_detail(50); file.add_object(part); - file.write_to_file(format!("build/part{idx:0>3}.scad")); + if stdout { + print!("{}",file.get_code()); + } else { + file.write_to_file(format!("build/part{idx:0>3}.scad")); + } } } @@ -90,7 +99,11 @@ fn main() { for (idx, part) in parts.into_iter().enumerate() { allparts.add_object(scad!(Translate2d(vec2(0.0, INF * idx as f32)); part)); } - allparts.write_to_file("build/allparts.scad".to_string()); + if stdout { + print!("{}",scad_file.get_code()); + } else { + allparts.write_to_file("build/allparts.scad".to_string()); + } } if gen_test { @@ -100,7 +113,11 @@ fn main() { let wing = wing(&test_airfoil, &RUDDER, SparType::Top); 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")); + if stdout { + print!("{}",test.get_code()); + } else { + test.write_to_file(String::from("build/testwing.scad")); + } } }