Eventually you'll be able to specify very basic geometry (ie: screw holes repeating every x mm, striding every y mm), and have usable PCBs generated.
This (using maker-panel expressions):
go
wrap (column center {
[12] R<7.5>(h)
[ 9] R<7.5>(h)
[12] R<7.5>(h)
}) with {
left => C<11.25>(h5),
right => C<11.25>(h5),
}
Makes this:
and this:
go
wrap (
column center {
[12] R<7.5>(h)
[11] R<7.5>(h)
[12] R<7.5>(h)
}
) with {
top-0.5 => C<2>,
top+0.5 => C<2>,
bottom-0.5 => C<2>,
bottom+0.5 => C<2>,
}
generated with
shell
cargo run -- --hull -f examples/ex3.spec png --size z:8 examples/ex3.png
makes this:
and this (in literal rust):
rust
let mut panel = Panel::new();
// panel.convex_hull(true);
// panel.push(Rect::with_center([0.0, -2.5].into(), 5., 5.));
panel.push(repeating::Tile::new(
Rect::with_inner(ScrewHole::default(), [0., 0.].into(), [5., 5.].into()),
Direction::Right,
3,
));
panel.push(repeating::Tile::new(
Rect::with_inner(ScrewHole::default(), [-2.5, 5.].into(), [2.5, 10.].into()),
Direction::Right,
4,
));
panel.push(repeating::Tile::new(
Rect::with_inner(ScrewHole::default(), [0., 10.].into(), [5., 15.].into()),
Direction::Right,
3,
));
panel.push(Circle::new([0., 7.5].into(), 7.5));
panel.push(Circle::new([15., 7.5].into(), 7.5));
Makes this:
MIT License. Raster font is from http://uzebox.org/, itself licensed under CC BY-SA 3.0.