Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

2021 CadQuery Community Update #942

Closed
jmwright opened this issue Dec 31, 2021 · 1 comment
Closed

2021 CadQuery Community Update #942

jmwright opened this issue Dec 31, 2021 · 1 comment
Labels
announcement Communication with the community: project updates, etc

Comments

@jmwright
Copy link
Member

2021 CadQuery Community Update

If you got a notification that you were mentioned in this issue and are not sure why, scroll down to the "Thank You" section. You are probably mentioned there. I apologize if anyone feels spammed, but the purpose is to say thank you for your contributions to this project.

Intro

Some big features were added in 2021, and arguably the most noteworthy is the addition of 2D sketching with constraints. I will highlight some other updates below, and please feel free to check the changelog for a more complete listing.

Updates

  • CadQuery added a new core developer this year. It has been great to have @marcus7070 involved in maintaining CadQuery.
  • 2D Sketching - This includes constraints and hull, among other things, and CQ-editor has been updated to display sketches. This brings CadQuery more in line with the method of creating sketches used in many other CAD packages.
  • Released version 2.1 of CadQuery, the first stable release to be based on OCP, our own set of bindings to the OpenCASCADE (OCCT) CAD kernel.
  • Cleaned up the old CadQuery 1.x repo and added deprecation/EOL messages. This will hopefully cut down on the number of users who accidentally try to get started with CadQuery 1.x instead of 2.x.
  • Adam set up a GitHub project to organize and track CadQuery's 2.2 release.
  • CadQuery was updated to work with OCCT 7.5+, and OCCT 7.6 support is in progress. The great work done by @adam-urbanczyk on the pywrap and OCP projects has made rapid updates possible.
  • CadQuery is now compatible with Python 3.9.
  • Started building development packages of CQ-editor, so that users can download a more up-to-date version without using Anaconda/Miniconda.
  • VTK support has been added into both OCP and CadQuery and is used in CadQuery web renders, replacing the existing Three.js renders. You can already see VTK rendering in action in the Examples section of the CadQuery docs.
  • Added much needed documentation on importing and exporting to other formats, and added additional options to control how some formats are exported, such as SVG.
  • Adam gave a talk at FOSDEM 2021 and a video is available.
  • Made many updates to the documentation to add new information, update outdated text, and clarify things that were not clear to the community.

Core Projects

  • cadquery - The core library created by @dcowden that started this all.
  • CQ-editor - CQ-editor is the desktop IDE for CadQuery scripts and received many updates during 2021. There are binary builds that you can try if running CQ-editor via Anaconda has been a barrier for you. Click on the latest build with a green check mark, and then scroll down to the Artifacts section. It sometimes takes that section awhile to load with the new GitHub Actions layout.
  • cq-cli - A command line application that executes a CadQuery script and converts the result(s) to an output format. This app is at the heart of the CadHub integration for CadQuery, and is run server side to convert the CadQuery scripts to STL. There are binary releases to make it easy to install.
  • jupyter-cadquery - @bernhard-42 created this integration, which makes CadQuery available in Jupyter Notebook. It has been updated to Jupyter Lab 3.0 which makes installation easier, and now supports the CadQuery 2.1 release. There is also a VSCode integration for jupyter-cadquery to make developing CadQuery models in VSCode more seamless. See item 3 here for details.
  • pywrap - The Python-C++ binding framework that underpins OCP. It is designed to automate as much of the binding process as possible. At this time pywrap still assumes some things related to OCP, but the goal is to eventually generalize it for use with other projects.
  • OCP - OCP was created to provide thin bindings to OCCT, wrap as many of the OCCT modules as possible, react quickly to new OCCT releases, and be tailored primarily for the CadQuery project. OCP was based on OCCT 7.4.0 starting out, and is now being updated to work with the latest version, which is 7.6.0. Other (non-CadQuery) projects have started using OCP as well because they like the design of the project.

