3D modeling automation in your favorite modeling software.
Project description
Table of Contents
- What is CodeToCAD
- Why CodeToCAD
- Getting Started
- Supported Applications
- Working with the software of your choice
- What's next
- For the developers
- Additional resources
- Support us
What is CodeToCAD
CodeToCAD is an open source code-CAD automation. It provides extendable, declarative and imperative interfaces that allow engineers and developers to write code-CAD scripts that can be checked into source control, collaborated on, and run on any supported 3D modeling software.
Why CodeToCAD?
✅ Simplified modeling interface - it's all text! No more scrolling and clicking into sub-menus to edit your models.
🔓 Not vendor locked - your models are created in an open-source language. If you want to use another software, you do not lose the features you have defined. Note: There is no guarantee that a model created for, e.g. Blender, will work right away for another software, but with some refactoring, it theoretically should!
🪶 Lightweight and portable. All you need is a text-editor to model. You can occasionally fire-up your modeling software to run your creations.
💪 Leverages existing programming languages, like Python. You can keep using the languages you're familiar with and love. There is no one-off language you and your team has to learn. Use CodeToCAD like a library or a framework.
🚦Easy version control. Your models are written in code, you can use industry-loved git to keep track of versions of your models.
💕 Built by people who believe in automation and that modeling workflows should be intuitive, reliable and most importantly free and open source!
Getting started
Pre-requisites: Python 3.10 or newer.
-
Install the CodeToCAD PIP Package to get intellisense syntax highlighting.
pip install CodeToCAD
-
Create your own CodeToCAD python file and save it (docs):
# my_codetocad_script.py # More examples can be found under CodeToCAD/examples/ from codetocad import * my_material = Material("material").set_color(169, 76, 181, 0.8) Part("Cube").create_cube(1, 1, 1).set_material(my_material)
-
Watch as your code gets seemlessly translated into CAD using our custom addon for your desired application
- You may also run
codetocad my_codetocad_script.py
from the CLI to run your script.
Above is the above script being run in blender using our Blender Addon below.
Supported Applications
Alpha/Beta Support
- Blender - Digital Modeling Software
Pre-Alpha Development
- Onshape - Product Development and CAD Software
To Be Developed
- PyBullet - Real-time Physics Simulation Library
- KiCAD - Electronic/PCB Design Software
- LLM/AI based model generation
- FreeCAD - CAD Software
- ThreeJS - Web-based 3D Library
- Libfive - Signed Distance Field Modeling library
Working with the software of your choice
Remember to first follow the getting started instructions
Compatible softwares
Blender
Pre-requisites: Blender 3.1 or newer is required.
-
Download a release of the Blender Addon from CodeToCADBlenderAddon.zip or from the latest release
Note for developers: instead of downloading a release, you can clone this repository, then watch this guide to get set up - Video Guide
-
Install the Blender Addon in the blender software
-
Import your script using the file menu > import > CodeToCAD or the CodeToCAD menu in the sidebar.
Warning: Since CodeToCAD scripts are written and executed in Python, be careful when running scripts you find on the internet!
Note, you can also run CodeToCAD in Blender via cli:
blender -- --codetocad $(pwd)/yourScript.py
orcodetocad yourScript.py blender /path/to/blender/executable
Onshape
Coming soon
What's next
-
Run or browse the examples!
-
Join the Discord Server to receive updates and help from the community!
For the developers
We welcome all contributors to the project, to get started with contributing check out our Contributing guidelines
Additional Resources
Contributors
Thank you to all our contributors for their invaluable time, effort, and expertise in making CodeToCAD possible:
Support us ❤️
Any and all donations toward the project are much appreciated and help greatly:
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file codetocad-0.3.1705640780.tar.gz
.
File metadata
- Download URL: codetocad-0.3.1705640780.tar.gz
- Upload date:
- Size: 40.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.18
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3dab296e15ebaf0ae14027b39ba6ddd1d9c90f52cb371ae7c0a6a8157a69422c |
|
MD5 | db2d006b6ff4c051339776d0d0e4ae4f |
|
BLAKE2b-256 | 6c7093e668d0211627f0b420937de66822f59f58c2b2dff44f55a36d61f858ee |