Skip to content

Latest commit

 

History

History
208 lines (192 loc) · 20.2 KB

changes.md

File metadata and controls

208 lines (192 loc) · 20.2 KB

Changes

master

Breaking changes

  • Renamed the argument for Workplane.extrude from distance to until and Workplane.cutBlind's distanceToCut also to until. This is only a breaking change if you use the named parameters, i.e. extrude(distance = 10.0) or cutBlind(distanceToCut) instead of using positional them as positional parameters.
  • Fixed a bug in Mixin1DProtocol.tangentAt() where paramAt() was being called twice. This should only break scripts that relied on the incorrect behavior. #641
  • each and eachpoint accept now combine argument defaulted to True #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] (CadQuery#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 forConstruction option to offset2D() #639
  • Fixed errors related to findSolid() returning None #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_CompSolid from 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 AreaNthSelector and 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 TypeError now 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 to Matrix class 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_MakeThickSolid reference from Mixin3d.shell. #829
  • Implemented projectToLine() method for Vector
  • Added a 3D cylinder primitive #858
  • Fixed a typo in the error message of close() #871
  • Added extrude and cutBlind until 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 #Z and not |Z work the same #882
  • Updated paramAt to 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 makeWire in parametricCurve() #555
  • Fixed a centerOption bug in the assembly tutorial #556
  • Added hLineTo, polarLine and polarLineTo to 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 center option in rect() 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

  • centerOption default value changed from CenterOfMass to ProjectedOrigin #532
  • Wire.combine interface changed - now it returns List[Wire] #397
  • Workplane.each interface changed - callable of the Callable[[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 FontPath to makeText() #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 angularPrecision parameter in exportStl() #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 to pendingWires/pendingEdges #351
  • Implemented glue parameter for fuse() #375
  • Exposed parameters for fuzzy bool operations #375
  • Started using MyPy in CI and type annotations #378 #380 #391
  • Implemented a Location class #380
  • Merged CQ class into Workplane to eliminate duplicated code #380
  • Added additional parameters for BuildCurves3d_s method #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 set Intersection parameter to True #411
  • Exposed joint type (kind) for shell() #413
  • Refactored exporters #415
  • Started using find_packages() in setup.py #418
  • Tessellation winding fix #420
  • Added angularPrecision to export, exportShape and toString #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 fontPath parameter for text() #453
  • Now protect against rarray() spacings of 0 #454
  • Changed Nth selector rounding self.TOLERANCE calculation 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 glue parameter to combine() #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

  • centerOption default value will change from CenterOfMass to ProjectedOrigin in 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.