Commit Graph

657 Commits

Author SHA1 Message Date
9f5badb42a Implement + operator 2021-02-11 08:20:47 +01:00
583a46b78e Use __or__ & __and__ 2021-01-16 10:58:51 +01:00
278f5aa2d8 Added info in docs 2021-01-08 16:27:38 +01:00
567cbe6c3f Change docs examples 2021-01-07 16:16:56 +01:00
33286c2a60 Add syntactic sugar for boolean operations 2021-01-07 15:42:24 +01:00
f4b5e8210b Merge pull request #549 from marcus7070/NthSelector
Refactor selectors and add CenterNthSelector
2021-01-05 16:26:25 -05:00
2152068699 .workplane() docstring update (#563)
* .workplane docstring update

* Remove confusing line
2021-01-05 21:54:41 +01:00
1dc170ac00 doc corrections 2021-01-06 05:46:18 +10:30
48d1ebbb5d Allow all supported geoms in the type selectors 2021-01-04 08:47:02 +01:00
b0a4dd0f4a Allow >> wihtout index 2021-01-03 20:24:31 +01:00
440e84dcb1 Merge branch 'master' into NthSelector 2021-01-03 15:48:02 +01:00
9ca11fc3db String syntax for the CenterNthSelector
+ refactored CenterNthSelector to match DirectionNthSelector
2021-01-03 15:16:28 +01:00
a3ebdb961d Merge pull request #557 from jmwright/master
Updated changelog and version numbers
2020-12-30 05:47:23 -05:00
be8551097e Updated changelog and version numbers 2020-12-29 10:53:14 -05:00
e6feeb9916 Expose makeWire to parametricCurve 2020-12-27 22:20:18 +00:00
e19a05d023 ParallelDirSelector now filters for geomType() == "PLANE"
In certain circumstances this will be breaking, most commonly when using
DirectionNthSelector and there was previously a non-planar face in the
list. In this case eg. ">X[2]" will have to become ">X[1]".
2020-12-25 14:30:02 +10:30
88714975ff More tests for selectors 2020-12-19 15:41:04 +10:30
2d3fc607e6 Code formatting 2020-12-19 13:40:45 +10:30
5b90385539 Mypy fixes 2020-12-18 20:25:00 +01:00
82a043a0be Assembly hierarchy - 2nd take (#545)
* Reworked nested assy querying

* Support subclassing

* Added docstring
2020-12-18 08:40:24 +01:00
344651d1b3 Added CenterNthSelector and tests
Resolves #530.
2020-12-18 15:14:08 +10:30
ad078c70f3 Code formatting 2020-12-18 14:46:00 +10:30
6d2f3ba7b9 Refactored selectors
Added NthSelector abstract class and refactored RadiusNthSelector,
DirectionMinMaxSelector and DirectionNthSelector. Closes #517.
2020-12-18 14:46:00 +10:30
ac585b4ff1 Add glue option to combine() (#535)
* Update cq.py

Add glue option to combine()

* Update test_cadquery.py

Add test of glue=True to combine()

* Update test_cadquery.py

update testcombine()

* Update cq.py

Reformat combine()

* Reformat Black

* Update test_cadquery.py

Added tol=None to testCombine()

* Update test_cadquery.py

Correct testCombine()

* Update test_cadquery.py

* Update test_cadquery.py

* Update test_cadquery.py

Black formatting

* Update test_cadquery.py
2020-12-11 08:56:06 +01:00
a03648c842 Change to ProjectedOrigin (#532)
* Change to ProjectedOrigin

* Fix most tests

* Fix remaining tests

* Fix example building

* Update selector docs

* Fix the bottle+formatting changes

* Renamed centered to xycentered

* Ignore utils for coverage calculation
2020-12-08 18:32:57 +01:00
c42fa77ac0 Add mirror from face features (with example now fixed) (#527)
* Add the ability to mirror from a selected face

* Fix errors in example.rst

* Add mirror from face features (with example now fixed)

* recommit merge conflicts in shape.py that were stopping CI merging into master

* use correct variable name when selecting face

* formatting with black v19 instead of black v21

* add missing string literal types and clean up docstring

* Add volume assertions to the test cases

* black formatting

* Mypy fix

* Restructured mirror

* update examples to use basePoint instead of basePointVector

* Add tests for other workplane strings and non union option to increate code coverage

* Add test to check that exception is thown for incorrect input

* Go back to basePointVector

* Update arg naming in examples

* Mirror all objects

* Typo fix

Co-authored-by: Adam Urbańczyk <adam-urbanczyk@users.noreply.github.com>
2020-12-08 08:26:53 +01:00
cf275b0ec0 Constraints docs [WIP] (#524)
* Initial version of the constraints docs

* Adding the assy section

* apireference cleanup

* Include cutouts

* Roadmap cleanup

* _query cleanup

* Black fix

* Add RadiusNthSelector again

* Typo fix

* Paste error fix

* Show detailed selector docs

* Another typo fix

* Mention other constrain overload

* Added test for end()
2020-11-30 13:41:34 +01:00
3914bc3445 occ_impl doc strings (#491)
* Added and cleaned up some docstrings for Shape

* a typo
2020-11-30 11:58:15 +01:00
b22436c59e Implement tag based constraint definition (#514)
* Refactor tags

* Use pyparsing for query parsing and implement tags

* Black and mypy fixes

* Allow "_" in names and tags

* Added tests

* Fixed constrain with tag test

* Better docstring for _query

* Typo fix
2020-11-24 17:46:21 +01:00
78d100dd05 Merge pull request #504 from marcus7070/marcus7070/edgeRadius
Radius selector
2020-11-20 07:01:50 -05:00
ec9cd46ea6 Merge pull request #482 from CadQuery/vrml-export
VRML export
2020-11-19 08:52:03 -05:00
821886f08a Add Mac OS exception to Mixin1D.radius 2020-11-18 20:32:10 +10:30
255b464509 Added RadiusNthSelector 2020-11-18 19:39:20 +10:30
3136ede020 Added radius method to Mixin1D 2020-11-18 19:39:17 +10:30
28d6089527 Expose mode for sweep operations. (#496)
* Expose mode for sweep operations

* Additional sweep functionality

* Fix sweep in cq

* Expose the new sweep args in Workplane

* fixed aux spine handling

* sweep test with a fixed normal

* Test aux spine sweep

* Added more tests

* Reformat sweep docs
2020-11-10 16:51:11 +01:00
65f9608f54 Implement locations() for Wires (#475)
* Implement locations() for Wires

* Fix errors

* Test for locations on a wire

* Refactored Mixin1D

* Mypy fixes and more refactoring

* black fix

* Moved _geomAdaptor to concrete classes

* Add positionAt

* Added positions()

* positions() and positionAt() test

* Better tests

* Extended tangentAt and added docstrings

* Test for tangentAt

* Fixed defects

* Doc fix attempt

* Use autoclass on Mixins

* specify full name in sphinx
2020-10-30 22:31:51 +01:00
5b5d8e0572 More consistent handling of BoundaryBox tolerance (#490) 2020-10-24 15:31:29 +02:00
cac5cf92f1 Create a child workplane on a vertex (#480)
* add parent face detection to workplane()

* Update cq.py

* add nonetype check and tests

* fixed test formatting

* mypy fix attempt

Co-authored-by: Adam Urbańczyk <adam-urbanczyk@users.noreply.github.com>
2020-10-15 21:10:49 +02:00
f4ca83315a Go back to the older format 2020-10-14 19:19:39 +02:00
36ce899dfe Simple shape vrml export 2020-10-14 19:01:01 +02:00
6f8aca8299 Added mesh method 2020-10-14 19:00:47 +02:00
5b5fa71620 Switch to XCAF format 2020-10-14 18:51:30 +02:00
3a50edd27d Merge pull request #453 from cactrot/fontPath
Font path
2020-10-14 11:42:33 -04:00
c3e9ef5485 Fixed parametricCurve() to use correct stop point (#477) 2020-10-13 08:43:47 +02:00
a947d0b4be Formatting fix 2020-10-11 16:09:53 +02:00
cea5bf6c6c Rework makeText
Use name based on the path for registering
2020-10-11 14:40:48 +02:00
292a0d8d0a Merge pull request #440 from CadQuery/assembly
Assembly support
2020-10-01 06:48:06 -04:00
8f62fc54dd Review fixes 2020-10-01 08:33:03 +02:00
f6bf019277 Nth selector rounding (#461)
* Update shapes.py

Add the option to specify a path to the font.

* Revert "Update shapes.py"

* Update selectors.py

Change rounding calculation to produce 4 digits for self.TOLERANCE = 0.0001 rather than 10000.
2020-09-30 21:41:15 +02:00
ba7830d405 Do not touch the original parent 2020-09-30 18:31:48 +02:00