Inspiration
The inspiration for PyCad came from our passion for 3D printing. We realized that most CAD editors rely heavily on drag-and-drop interfaces, which can often feel limiting and frustrating. So we asked ourselves: what if we could design models with code instead? With PyCad, you can use a simple programming language to sketch 2D models and programmatically edit them, giving you more power, precision, and creativity in your designs.
What it does
PyCad allows you to use Python in a built in environment to design sketches for 3D-Modeling.
Accomplishments
We’re incredibly proud of what we accomplished with PyCad. This project represents a major achievement for our team—not only because it was our first hackathon, but also because it was our first time working with many of these frameworks and libraries. The experience challenged us, taught us a lot, and ultimately gave us something we’re excited to share.
How we built it
We started with a basic Electron & Vue framework as the foundation of our project. From there, we built the UI to outline the core features and workflow. Next, we integrated a Python runtime environment in the frontend, along with error handling. Once that was stable, we developed a preview environment to visualize the code output. After that, we connected our JavaScript code with the Python environment to enable seamless function calls. Finally, we wrapped up the project by creating build instructions, documentation, and putting our program into practice by 3D printing some test models.
Challenges we ran into
For our lead UI developer, the biggest hurdle was learning how to render graphics with Three.js, since it was their first time programmatically rendering graphics with WebGL. Our utilities developer focused on making Python and JavaScript communicate seamlessly while also building a circular doubly linked list. Our project manager, who wore many hats, faced the challenge of creating the Python scripting environment and ensuring reliable communication between code functionalities. Finally, our second UI developer worked on connecting the interface elements to the codebase and organizing them into a clean, aesthetically pleasing layout.
What's next for PyCAD
PyCad still has a long way to go before becoming a full-fledged CAD editor, but we’re excited about its future. Our roadmap includes adding more built-in functions, supporting sketches that can extrude from other sketches, developing a VS Code extension, enabling multiple workspaces for managing different projects, adding an extension for converting an image to a series of points compatible with our program, and building a comprehensive settings panel to give users even more control.
Time Lapse
Built With
- electron
- pyscript
- three.js
- typescript
- vue


Log in or sign up for Devpost to join the conversation.