Skip to content

Commit e64c81f

Browse files
authored
Merge pull request #31 from ArnavK-09/main
feat(gerber): add support for pill shape in gerber aperture generation
2 parents 21826b4 + f268626 commit e64c81f

16 files changed

Lines changed: 3505 additions & 72 deletions

bun.lock

Lines changed: 654 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

bun.lockb

-131 KB
Binary file not shown.

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
},
1717
"devDependencies": {
1818
"@biomejs/biome": "^1.8.3",
19-
"@tscircuit/core": "^0.0.372",
19+
"@tscircuit/core": "^0.0.390",
2020
"@types/archiver": "^6.0.3",
2121
"@types/bun": "^1.1.8",
2222
"@types/node": "^22.5.2",
@@ -31,7 +31,7 @@
3131
},
3232
"peerDependencies": {
3333
"typescript": "^5.0.0",
34-
"circuit-json": "^0.0.153"
34+
"circuit-json": "^0.0.164"
3535
},
3636
"dependencies": {
3737
"@tscircuit/alphabet": "^0.0.2",

src/gerber/convert-soup-to-gerber-commands/defineAperturesForLayer.ts

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -153,6 +153,29 @@ export const getApertureConfigFromPcbSolderPaste = (
153153
diameter: elm.radius * 2,
154154
}
155155
}
156+
if (elm.shape === "pill") {
157+
if (!("width" in elm && "height" in elm)) {
158+
throw new Error(
159+
"Invalid pill shape in getApertureConfigFromPcbPlatedHole: missing dimensions",
160+
)
161+
}
162+
if (elm.width >= elm.height) {
163+
return {
164+
macro_name: "HORZPILL",
165+
x_size: elm.width,
166+
y_size: elm.height,
167+
circle_diameter: Math.min(elm.width, elm.height),
168+
circle_center_offset: elm.width / 2,
169+
}
170+
}
171+
return {
172+
macro_name: "VERTPILL",
173+
x_size: elm.width,
174+
y_size: elm.height,
175+
circle_diameter: Math.min(elm.width, elm.height),
176+
circle_center_offset: elm.height / 2,
177+
}
178+
}
156179
throw new Error(`Unsupported shape ${(elm as any).shape}`)
157180
}
158181

Lines changed: 7 additions & 7 deletions
Loading
Lines changed: 7 additions & 7 deletions
Loading

0 commit comments

Comments
 (0)