openscopeproject / openscopeproject/InteractiveHtmlBom
GenCAD file format support
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 4.6k
- Forks
- 578
- Avg merge
- 5h 24m
- Merged PRs (30d)
- 2
Description
Back in the days Teradyne created a text based format called GenCAD. Leaked spec could be found here
The file format contains the PCB layers, cooper definitions, part footprint definitions, board outline so theoretically all information necessary for the InteractiveHtml generation is available inside it.
I know a couple PCB design tools (Mentor Pads, Mentor Expedition) which is capable to export to this format, so a Mentor - GenCAD - InteractiveHtmlBom conversion would be an option to support those tools.
The OpenBoardView software received GenCAD support lately, we used a Backus-Naur format based "grammar" to parse the file:
https://github.com/OpenBoardView/OpenBoardView/blob/master/src/openboardview/FileFormats/GenCADFileBnf.h
It might be a good starting point to leverage that grammar to eliminate the cumbersome parser creation.
I might start working on it in my fork soon, I opened this issue mainly as a notification in the case if someone would have some shared interest.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading the GenCAD grammar in OpenBoardView's src/openboardview/FileFormats/GenCADFileBnf.h and reviewing how this project performs InteractiveHtml generation. Define the required conversion path from GenCAD's layers, copper definitions, footprints, and board outline, then verify that a representative GenCAD file produces a usable interactive HTML BOM.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100