Expand description
§lib_gerber_edit
Manipulation library for RS-274X (Extended Gerber) and Excellon drill files,
built on top of gerber_parser.
All lengths exposed through the public API are in millimetres.
§Key types
| Type | Description |
|---|---|
Board | Collection of mixed Gerber/Excellon layers |
GerberLayerData | Single RS-274X layer |
AsciiText | Renders vector text into a Gerber layer |
LayerType | Identifies each layer (copper, silkscreen, drill …) |
§Traits
| Trait | Description |
|---|---|
LayerCorners | Bounding box (get_corners) and size (get_size) |
LayerTransform | Translate by a Pos offset |
LayerScale | Scale by independent X/Y factors |
LayerMerge | Merge two layers or boards of the same type |
LayerStepAndRepeat | Tile a pattern across a grid |
§Quick start
use lib_gerber_edit::board::Board;
use lib_gerber_edit::{LayerTransform, Pos};
use std::path::Path;
// Load every recognised layer from a directory.
let mut board = Board::from_folder(Path::new("gerbers/")).unwrap();
// Shift the whole board by (10 mm, 5 mm).
board.transform(&Pos { x: 10.0, y: 5.0 });
// Write back to a different directory.
board.write_to_folder(Path::new("output/")).unwrap();§Rendering text
use lib_gerber_edit::gerber_ascii::{AsciiText, HAlign, VAlign};
use lib_gerber_edit::layer::LayerType;
let fmt = AsciiText::new(3.0) // 3 mm character height
.h_align(HAlign::Center)
.v_align(VAlign::Middle);
// Same format object — render two different strings.
let rev1 = fmt.build("Rev 1.0", LayerType::SilkScreenTop);
let rev2 = fmt.build("Rev 2.0", LayerType::SilkScreenTop);Re-exports§
pub use gerber_parser;pub use gerber_parser::gerber_types;
Modules§
- board
- error
- excellon_
format - gerber
- gerber_
ascii - Vector text rendering for Gerber layers.
- layer
- unit_
able
Macros§
- load_
board_ data - And macro to load a board statically
- load_
layer_ data - And macro to load a single layer statically
Structs§
Traits§
- Layer
Corners - Bounding-box queries.
- Layer
Merge - Layer concatenation.
- Layer
Scale - Uniform or anisotropic scaling.
- Layer
Step AndRepeat - Grid replication.
- Layer
Transform - Rigid translation.