├── CONTRIBUTING.md ├── LICENSE └── README.md /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contributing 2 | 3 | This list depends on the contributions of the community to keep it complete and update-to-date. The goal is to have mostly projects that are maintained and useful to the community. 4 | 5 | ## How? 6 | 7 | The easiest way to contribute a change is to go to https://github.com/CadQuery/awesome-cadquery/blob/main/README.md and click on the "pen" icon in the upper right corner. Make the changes to the file and follow the `Propose changes` instructions at the bottom to create a pull request. 8 | 9 | If you want to add an entry to the `README.md` please consider these things: 10 | 11 | - Is the entry valuable to people trying to get things done in CadQuery? 12 | - For example: make sure that the project is not an abandoned experiment before adding it. 13 | - If you want to add something, please use the template `[ACCOUNT/REPO](https://github.com/ACCOUNT/REPO) - DESCRIPTION` 14 | * If the project has a CI build, please add the build badge. Put the image after the description, separated by a space. Please make sure to add the branch information to the image: 15 | * Example for Travis: `[![build badge](https://api.travis-ci.com/XXX/CRATE.svg?branch=master)](https://app.travis-ci.org/github/XXX/CRATE)` 16 | * For Github actions please see [adding-a-workflow-status-badge](https://docs.github.com/en/actions/managing-workflow-runs/adding-a-workflow-status-badge) 17 | - Please pay attention to the alphabetical ordering. 18 | 19 | ## Removing projects 20 | 21 | The maintainers of this repository reserve the right to remove projects that seem to be abandoned and/or broken. However, if enough community members use the project, it may just be marked as needing a maintainer and kept on the list. In most cases efforts will be made to not remove projects unless they are outright broken or pronounced deprecated by another project or by its author. 22 | 23 | ## Credit 24 | 25 | This document was adapted from the awesome-rust repository. The original file can be found [here](https://github.com/rust-unofficial/awesome-rust/blob/master/CONTRIBUTING.md) and is under the same license as this repository. 26 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Creative Commons Legal Code 2 | 3 | CC0 1.0 Universal 4 | 5 | CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE 6 | LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN 7 | ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS 8 | INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES 9 | REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS 10 | PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM 11 | THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED 12 | HEREUNDER. 13 | 14 | Statement of Purpose 15 | 16 | The laws of most jurisdictions throughout the world automatically confer 17 | exclusive Copyright and Related Rights (defined below) upon the creator 18 | and subsequent owner(s) (each and all, an "owner") of an original work of 19 | authorship and/or a database (each, a "Work"). 20 | 21 | Certain owners wish to permanently relinquish those rights to a Work for 22 | the purpose of contributing to a commons of creative, cultural and 23 | scientific works ("Commons") that the public can reliably and without fear 24 | of later claims of infringement build upon, modify, incorporate in other 25 | works, reuse and redistribute as freely as possible in any form whatsoever 26 | and for any purposes, including without limitation commercial purposes. 27 | These owners may contribute to the Commons to promote the ideal of a free 28 | culture and the further production of creative, cultural and scientific 29 | works, or to gain reputation or greater distribution for their Work in 30 | part through the use and efforts of others. 31 | 32 | For these and/or other purposes and motivations, and without any 33 | expectation of additional consideration or compensation, the person 34 | associating CC0 with a Work (the "Affirmer"), to the extent that he or she 35 | is an owner of Copyright and Related Rights in the Work, voluntarily 36 | elects to apply CC0 to the Work and publicly distribute the Work under its 37 | terms, with knowledge of his or her Copyright and Related Rights in the 38 | Work and the meaning and intended legal effect of CC0 on those rights. 39 | 40 | 1. Copyright and Related Rights. A Work made available under CC0 may be 41 | protected by copyright and related or neighboring rights ("Copyright and 42 | Related Rights"). Copyright and Related Rights include, but are not 43 | limited to, the following: 44 | 45 | i. the right to reproduce, adapt, distribute, perform, display, 46 | communicate, and translate a Work; 47 | ii. moral rights retained by the original author(s) and/or performer(s); 48 | iii. publicity and privacy rights pertaining to a person's image or 49 | likeness depicted in a Work; 50 | iv. rights protecting against unfair competition in regards to a Work, 51 | subject to the limitations in paragraph 4(a), below; 52 | v. rights protecting the extraction, dissemination, use and reuse of data 53 | in a Work; 54 | vi. database rights (such as those arising under Directive 96/9/EC of the 55 | European Parliament and of the Council of 11 March 1996 on the legal 56 | protection of databases, and under any national implementation 57 | thereof, including any amended or successor version of such 58 | directive); and 59 | vii. other similar, equivalent or corresponding rights throughout the 60 | world based on applicable law or treaty, and any national 61 | implementations thereof. 62 | 63 | 2. Waiver. To the greatest extent permitted by, but not in contravention 64 | of, applicable law, Affirmer hereby overtly, fully, permanently, 65 | irrevocably and unconditionally waives, abandons, and surrenders all of 66 | Affirmer's Copyright and Related Rights and associated claims and causes 67 | of action, whether now known or unknown (including existing as well as 68 | future claims and causes of action), in the Work (i) in all territories 69 | worldwide, (ii) for the maximum duration provided by applicable law or 70 | treaty (including future time extensions), (iii) in any current or future 71 | medium and for any number of copies, and (iv) for any purpose whatsoever, 72 | including without limitation commercial, advertising or promotional 73 | purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each 74 | member of the public at large and to the detriment of Affirmer's heirs and 75 | successors, fully intending that such Waiver shall not be subject to 76 | revocation, rescission, cancellation, termination, or any other legal or 77 | equitable action to disrupt the quiet enjoyment of the Work by the public 78 | as contemplated by Affirmer's express Statement of Purpose. 79 | 80 | 3. Public License Fallback. Should any part of the Waiver for any reason 81 | be judged legally invalid or ineffective under applicable law, then the 82 | Waiver shall be preserved to the maximum extent permitted taking into 83 | account Affirmer's express Statement of Purpose. In addition, to the 84 | extent the Waiver is so judged Affirmer hereby grants to each affected 85 | person a royalty-free, non transferable, non sublicensable, non exclusive, 86 | irrevocable and unconditional license to exercise Affirmer's Copyright and 87 | Related Rights in the Work (i) in all territories worldwide, (ii) for the 88 | maximum duration provided by applicable law or treaty (including future 89 | time extensions), (iii) in any current or future medium and for any number 90 | of copies, and (iv) for any purpose whatsoever, including without 91 | limitation commercial, advertising or promotional purposes (the 92 | "License"). The License shall be deemed effective as of the date CC0 was 93 | applied by Affirmer to the Work. Should any part of the License for any 94 | reason be judged legally invalid or ineffective under applicable law, such 95 | partial invalidity or ineffectiveness shall not invalidate the remainder 96 | of the License, and in such case Affirmer hereby affirms that he or she 97 | will not (i) exercise any of his or her remaining Copyright and Related 98 | Rights in the Work or (ii) assert any associated claims and causes of 99 | action with respect to the Work, in either case contrary to Affirmer's 100 | express Statement of Purpose. 101 | 102 | 4. Limitations and Disclaimers. 103 | 104 | a. No trademark or patent rights held by Affirmer are waived, abandoned, 105 | surrendered, licensed or otherwise affected by this document. 106 | b. Affirmer offers the Work as-is and makes no representations or 107 | warranties of any kind concerning the Work, express, implied, 108 | statutory or otherwise, including without limitation warranties of 109 | title, merchantability, fitness for a particular purpose, non 110 | infringement, or the absence of latent or other defects, accuracy, or 111 | the present or absence of errors, whether or not discoverable, all to 112 | the greatest extent permissible under applicable law. 113 | c. Affirmer disclaims responsibility for clearing rights of other persons 114 | that may apply to the Work or any use thereof, including without 115 | limitation any person's Copyright and Related Rights in the Work. 116 | Further, Affirmer disclaims responsibility for obtaining any necessary 117 | consents, permissions or other rights required for any use of the 118 | Work. 119 | d. Affirmer understands and acknowledges that Creative Commons is not a 120 | party to this document and has no duty or obligation with respect to 121 | this CC0 or use of the Work. 122 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Awesome CadQuery 2 | 3 | A curated list of CadQuery code and resources. Inspired by other lists like [awesome-rust](https://github.com/rust-unofficial/awesome-rust). 4 | 5 | If you want to contribute, please read [this](CONTRIBUTING.md). 6 | 7 | ## Editors and IDEs 8 | 9 | * [CQ-editor](https://github.com/CadQuery/CQ-editor) - CadQuery GUI editor based on PyQT supports Linux, Windows and Mac. [![Build status](https://ci.appveyor.com/api/projects/status/g98rs7la393mgy91/branch/master?svg=true)](https://ci.appveyor.com/project/adam-urbanczyk/cq-editor/branch/master) 10 | * [Jupyter-CadQuery](https://github.com/bernhard-42/jupyter-cadquery) - View CadQuery objects in JupyterLab or in a standalone viewer for any IDE. 11 | * [VSCode CadQuery Extension](https://github.com/roipoussiere/cadquery-vscode) - Build parametric 2D/3D CAD models in VSCode with the CadQuery library. 12 | * [freecad-cadquery2-workbench](https://github.com/jpmlt/freecad-cadquery2-workbench) - This is a FreeCAD Workbench to render CadQuery 2.x script in FreeCAD. Based on the original workbench that is only compatible with CadQuery 1.x. 13 | * [cadquery-gui](https://github.com/jmwright/cadquery-gui) - A semi-maintained Electron-based CAD GUI built for CadQuery 1.x and 2.x. 14 | * [BlendQuery](https://github.com/uki-dev/blendquery) - CadQuery integration for Blender. 15 | * [Yet Another CAD Viewer](https://github.com/yeicor-3d/yet-another-cad-viewer) - A CAD viewer capable of displaying [OCP](https://github.com/CadQuery/OCP) models ([CadQuery](https://github.com/CadQuery/cadquery)/[Build123d](https://github.com/gumyr/build123d)/...) in a web browser. 16 | * [cadquery2web](https://github.com/30hours/cadquery2web) - A browser based CadQuery server. 17 | 18 | ## CLIs 19 | 20 | * [cq-cli](https://github.com/CadQuery/cq-cli) - Command Line Interface for executing CadQuery scripts and converting their output to another format. [![tests](https://github.com/CadQuery/cq-cli/workflows/tests/badge.svg)](https://github.com/CadQuery/cq-cli/actions) 21 | 22 | ## Extensions and Plugins 23 | 24 | * [cadquery-plugins](https://github.com/CadQuery/cadquery-plugins) - A collection of community contributed plugins that extend the functionality of CadQuery. ![Tests](https://github.com/CadQuery/cadquery-plugins/actions/workflows/tests-actions.yml/badge.svg?branch=main) 25 | * [cq_warehouse](https://github.com/gumyr/cq_warehouse) - cq_warehouse augments CadQuery with parametric parts - generated on demand - and extensions to the core CadQuery capabilities. 26 | * [cq-kit](https://github.com/michaelgale/cq-kit) - This repository contains utility classes and functions to extend the features and capabilities of the CadQuery python library. ![https://travis-ci.org/michaelgale/cq-kit](https://travis-ci.com/michaelgale/cq-kit.svg?branch=master) 27 | * [cqMore](https://github.com/JustinSDK/cqMore) - cqMore aims to add more fundamental API to CadQuery. 28 | * [sphinxcadquery](https://github.com/CadQuery/sphinxcadquery) - An extension to visualize CadQuery 3D files in your Sphinx documentation. 29 | * [cq_gears](https://github.com/meadiode/cq_gears) - Gear generator for things like spur gears, helical gears, and planetary gear sets. 30 | * [dl4to4ocp](https://github.com/yeicor-3d/dl4to4ocp) - Library that helps perform [topology optimization](https://en.wikipedia.org/wiki/Topology_optimization) on 31 | your [OCP](https://github.com/CadQuery/OCP)-based CAD 32 | models ([CadQuery](https://github.com/CadQuery/cadquery)/[Build123d](https://github.com/gumyr/build123d)/...) using 33 | the [dl4to](https://github.com/dl4to/dl4to) library. 34 | ![Tests](https://github.com/yeicor-3d/dl4to4ocp/actions/workflows/test.yml/badge.svg?branch=master) 35 | * [ocp-freecad-cam](https://github.com/voneiden/ocp-freecad-cam) CAM for CadQuery and Build123d by leveraging FreeCAD library. Visualizes in CQ-Editor and ocp-cad-viewer. Spiritual successor of [cq-cam](https://github.com/voneiden/cq-cam) 36 | * [freecad_import](https://github.com/CadQuery/cadquery-plugins/tree/main/plugins/freecad_import) - A plugin which allows users to import FreeCAD models into CadQuery, and will apply parameters to the model if they are provided and the model is a parametric one (contains a FreeCAD spreadsheet document). 37 | * [assembly-mesh-plugin](https://github.com/CadQuery/assembly-mesh-plugin) - A plugin to create a mesh of an assembly with corresponding color, layer and name data. 38 | 39 | ## Part Libraries and Part Generators 40 | 41 | * [CQ_Gears](https://github.com/meadiode/cq_gears) - CadQuery based involute profile gear generator. 42 | * [cq-electronics](https://github.com/sethfischer/cq-electronics) - Pure CadQuery models of various electronic boards and components. ![build-status](https://github.com/sethfischer/cq-electronics/actions/workflows/build.yml/badge.svg) 43 | * [KiCad Packages3D Generator](https://gitlab.com/kicad/libraries/kicad-packages3D-generator) - Python scripts for generating 3D electrical component models in STEP and VRML. 44 | * [cq-gridfinity](https://github.com/michaelgale/cq-gridfinity) - A python package for making various Gridfinity compatible objects such as baseplates, boxes, rugged boxes, and drawer spacers. PyPI package available. 45 | * [metric_threads](https://sourceforge.net/p/nl10/code/HEAD/tree/cq-code/common/metric_threads.py) - Module for generating internal and external metric threads. 46 | 47 | ## Miscellaneous 48 | 49 | * [selector_synthesis](https://github.com/jmwright/selector_synthesis) - Collection of methods for synthesizing CadQuery selectors for faces, edges and vertices. ![Tests](https://github.com/jmwright/selector-synthesis/actions/workflows/run_tests.yml/badge.svg) 50 | * [Nales](https://github.com/Jojain/Nales) - Nales is a GUI CAD application that aims to bring full interactivity to CadQuery. [![Build and checks Nales install](https://github.com/Jojain/Nales/actions/workflows/build_and_checks.yaml/badge.svg)](https://github.com/Jojain/Nales/actions/workflows/build_and_checks.yaml) 51 | * [Semblage](https://github.com/7BIndustries/Semblage) - Semblage is an open source CAD GUI backed by a programmatic CAD API named CadQuery. [![tests](https://github.com/7BIndustries/Semblage/actions/workflows/tests.yml/badge.svg)](https://github.com/7BIndustries/Semblage/actions/workflows/tests.yml) 52 | * [cq-flake](https://github.com/marcus7070/cq-flake) - A nix flake that allows you to reproduce a CadQuery and CQ-editor installation anywhere that has the nix package manager. 53 | * [ocp-action](https://github.com/Yeicor/ocp-action/) - GitHub Action that builds OCP models (CadQuery/Build123d/...), renders them and sets up a model viewer on Github Pages. ![Tests](https://github.com/Yeicor/ocp-action/actions/workflows/ci.yml/badge.svg?branch=main) 54 | * [cadquery-doc-translations](https://github.com/tkoyama010/cadquery-doc-translations) - A repository that holds Japanese translations of the CadQuery docs. 55 | 56 | ## Examples and Tutorials 57 | 58 | * [cadquery-contrib](https://github.com/CadQuery/cadquery-contrib) - A place to share CadQuery scripts, modules, tutorials and projects. 59 | * [fx-cad-notes](https://github.com/fx-bricks/fx-cad-notes) - Documentation showing how [FX-Bricks](https://shop.fxbricks.com/) uses CadQuery in their product development pipeline. 60 | * [spindle-assy-example](https://github.com/marcus7070/spindle-assy-example) - An example assembly of the vacuum attachment for a Workbee CNC router. 61 | * [cadquery-models](https://github.com/tanius/cadquery-models) - A bucket repository for CadQuery 3D models and experiments, except larger projects that deserver their own repo. 62 | * [Eggbeater Antenna](https://github.com/jmwright/cadquery-projects/tree/master/eggbeater-antenna) - Example of a design that automatically adjusts to a design constraint. In this case the frequency drives the design. 63 | * [Tetrakaidecahedron](https://github.com/bragostin/CadQuery-Examples/blob/main/Tetrakaidecahedron.py) - An example of how to create a tetrakaidecahedron. 64 | 65 | ## Style Guides 66 | 67 | * [CQ Style](https://github.com/jpoles1/cq_style) - A neat CadQuery structure for your projects. 68 | --------------------------------------------------------------------------------