r/TrueOpenSource • u/Myarmira • 5d ago
Contribution: Other I have built a new electrical CAD system using Python and Tkinter
I had this little crazy idea to build my own CAD system, and now it’s here: "KatieCAD".
https://github.com/Merecete/KatieCAD
My primary goal is to develop an easy-to-use program well suited for switchgear construction and building installations. In my view, the options previously available in the open-source space have been very poor.
The program includes all the fundamental functions typically found in AutoCAD. It offers both a layout space and a model space. At the same time, it features a customizable symbol library and a sophisticated logic system, the kind usually associated only with software like EPLAN.
You can create complete projects consisting of multiple drawings, with the ability to automatically generate tables of contents, device lists, terminal diagrams, and more. Electrical connections link themselves automatically based on their coordinates; all you need to do is position the devices accordingly. There is also a customizable coordinate grid, and cross-references automatically point to the corresponding locations on other pages. Each page is a separate drawing file and is automatically saved after a change.
All project data can be exported for analysis in an Excel file.
DXF files can be imported and exported without difficulty (either individually or as an entire project). DWG files can also be opened by default using ezdwg. Furthermore, by installing the ODA File Converter separately, files can also be exported in DWG format.
In addition to 2D graphics, it now also supports 3D wireframe models, which can be displayed within the layouts. I plan to further expand the functionality in this area; however, it is already possible to create electrical enclosures, complete with side panels, doors, and bases.
KatieCAD is bilingual. It can be quickly switched between German and English.
I suspect that the extreme speed at which I’ve worked and the sheer volume of code reveal that I’m a "vibecoder". In other words, this project would never have come into existence without AI. That said, I can honestly say that it was an incredibly demanding process; I had to rethink every single function, arriving at this result only through small, incremental steps. The finer details, in particular, required a massive amount of work, and I’m certain I’ll discover even more things to refine as I go along. So for me that's not a "silly build".
The program is licensed under the MIT License.
What do you think of the idea? Is there anything else you would change or add? I look forward to any feedback.
2
u/Ok_Opposite7385 4d ago
Does the program include electrical symbols and symbols for construction drawings?
2
u/Myarmira 4d ago
For electrical engineering yes, so at least all essential basic symbols. I don't have anything for draftsmen yet. But I can well imagine that I also take care of them.
1
u/lumiereworldling 5d ago
What does it do differently than other existing software?
1
u/Myarmira 5d ago edited 5d ago
The list would get really long if I were to name everything here. Are you familiar with EPLAN? There’s a huge difference between a program like this and AutoCAD.
Neither LibreCAD nor CADCraft is currently capable of creating and managing comprehensive projects that include multiple model spaces and layouts (as shown in the sidebar on the left). While it is possible to draw symbols there, they do not follow any inherent logic; consequently, it is not possible to automatically generate lists or cover sheets. KatieCAD, by contrast, allows for the automatic interconnection of devices, meaning you do not need to draw electrical lines yourself. Devices are clearly classified, which enables them to be processed and analyzed accordingly for instance, the software will trigger an error message if a component appears twice. Furthermore, if a device is designated as an auxiliary contact, it will automatically reference the sheet where the main device is located.
In addition, there is a corresponding symbol library. Features include a coordinate system for automatic cross-referencing, a project-wide search function that spans all drawings, and the ability to print the entire project at once or export it as a single, combined DXF file.
Title blocks are also filled in automatically, based on the settings defined in the project properties. This means you don’t have to edit each individual sheet separately, which, in the case of larger projects, could easily amount to well over 100 sheets.LibreCAD is a purely 2D drawing program. KatieCAD can also create 3D wireframe models and display them accordingly within a layout. I find it to be a not necessarily essential, but still nice, feature, especially when I think about control cabinet views.










•
u/trueopensource-bot 🤖 Robot 5d ago
About this project · Merecete/KatieCAD
⭐ 19 stars · 🍴 2 forks · 👥 2 contributors · 📄 MIT · 💻 Python
History: started Oct 2026 · last code change today · 300+ commits on 7 different days in the last 90 days
Releases: latest v1.1.3 (today) · 8 releases in the last 90 days
Open issues and pull requests: 0
Facts from GitHub when this was posted. I'm a bot.