dcode_processing/
dcode_processing.rs

1/* examples/dcode_processing.rs */
2
3use nextjlc::dcode::{GerberFlavor, process_d_codes};
4
5fn main() {
6    let gerber_sample = r#"
7%FSLAX46Y46*%
8%MOMM*%
9%ADD10C,0.15000*%
10G01*
11X-1125Y-965D02*
12X-1125Y965D01*
13X-1075Y915D01*
14X-1075Y-915D01*
15X1075Y-915D01*
16X1075Y915D01*
17G04 A simple D-code*
18X100Y200D11*
19G04 Multiple D-codes on one line*
20X50D12*Y50D13*
21G04 An already processed line, should be skipped*
22X-175Y-915G54D10*
23G04 A D-code with too few digits, should be skipped*
24X20Y30D3*
25G04 A D-code with too many digits, should be skipped*
26X40Y50D12345*
27M02*"#;
28
29    println!("--- Original Gerber Data ---");
30    println!("{}\n", gerber_sample);
31
32    // Process the Gerber data using the function.
33    let processed_data = process_d_codes(gerber_sample.to_string(), GerberFlavor::KiCad);
34
35    println!("--- Processed Gerber Data ---");
36    println!("{}", processed_data);
37}