Community Projects

  • cq_warehouse - A project with a collection of generators for sprockets, chains, fasteners, and more. cq_warehouse was recently updated to return the location of placed fasteners to make it easier to place matching holes in mating work pieces. It was created by @gumyr .
  • cqMore - This is a collection of extensions for CadQuery that includes polyhedron generation, matrix operations, advanced curves, and extensions to CadQuery's Workplane class. Created by @JustinSDK .
  • cadquery-plugins - A repo that contains CadQuery plugins contributed by the community. If you have created an extension to CadQuery that you think would be useful for others, please consider turning it into a plugin and contributing it here.
  • cadquery-contrib - A collection of CadQuery examples and tutorials maintained by the community. If you want to contribute example code, this would be a great place to do it.
  • cq-kit - FxBricks uses CadQuery in their product development pipeline to create Lego-compatible bricks to help teach electronics engineering expertise. FXBricks team member @michaelgale created cq-kit which contains utility classes and functions to extend the features and capabilities of the CadQuery.
  • FreeCAD workbench fork - Maintained by @jpmlt , this fork of the old FreeCAD workbench supports CadQuery 2.x, although you have to install CadQuery separately. This fork will be great for those who want to create models with CadQuery 2.x and use them with the rest of the FreeCAD workbenches.
  • CadHub - A CAD model sharing website dedicated to CodeCAD (programmatic CAD). It supports multiple integrations, including CadQuery, OpenSCAD, Open JSCAD and Curv3D. You may have seen community members exchanging code samples and models using this site. You can see samples of the models on CadHub here. @jmwright collaborated with the CadHub team to get the CadQuery integration working using cq-cli.
  • KiCAD 3D generator - We have been collaborating with the KiCAD team to update their 3D component generators so that they can be used in a continuous integration system with CadQuery 2.x, and eventually be run from within KiCAD to generate 3D electrical component models on demand.

CadQuery in Research

  • CadQuery DOI - If you are publishing a research paper and made use of CadQuery, please consider using the DOI for CadQuery so that we can better track where it is being used. More info here.
  • Paramak - The Paramak fusion energy research project is using CadQuery's new SVG export options in interesting ways. This includes using a script to create simple animations of their reactor designs. Thanks to @shimwell and the team for sharing their progress with us.

Communication Channels

There are multiple ways to reach out to the CadQuery community. We have a great community and newcomers are always welcome.

  • GitHub - Bug reports and feature requests
  • Google Group - General discussion
  • Discord - General discussion (bridged with Matrix server)
  • Matrix - General discussion (bridged with Discord server)
  • Reddit - I don't believe that any of the core developers are involved, but I recently came across this subreddit.

Thank You

This is the section where we mention everyone who has contributed code to the various CadQuery projects. We appreciate people spending their time on improving CadQuery. There are also community members who contribute in other ways, such as helping users on Discord and Google Groups, but unfortunately there's not an efficient way to track that metric. A big thank you goes out to all community members, no matter how you contribute. We see you, and your involvement is appreciated.

Other than the project creators and core developers, contributors are listed in the order in which GitHub has them listed. If anyone is missing or any user names are misspelled, please let @jmwright know.

CadQuery Contributors

@dcowden (creator)
@adam-urbanczyk (core dev)
@jmwright (core dev)
@marcus7070 (core dev)
@hyOzd
@bragostin
@justbuchanan
@cactrot
@mgreminger
@huskier
@RubenRubens
@revolter
@Peque
@martinbudden
@fragmuffin
@winksaville
@pavpen
@bweissinger
@Jojain
@greyltc
@lorenzncode
@nopria
@moeb
@A-G-D
@fedorkotov
@HLevering
@gumyr
@osterwood
@westurner
@asukiaaa
@just-georgeb
@adam-trhon
@luzpaz
@snagy
@gebner
@raquo
@grawp
@armyofevilrobots
@l29ah
@Renha
@bernhard-42
@krasin
@blooop
@ArmoredBlood
@JosiahBradley
@jwhevans
@jthacker
@darrellenns
@raphaelsetin
@GeorgesPaul
@nirvdrum
@phillipthelen
@jdthorpe
@danieljuschus
@xix-xeaon
@bsilvereagle
@DarthPJB

CQ-editor Contributors

@adam-urbanczyk (creator)
@jmwright
@lorenzncode
@marcus7070
@gebner
@justbuchanan
@winksaville
@mbway
@elliotwaite
@possibilities
@nealie
@adam-trhon

cq-cli Contributors

@jmwright (creator)
@RubenRubens

jupyter-cadquery Contributors

@bernhard-42 / @bernhardBV (creator)
@bollwyvl
@Jojain
@ilya-epifanov

OCP Contributors

@adam-urbanczyk (creator)
@valgur
@jwscook

pywrap Contributors

@adam-urbanczyk (creator)
@jmwright
@greyltc
@marcus7070
@nealie

cadquery-plugins Contributors

@Jojain
@jmwright
@marcus7070
@fedorkotov
@meadiode
@adam-urbanczyk

cadquery-contrib Contributors

@jmwright
@Jojain
@adam-urbanczyk
@bragostin
@marcus7070
@dcowden

sphinxcadquery Contributors

@Peque
@shimwell

@dcowden
Copy link
Member

dcowden commented Dec 31, 2021 via email

@adam-urbanczyk adam-urbanczyk added the announcement Communication with the community: project updates, etc label Jan 1, 2022
@jmwright jmwright closed this as completed Jan 6, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
announcement Communication with the community: project updates, etc
Projects
None yet
Development

No branches or pull requests

3 participants