Why Cadbuildr?


As an engineer working in both software and hardware, I have often felt frustrated by the current workflow of CAD software. For the past 50 years, the industry has relied heavily on proprietary software with proprietary file formats. This reliance has significantly constrained innovation in hardware development, as major advancements typically come from a handful of large software companies.


In stark contrast, software engineering has been transformed by the open-source movement. Workflows in software development continue to evolve rapidly because anyone can contribute and challenge the status quo. A prime example of this is version control: git has become the standard for version control in software engineering, and it is both free and open-source. In hardware development, however, most small teams do not use version control at all, and those that do often rely on expensive, proprietary extensions of their CAD software. Additionally, reuse in hardware development is practically non-existent due to these proprietary file formats.


This is why we are building Cadbuildr. Our goal is to bring the best practices of software engineering into the realm of hardware development starting with an open format.

What is Cadbuildr ?

Foundation: An open-source CAD library for Python

Our first contribution is the foundation library. It is written in Python and enables users to create 3D models programmatically. Typically in CAD software you can represent a part or assembly as a history of features. Your typical CAD software program will enable you to draw a square on a sketch and extrude it to make a cube. The foundation library enables you to do the same thing but programmatically. This translation step, from code to history of features, is agnostic of the actual rendering or CAD software that you use. We have a viewer that can render the tree representation of your part, but nothing prevents you from building another viewer that can render the tree representation in a different way.

Playground

Why Python? Python is one of the most popular programming languages in the world. It is easy to learn and has a large community of users. Additionally, in the engineering world, Python is also extremely popular. For hardware, you might actually have key dimensions that are the result of simulation or analysis already done in Python.

Why open-source? We believe that the future of hardware development is open-source. By making our library open-source, we enable anyone to contribute to the library and improve it and build on top of it. The hope is that it becomes a standard for hardware development and that if a design is made using the foundation library, it can be opened and modified by anyone.

The foundation library is available on Github here and the documentation is hosted here

Cadbuildr Workflows

We are working on a full suite of tools that will enable you to design, simulate, and manufacture your parts and assemblies. These will leverage the foundation library with different options for your use case.

Playground

First, we built the playground giving you a way to use the foundation library with a visualizer and exporter for parts and assemblies. Everything runs in the browser. You can try it out here. You can also share simple designs with others by sharing the URL.

Beta

We are also working on a beta for makers and professionals that would benefit from our development workflows. You can request access here. We want to hear from you and understand your needs.

Conclusion

By adopting Cadbuildr, you're not just choosing a tool; you're joining a movement towards more open, collaborative, and innovative hardware development. We envision a future where hardware design is as dynamic and community-driven as software development. Join us on this journey and be part of the change. Let's build the future of hardware together.

Frequently Asked Questions (FAQs)

  1. Who can use Cadbuildr? Anyone from hobbyists to professional engineers can use Cadbuildr. It is designed to be accessible and scalable for various levels of expertise.

  2. Is Cadbuildr compatible with other CAD software? Not directly, the foundation library is designed to meant to be agnostic of any specific CAD software, however currently the playground is the only viewer that can render the tree representation of your part and export it as .step and .stl. We hope this changes soon.

  3. How can I contribute to Cadbuildr? Contributions and issues are welcome via our GitHub repository here

  4. What are the system requirements for the Playground? Since everything runs in the browser, there are minimal system requirements. A modern browser and an internet connection are all you need.

Feel free to reach out with any more questions or feedback. We're excited to see what you will build with Cadbuildr!