Hello KiCad developers,

I'm an electronics engineer and PCB designer who has been working a lot in 
OrCAD and allegro, but have been transitioning more and more to KiCad. 
Since i have many hundreds of designs already done in OrCad, and especially 
often get reference designs in OrCad format, i have been working on a 
Windows app that converts them to KiCad. 

Thus, i was thinking this would be a nice contribution to make this app 
into an import option for KiCad so i used Claude with the latest Fable 5 to 
turn my app into an import option in KiCad. Before i submitted the code for 
this, i ran the app on some 800+ .dsn files i had accumulated on my 
computer over the years, and i have fixed all issues i could notice. 

How it was validated
--------------------
I checked correctness by exporting the imported netlist with kicad-cli and
comparing named-net pin membership against OrCAD's own stored net tables. I 
ran
this across a corpus of 815 real-world designs (OrCAD releases spanning
~1995–2026): all import without crashing, and on modern flat/multi-page 
designs
the net membership matches. Hierarchical designs currently import flattened
(with warnings); pre-2003 files are rejected with a clear message. Every 
page
also loads and plots in the current master build.

Prior art / relationship to existing work
------------------------------------------
Format knowledge derives from the MIT-licensed OpenOrCadParser project plus 
my
own reverse engineering. I'm aware of the draft MR !1963 by Werni2A adding 
an
OrCAD Library (.OLB) importer — this schematic (.DSN) importer is 
complementary
to that effort, and both build on OpenOrCadParser.

Disclosure: AI assistance
-------------------------
In line with KiCad's tool-generated-content policy, I want to be 
transparent up
front. The OrCAD .DSN format reverse-engineering, the validation corpus and
methodology, and all the scope and design decisions are mine. The code 
itself —
both the original standalone converter and this C++ port into KiCad — was
written with an AI coding assistant (Anthropic's Claude Code) under my
direction, and I iterated on it against the ~815-design corpus until it was
correct. I've reviewed and validated the result and I take full 
responsibility
for the code and its maintenance. 

The branch is on my fork here for reference:
https://gitlab.com/TaipeiViking/kicad/-/tree/orcad-schematic-importer

Thanks for taking a look — I'd welcome any guidance before I raise the MR.

Next, i am working on AI driven auto place and route that i would like to 
also contribute in the future. 

Best,
Clas Sivertsen, Taipei Taiwan

-- 
You received this message because you are subscribed to the Google Groups 
"KiCad Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion visit 
https://groups.google.com/a/kicad.org/d/msgid/devlist/4e1974b0-3542-41f5-a0dd-a68eac0ea96bn%40kicad.org.

Reply via email to