20 KiB
20 KiB
Changes
master
Breaking changes
- Renamed the argument for
Workplane.extrudefromdistancetountilandWorkplane.cutBlind'sdistanceToCutalso tountil. This is only a breaking change if you use the named parameters, i.e.extrude(distance = 10.0)orcutBlind(distanceToCut)instead of using positional them as positional parameters. - Fixed a bug in
Mixin1DProtocol.tangentAt()whereparamAt()was being called twice. This should only break scripts that relied on the incorrect behavior. #641 eachandeachpointaccept nowcombineargument defaulted toTrue#954. This only affects use cases involving solids.
Other changes
- Combine option can be set to "cut" (or "s") resulting in a subtractive operation #954
- Documentation updates #648 #654 #656 #659 #668 #689 #695 #699 #711 #727 #733 #734 #737 #738 #748 #757 #774 #775 #805 #813 #837 #839 #843 #845 #846 #847 #848 #852 #863 #866 #867 #887 #908 #910 [#912] (https://github.com/CadQuery/cadquery/pull/912) #921
- Added better documentation on the internals of CadQuery #821
- Added documentation for assembly constraints #850
- Bugfix for center option of functions such as box and rect #617
- Fixes for DXF import #630
- Updated to OCCT 7.5 #633 #818
- Added ability to specify arbitrary tangents in
spline()#636 - Added
forConstructionoption tooffset2D()#639 - Fixed errors related to
findSolid()returningNone#655 - Simplified the API interface for
findSolid()#662 - Updated for Python 3.9 #672
- Improved inheritance handling for Workplane fluent methods #677
- Improved interface to pop pending wires and edges off the stack #678
- Added deprecation warning for
Workplane.findFace()#679 - Wrapped
TopoDS_CompSolidfrom the OCCT/OCP layer so that it could be used in the fluent API. #681 - Added 2D fillet and chamfer functions #683
- Created GitHub issue templates #687
- Added
AreaNthSelectorand length selector #688 - Implemented makeSplineApprox for edges and faces #694
- Started using expression grammar for assembly selectors #704
- Added a coplanar check on wires before allowing operations like
extrude()#710 - Added an InPlane constraint for assemblies #712
- Raise a
TypeErrornow when the Location parameter is a tuple #723 - Added
Assembly.toCompound()to enable proper assembly export to formats like STL #726 - Implemented BRep import and vtkPolyData export #735 #865
- Started converting text sizes to float instead of integer #764
- Improved performance of
makeFromWires()#768 - Added
__repr__and__str__methods toMatrixclass to improve print output. - Fixed ability to handle assembly constraints for infinite faces #797
- Fixed an issue with the assembly solver that would cause it to hang in some cases #806
- Fixed the default camera position for VTK.js #822
- Removed deprecated OCCT
BRepOffsetAPI_MakeThickSolidreference fromMixin3d.shell. #829 - Implemented
projectToLine()method forVector - Added a 3D
cylinderprimitive #858 - Fixed a typo in the error message of
close()#871 - Added
extrudeandcutBlinduntil variations, which allows having an operation continue until the next face is reached. See the breaking change involved above. #875 #894 - Fixed bug that made the selectors
#Zandnot |Zwork the same #882 - Updated
paramAtto handle trimmed curves #901 - Update to support pyparsing 3 #907
- Added documentation about the layers of the CadQuery API #917
- Made the loading of the VTK modules more efficient and less error prone #918
- Changes to allow any cq.Shape to be a sweep path #919
- Improved edge rendering quality in the documentation #920
- Properly initialized metadata in Assembly instances #928
- Fixed bug in ArcAngle Sketch constraint #932
- Implemented tag merging when performing boolean operations #934
- Fixed a bug where the height and width were switched in the Sketch rect call #939
2.1 (stable release)
Breaking changes
- Fixed bug in ParallelDirSelector where non-planar faces could be selected. Note this will be breaking if you've used DirectionNthSelector and a non-planar face made it into your object list. In that case eg. ">X[2]" will have to become ">X[1]".
Other changes
- Refactored selectors and added CenterNthSelector #549
- Added new installation video links to the readme #550
- Exposed
makeWireinparametricCurve()#555 - Fixed a
centerOptionbug in the assembly tutorial #556 - Added
hLineTo,polarLineandpolarLineToto autosummary #561 - Updated workplane docstring for recent center option changes #563
- Fixed indentation in CQContext docs #571
- Indicated breaking changes and made docstring fixes #573
- Fixed
split()docstring #574 - Updated the readthedocs CQ logo #581
- Removed unused variable from counter-bore example #584
- Fixed unconstrained
assembly.solve()#592 - Added an example for
cq.Wire.makeHelix()#594 - Exposed additional SVG options to exporters interface #596
- Fixed
ellipse()documentation formatting #597 - Fixed
cutThruAll()when working with non-planar faces #604 - Fixed
centeroption inrect()call in tests #607 - Fixed examples and enabled them in the test suite #609
- Fixed wedge centering #611 and #613
- Updated assembly documentation #614
2.1RC1 (release candidate)
Breaking changes
centerOptiondefault value changed fromCenterOfMasstoProjectedOrigin#532Wire.combineinterface changed - now it returnsList[Wire]#397Workplane.eachinterface changed - callable of theCallable[[Union[cadquery.occ_impl.geom.Vector, cadquery.occ_impl.geom.Location, cadquery.occ_impl.shapes.Shape]], cadquery.occ_impl.shapes.Shape]type is required #391
Other changes
- Simplified
largestDimension()bounding box check #317 - Added
FontPathtomakeText()#337 - Support for slicing (
section()) of models #339 #349 - Added DXF import (relies on ezdxf) #351 #372 #406 #442
- Added DXF export #415 #419 #455
- Exposed
angularPrecisionparameter inexportStl()#329 - Fixed bug in
makeRuled()#329 - Made solid construction from
shell()more robust #329 - Added CadQuery logos to docs #329
- Added
toPending()to allow adding wires/edges topendingWires/pendingEdges#351 - Implemented
glueparameter forfuse()#375 - Exposed parameters for fuzzy bool operations #375
- Started using MyPy in CI and type annotations #378 #380 #391
- Implemented a
Locationclass #380 - Merged
CQclass intoWorkplaneto eliminate duplicated code #380 - Added additional parameters for
BuildCurves3d_smethod #387 - Implemented fully closed shelling #394
- Refactored
polarArray()#395 - Improved local rotation handling #395
- Implemented 2D offset in
offset2D#397 - Added
locationAt()to generate locations along a curve #404 - Added DOI to README for references in research papers #410
- Changed
shell()to setIntersectionparameter toTrue#411 - Exposed joint type (
kind) forshell()#413 - Refactored exporters #415
- Started using
find_packages()in setup.py #418 - Tessellation winding fix #420
- Added
angularPrecisiontoexport,exportShapeandtoString#424 - Added py.typed file for PEP-561 compatibility #435
- Added assembly API with constraint solver #440 #482 #545 #556
- Integrated sphinxcadquery to add 3D visualization of parts to docs #111
- Allow spaces in Vector literal #445
- Added export to OCCT native CAF format #440
- Implemented color export in STEP generated from assemblies #440
- Added ability to set
fontPathparameter fortext()#453 - Now protect against
rarray()spacings of 0 #454 - Changed Nth selector rounding
self.TOLERANCEcalculation to produce 4 decimal places #461 - Fixed
parametricCurve()to use correct stop point #477 - Excluded tests from installation in setup.py #478
- Added
mesh()method to shapes.py #482 - Added VRML export #482
- Implemented ability to create a child workplane on the vertex #480
- Improved consistency in handling of BoundaryBox tolerance #490
- Implemented
locations()for Wires #475 - Exposed mode for sweep operations #496
- Added 'RadiusNthSelector()` #504
- Added tag-based constraint definition for assemblies #514
- Implemented ability to mirror from a selected face #527
- Improved edge selector tests #541
- Added
glueparameter tocombine()#535 - Finally fixed github-linguist statistics #547
- Updated for Python 3.8
- Numerous documentation updates and example additions
2.0 (stable release)
Deprecations and breaking changes
centerOptiondefault value will change fromCenterOfMasstoProjectedOriginin the 2.1 release #313
Non-breaking changes
- Numerous commits to move from FreeCAD as the underlying API to PythonOCC - thanks @adam-urbanczyk for all the effort that required
- Updated for Python 3.6 and 3.7
- Made sure solids were fused when extrude both=True #321 - thanks @adam-urbanczyk
- Improved boolean operations #312 - thanks @adam-urbanczyk
- Fixed a bug in helix creation #311 - thanks @adam-urbanczyk
- Improved MacOS support
- Updated CQGI counters for Python 3.8 compatibility #305 - thanks @jwhevans
- Added tangent arc operation #284 - thanks @marcus7070
- Added ellipse creation #265 - thanks @bernhard-42
- Added ability to produce a plate surface with a thickness (optional), enclosed by edge points, polylines or splines, and going through interpolation points (optional) #253 - thanks @bragostin
- Fix plane rotation method #243 - thanks @Peque
- Added ability to tag a particular object in the chain to be referred to later #252 - thanks @marcus7070
- Added Black formatting check to CI #255 - thanks @Peque
- Added ability to accept unordered edges when constructing a wire #237 - thanks @bragostin
- Updated to using pytest #236 - thanks @Peque
- Fixed wedge primitive and made wedge act consistent with other primitives #228
- Fix to correctly support anisotropic scaling #225 - thanks @adam-urbanczyk
- Documentation fixes #215 - thanks @Renha
- Fixed a spline example in the docs #200 - thanks @adam-urbanczyk
- Added 2D slot feature #186 - thanks @bweissinger
- Fixed a segmentation fault when trying to loft with one wire #161 - thanks @HLevering
- Fixed a bug where the tolerance parameter of BoundingBox had no effect #167 - thanks @mgreminger
- Fixed a bug when calling findSolid with multiple solids on stack #163 - thanks @adam-urbanczyk
- Documentation fixes #144 and #162 - thanks @westurner
- Fixed a feature/bug that prevented a polyline or spline from closing properly in some instances #156 - thanks @adam-urbanczyk
- Added ability to determine if an arbitrary point is inside a solid #138 - thanks @mgreminger
- Fixed bug where combine=True kept union from working properly #143 - thanks @adam-urbanczyk
- Fixed bug where string selectors "-X" and "+X" returned the same thing #141 - thanks @gebner
- Removed unused 'positive' argument from 'cutThruAll' #135 - thanks @mgreminger
- Increased the HASH_CODE_MAX to prevent hash collisions during face selection #140 - thanks @mgreminger
- Added option to center workplane on projected origin #132 - thanks @mgreminger
- Improved sweep along multisection wires #128 - thanks @adam-urbanczyk
- Fixed version number that was missed during update to 2.x #129 - thanks @asukiaaa
- Numerous CI and documentation improvements
- Support for text rendering #106
2.0RC2 (release candidate)
- Changes included in v2.0 release
2.0RC1 (release candidate)
- Changes included in v2.0 release
2.0RC0 (release candidate)
- Changes included in v2.0 release
The changelog for older CadQuery 1.x releases can be found here.