CadQuery 2.4.0

CadQuery is an intuitive, easy-to-use python based language for building parametric 3D CAD models. CadQuery is for 3D CAD what jQuery is for javascript. Imagine selecting Faces of a 3d object the same way you select DOM objects with JQuery!

Tags python cad 3d modeling codecad parametric
License Apache
State stable

Recent Releases

2.4.014 Mar 2024 21:12 minor bugfix: ### Highlights * Updated to OCP and OpenCASCADE 7.7.2 #1440 (https://github.com/CadQuery/cadquery/pull/1440) * Python 3.12 support #1468 (https://github.com/CadQuery/cadquery/pull/1468) * VTK-based `show` function for showing models from the command line #1366 (https://github.com/CadQuery/cadquery/pull/1366) #1394 (https://github.com/CadQuery/cadquery/pull/1394) ### Other changes * Documentation fixes and improvements #1360 (https://github.com/CadQuery/cadquery/pull/1360) #1362 (https://github.com/CadQuery/cadquery/pull/1362) #1367 (https://github.com/CadQuery/cadquery/pull/1367) #1368 (https://github.com/CadQuery/cadquery/pull/1368) #1380 (https://github.com/CadQuery/cadquery/pull/1380) #1400 (https://github.com/CadQuery/cadquery/pull/1400) #1423 (https://github.com/CadQuery/cadquery/pull/1423) #1424 (https://github.com/CadQuery/cadquery/pull/1424) #1458 (https://github.com/CadQuery/cadquery/pull/1458) #1474 (https://github.com/CadQuery/cadquery/pull/1474) * Added an `enlarge` method to BoundBox object #1356 (https://github.com/CadQuery/cadquery/pull/1356) * Added parallel operation support to `_bool_op()` #1357 (https://github.com/CadQuery/cadquery/pull/1357) * Added typing for `importStep()` and `importShape()` #1372 (https://github.com/CadQuery/cadquery/pull/1372) * Added tuple parameter support to CQGI #1373 (https://github.com/CadQuery/cadquery/pull/1373) * Improved the shape iterator #1376 (https://github.com/CadQuery/cadquery/pull/1376) * Added all other formats to ReadTheDocs downloads #1377 (https://github.com/CadQuery/cadquery/pull/1377) * Improved segment naming in constraint solver test #1379 (https://github.com/CadQuery/cadquery/pull/1379) * Fixed ellipse arc normal with DXF import and export #1384 (https://github.com/CadQuery/cadquery/pull/1384) * Fixed bug in tapered extrude height #1388 (https://github.com/CadQuery/cadquery/pull/1388) * Implementation of cq.Shape selectors #1406 (https://github.com/CadQuery/cadquery/pull/140
1.2.010 May 2018 09:25 minor feature: Specified occt build in.travis.yml . Specified occt build in.travis.yml. . Merge branch 'master' of https://github.com/adam-urbanczyk/cadquery. . Merge branch 'master' of https://github.com/adam-urbanczyk/cadquery. . Updated the release version. . Badge fury badge version number wasn't updating. . explicit readme encoding to utf-8. . py2/py3 on last commit. . derp. . Merge branch 'master' of https://github.com/adam-urbanczyk/cadquery. . Guess if running in an Anaconda env and set path accordingly. . Remove FREECAD_LIB env variable from.travis.yml. . . . . First try with appveyor. . Try updating conda. . Trying to conda create call. . Trying windows specific build of OCCT. . Trying plain OCTT 7.2.0. . Not building anything. . Better support for conda on Windows. . wrong ouput directory definition in some tests. . Changed freecad build used for testing. . Added appveyor badge. . . . First try at codecov. . errors in appveyor + better coveragerc. . Specified coverage report to upload. . Removed branch coverage to mimic coveralls setup. . Use codecov in travis too. . Added codecov to dev requirements. . Update sweep function in cq.py add test case and example. . Added freecad/label/broken to conda channels in CI. . . . Merge branch 'master' into multi-sweep-branch. . . . Add sagittaArc function and test. . Add sagittaArc example. . . . add radiusArc function. . remove testing code. . Do not run toWorldCoords if unneccessary, add testcases. . Make sagittaArc and radiusArc use local coordinates and do the conver . . . . Make CI use cadquery i.s.o. freecad conda channel. . . . Add logic to the () command. . . . Dont install freecad-doc in the Travis build. . . . Updates to prepare for version 1.2 release. . Update changes.md. . Trying to lock travis-sphinx version to deal with a that was intr . . Updated version numbers to 1.2.0.
1.1.017 Mar 2018 03:16 minor feature: Add projects using cadquery . Removed mention of the PPA for the FreeCAD module since it is not bei . . ing DirectionNthSelector. . Adding testcases for the new implementation of DirectionNthSelector. . . . Updating documentation regarding extended selector syntax. . Add graphical examples to the selectors section. . Remove finished items from the roadmap. . Update api and class reference. . a in rarray that wouldn't allow spacing between 0 and 1. . . . add ability to test freecad-daily. requirements-dev to be corre . . . . Add Adam's Jupyter example. . Mentioned the pyparsing dependency during the installation instructions. . added options to build method. . . . added intersect() to Workplane. . . . allow empty results. . first result is None if there are no results. . . . Started the v1.1.0 changes section. . Missed a changes citation in the last commit. . the version number in setup.py. . Added Adam as a core developer. . with docs directive. . . Changed the name of build_object() to show_object(). . . . makeHeilx added arguments. . auto execute under *nix. . removed irrelevant test. . . . . Moved the CQGI-compliant FreeCAD module examples into this core library. . added logging. . moved logging out of __init__.py to logs.py. . moved (again) to freecad_impl. . added logging tests. . . . . . Simple iditic points for Ex009. . Changed makeSolid to true to an on Jupyter. . vector equality error. . . . CQGI so that it handles ints and floats and not just floats. . Ex028 for FreeCAD 0.17. . Simple change for supported FreeCAD versions to test recursive update . . the beginnings of a docker image, with cli. . support stdout. . first building version i think. . Better Documentation. . Update README.md. . . . stnd ou
1.0.014 Apr 2017 06:05 minor feature: Added v0.5.2 Info. Symmetric extrude with respect to the workplane. Testcase for symmetric extrusion. Added v1.0.0 changes section. Changed travis.yml to use FreeCAD stable rather than daily PPA. Started working on nth selector. Preliminary implementation of Nth selector. DirectionNthSelector inherits from ParallelDirSelector. Implemented test-case for DirectionNthSelector. Updated docstring for DirectionNthSelector and extended the related t?. Initial implementation of the selector grammar using PyParsing. Change.travis.yml to include pyparsing. typo in.travis.yml. Initial almost working implementation of pyparsing based string selector. Added simple test case for the string selector grammar. First fully working implementation of the pyparsing based StringSelector. Extend testNthDistance to test DirectionNthSelector using the new str?. wrong handling of index in the string syntax selector. Update changes.md. Initial implementation of the extended grammar including logical ops. Preliminary defnition of a complex string selector grammar. First working implementation of complex StringSyntax selecter (i.e. s?. Added simple test cases for string selector with logical ops. Change logical ops names, add tests, general code cleanup. "Except" did not match properly. remove unneeded comment in testGrammar. Update PKG-INFO. Update __init__.py. Update changes.md. Update README.md. 1. the "'toVector' is not defined". Since the type of center.?. Refactor FreeCAD's `__init__.py` file. Add another possible FreeCAD library path. if/elif statements in FreeCAD's __init__ file. @dcowden's original is correct,and it appears all my fault, for ?. 1. Add 'testEdgeWrapperMakeCircle' and 'testFaceWrapperMakePlane' tes?. Correct errors for the last commit, mainly for test function testEdge?. "NameError: global name 'Face' is not defined", It appears that '?. Added pyparsing to requirements list. Update readme for CQ 2.0 roadmap. formatting. Update readme to use master b
0.4.119 Apr 2016 05:05 minor feature: Add travis build number to subminor version. Try to password. Problem with installation. readme missing.
0.3.029 Nov 2015 14:05 minor feature: Update README.md. Removed "Recently Added Features" Section. refactor clean() to support objects other than Solid. added dummy `clean()` methods for Wire and Compound types. Cleaned up some of the egg info. Update changes.md. added AndSelector, SumSelector, SubtractSelector, InverseSelector. added tests for arithmetic selectors. min/max selector will return all objects within a tolerance. Update changes.md. fail to prevent creating random workplanes. add test for multiple object at min/max selection. Update changes.md. Vector.sub returning wrapped object instead of cadquery's Vector. improve `workplane()` method to create workplanes from multiple co-pl?. add tests for workplane gen. from multiple faces. normals should be the same, 1 of the faces may have its center on ano?. updated documentation of `workplane()` method. Update changes.md. Center function to handle multiple solids correctly. Added a test to ensure that finding the center of a compound works co?. Update changes.md. Add the named planes ZX YX ZY. Use the xDir parameter in Plane.XY() and similar. Add the cadquery.Vector() constructor. Update changes.md. Clean up geom.py. Update changes.md. a case where the function was not resetting the first point. Merge branch 'master' of https://github.com/dcowden/cadquery. Update changes.md. a with polygon where forConstruction couldn't be passed, wh?. findSolid() so that it handles compounds properly. Update changes.md. Improve unicode support. . Changed polyline to work with a list of edges instead of a wire. Forgot to push the changes made from comments on PR #121. Update changes.md. Removed incorrectly used hash function from Vector and commented out ?. 1. Add CenterOfBoundBox() and CombinedCenterOfBoundBox() functions in?. Update changes.md. Made the normalize to normalized change to make CadQuery match the Py?. Added a label instance attribute to each of the shapes so that they c?. Made changes in preparation for the release of v0.3.0.
0.2.018 Aug 2015 22:05 major feature: Update README.md. Update changes.md. Linked version badge to tagged version. Fixed the Solid.makeSphere implementation and added CQ.sphere that mi?. Got a mirror fix working for the T-slot use case, but it broke the OC?. Fixed the rotateAndCopy function by checking coincidence of vertices ?. Fixed mirror when vertices weren't connected, which would cause the F?. Fixed spelling errors in CQ.py. Updated copyright dates and fixed a few docstring errors. Trying to get Travis CI to ignore the pythonocc branch. fixes jmwright/cadquery-freecad-module#53 and adds freecads library p?. a little improvement to #87. another improvement to #87 wich removes multiple calls to _fc_path. Updates to changelog. Simple code cleanup. Merge branch 'master' of https://github.com/dcowden/cadquery. added ruled option for loft. Added loft ruled option change. Fixed version number to match semantic versioning scheme. Fix for the close function when used in planes other than XY. Merge branch 'master' of https://github.com/dcowden/cadquery. Update changes.md. fixed NearestToPointSelector failure with tuple as arguments. Continuing the cleanup. First time using Pylint on this codebase. First round of clean up on CQ.py. Coverage still needs to be increased. Next small step in the CQ.py code cleanup. added box selector. added boundingbox option to BoxSelector. added tests for selecting vertices with BoxSelector. test boxselector again by swapping box points. added tests for selecting edges with BoxSelector. added test for selecting faces with BoxSelector. test multiple vertices selection with boxselector. test multiple edge selection with boxselector. test multiple face selection with boxselector. test boundingbox option of the boxselector. Next phase of cleaning up CQ.py. Fixed the documentation on the translate function which said it was m?. Fixed CQ.rotate docstring with same error as translate docstring. Update changes.md. added chamfer api. chamfer example; there is no need
0.1.805 Mar 2015 14:45 minor feature: Updated the change log for versions 0.1.6 and 0.1.7. Added a little more information to the change log for version 0.1.6. Added toFreecad function and modified the examples to use it. Also cl?. Incremented version number in egg info file that had been missed before. Updated the version number in init. Added new FreeCAD versions to freecad_impl/verutil.py. Fixed version numbers so that you can use == to grab test for a speci?. Initial attempt to fix import issues caused by verutil.py implementat?. Removed unneeded version test for FreeCAD 0.13. Added an alternate path for Linux systems that install FreeCAD at /us?. Added explicit support for Mac OS. mdoifed docs to point to cadquery-freecad-module. added a bit more detail about cadquery-freecad-module. Made major improvements to the Mac OS import setup code thanks to tro?. Fixed import errors inside one of the tests. Made the STEP import function more robust so that it could return a C?. Removed an unneeded import and fixed tab-space mixing issues. Added a return statement that was needed to make rotateAboutCenter wo?. Added Initial "Unreleased" Changes for v0.1.8. Created AUTHORS.md file. Merge branch 'master' of https://github.com/dcowden/cadquery. Update AUTHORS.md. Added rotate function at the CQ object level and an associated test. Add Travis CI config to run tests on each commit and each pull request. Removed unneeded workplane.py file. Fixed usage of toWorldCoordinates in move and moveTo. Added test of 2D drawing, including threePointArc and moveTo. This sh?. Experimenting with coveralls. Backing the changes out because of the repos not wanting to sync with?. Experimenting with Overalls. Added coverage line to travis config. Removed coverage line because it cause problems. Still tinkering with getting the coverage package working. Still trying to get the coverage call to work. Added version badge to README.md. Updated changes.md with latest 0.1.8 happenings.
0.1.516 Aug 2014 15:40 minor feature: