GithubHelp home page GithubHelp logo

codetocad / codetocad-python-template Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 2 KB

Use this to get started with a new CodeToCAD project.

Home Page: https://codetocad.github.io/CodeToCAD/docs.html

Python 100.00%
cad code-cad codetocad

codetocad-python-template's Introduction

One language for all your CAD needs

Discord GitHub Repo stars GitHub top language Static Badge

Table of Contents

  1. What is CodeToCAD
  2. Why CodeToCAD
  3. Getting Started
  4. Supported Applications
  5. Working with the software of your choice
    1. Blender support
    2. Fusion 360 support
    3. Onshape support
  6. What's next
  7. For the developers
  8. Additional resources
  9. 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.

  1. Install the CodeToCAD PIP Package to get intellisense syntax highlighting.

    pip install CodeToCAD
    
  2. 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)
  3. Watch as your code gets seemlessly translated into CAD using our custom addon for your desired application

Material Cube

  1. 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.

Warning: Since CodeToCAD scripts are written and executed in Python, be careful when running scripts you find on the internet!

Supported Applications

Alpha/Beta Support

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 software

  1. Blender
  2. Fusion360
  3. Onshape

Blender

  1. 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 import blender_addon.py and set to CodeToCAD path in the addon to the root of this repository. Please watch this guide to get set up: Video Guide

  2. Install the Blender Addon in the blender software

  3. Import your script using the file menu > import > CodeToCAD or the CodeToCAD menu in the sidebar.

Note, you can also run CodeToCAD in Blender via cli: blender -- --codetocad $(pwd)/yourScript.py or codetocad yourScript.py blender /path/to/blender/executable

Sidebar Panel

You can use the side-panel to import CodeToCAD files or start a debugger server.

Fusion 360

To use CodeToCAD with Fusion 360, please install the Add-In. Please check out the README for more information.

Onshape

Please refer to the Onshape README for more information on how to setup an API key and connect to the Onshape Client.

What's next

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:

codetocad-python-template's People

Contributors

shehabattia96 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.