Commit graph

2068 commits

Author SHA1 Message Date
Jonathan Wagenet
f87cee3134 Added plane_symbol() and better var names and typing to resolve #899 2025-03-10 00:21:09 -04:00
Jonathan Wagenet
1b63aa3469 Helix: clarify how cone_angle changes the radius to resolve #761 2025-03-09 23:57:33 -04:00
gumyr
b1f0eedfcb Add very minimal support for CompSolid 2025-03-08 09:24:47 -05:00
Roger Maitland
201e95cd53
Merge pull request #930 from jwagenet/docstring-updates
Revise docstrings for build objects
2025-03-08 08:23:30 -05:00
Jonathan Wagenet
7b55eb100a
Merge branch 'dev' into docstring-updates 2025-03-07 18:19:37 -08:00
Jonathan Wagenet
7595040416 Change add/subtract to create 2025-03-07 21:15:19 -05:00
Roger Maitland
d064c0d97f
Merge pull request #931 from jwagenet/polarline
PolarLine() make localized direction a unit vector to only scale by length
2025-03-07 09:10:38 -05:00
Jonathan Wagenet
c51410b1c8 Polarline: update docstring 2025-03-06 10:01:22 -05:00
Jonathan Wagenet
7670466398 PolarLine update: add direction to docstring, make direction unit vector, update tests for angle/direction parity
Previously, when using direction, the result was a line made by direction and scaled by length. This doesn't seem like intuitive/expected behavior based on how length + angle works. Behavior is trivially accomplished by Line((0, 0), float * Vector)
2025-03-05 20:45:34 -05:00
Jonathan Wagenet
fcbd027137 Update object_*.py docstrings for more consistency and clarify how parameters work
General improvements:
- follow a similar opening structure
- add specificity to description and args
- remove plurality (sketch, part)
- remove hanging end stops from lists
- try to specify viable enums if mentioned and CAPITALIZE
2025-03-05 18:35:23 -05:00
jdegenstein
07ff964b2b
Merge pull request #912 from fischman/ttt-unbreak-and-test
TooTallToby tutorials: unbreak and test.
2025-03-05 10:09:22 -06:00
jdegenstein
4027664a8c
Update test.yml 2025-03-05 09:56:39 -06:00
Ami Fischman
789ff73744 Exclude benchmarks from test github workflow. 2025-03-04 16:14:09 -08:00
Ami Fischman
5a79f264f3 test_benchmarks: drop the copies of the TTT examples in test code and instead use the versions from the docs/assets/ttt directory. 2025-03-04 16:14:09 -08:00
Ami Fischman
0085306461 TooTallToby tutorials: unbreak and test.
- Unbreak the three broken tutorials (fixes #848)
  - This involved a rewrite of PPP-01-10 because I already had my own
    solution to that one and I couldn't easily tell what was going
    wrong with the previous solution.
- Add assertions to all the tutorials so that non-raising means success
- Add the TTT examples to `test_examples.py` added recently for #909
- Also added sympy to development dependencies since one of the TTT
  examples uses it.
2025-03-04 16:14:09 -08:00
gumyr
10a466f645 Improving geometry eq/hash to enable sets 2025-03-04 10:01:49 -05:00
gumyr
25f46261a4 Merge branch 'dev' of https://github.com/gumyr/build123d into dev 2025-03-04 09:51:41 -05:00
gumyr
8ba128c273 Improved to remove face duplicates 2025-03-04 09:51:22 -05:00
Roger Maitland
e9c6b93cb7
Merge pull request #914 from fischman/test-speedup
Avoid deepcopy'ing Shape.topo_parent.
2025-03-03 18:56:10 -05:00
Roger Maitland
f79fba45bc
Merge pull request #923 from mingmingrr/dev
Update type signature for component getters
2025-03-03 18:48:32 -05:00
mingmingrr
dce0c5dc1b Update type signature for component getters 2025-03-01 14:56:14 -05:00
Roger Maitland
17f16b6b97
Merge pull request #917 from jdegenstein/lib3mf_official
feat: switch to lib3mf official pypi release from py_lib3mf
2025-02-27 18:12:58 -05:00
jdegenstein
acb22b5dec
mypy.ini -> change py_lib3mf to lib3mf 2025-02-27 16:08:10 -06:00
jdegenstein
01cf1082b6
Update mesher.py -> use lib3mf instead of py_lib3mf 2025-02-27 15:59:43 -06:00
jdegenstein
485bfa1f87
pyproject.toml -> switch to the official lib3mf release on pypi 2025-02-27 15:54:13 -06:00
Ami Fischman
4d8dfe16a8 Avoid deepcopy'ing Shape.topo_parent.
Speeds up benchy example from 27s to 5.5s.
2025-02-24 15:58:25 -08:00
gumyr
1d89804417 Added GeomEncoder for JSON deprecating LocationEncoder 2025-02-24 15:36:58 -05:00
Roger Maitland
1c9cd019a2
Merge pull request #911 from fischman/parallel-test-execution
Run tests in parallel by default, and update CONTRIBUTING.md
2025-02-22 15:20:49 -05:00
Roger Maitland
8aeee30968
Merge pull request #910 from fischman/test-examples
Add a new TestCase that asserts that examples exit successfully.
2025-02-22 15:14:51 -05:00
Ami Fischman
bda0a6a719 Run tests in parallel by default, and update CONTRIBUTING.md to recommend this flow.
test_mesher.py was reusing the same filename across tests which meant
that when running in parallel tests would stomp on each
other. Robustified by having each test use a distinct file name.
2025-02-22 11:37:58 -08:00
Ami Fischman
80097a9227 Add a new TestCase that asserts that examples exit successfully.
Examples changes that were necessary:
- loft.py: failed on macos (only) because of (seemingly) over-precise
  floating-point accuracy assertion. Loosened the tolerance, and
  expressed it as a multiple of the expected value.
  > AssertionError: delta=0.002982314711971412 is greater than tolerance=0.001; got=1306.3375467197516, want=1306.3405290344635
- packed_boxes.py: only emit output files when GEN_DOCS is
  True (mimicking lego.py).
2025-02-22 10:11:06 -08:00
gumyr
aeb6b32b65 Fixing examples, PR #910 2025-02-22 10:55:46 -05:00
Roger Maitland
bc2c06ba52
Merge pull request #908 from snoyer/import_svg-align
add `align` parameter to `import_svg`
2025-02-22 09:45:17 -05:00
snoyer
8e4aa3370d add align parameter to import_svg 2025-02-21 20:28:06 +04:00
gumyr
40cf1437ed Updated edges() to use WireExplorer when appropriate Issue #864 2025-02-20 11:14:26 -05:00
gumyr
2d84e6ebdf Limiting ocpsvg version 2025-02-19 18:20:46 -05:00
gumyr
0208621fd7 Adding Face.radii, Face.is_circular_convex, Face.is_circular_concave, rename Face.rotational_axis to Face.axis_of_rotation 2025-02-19 11:20:06 -05:00
Roger Maitland
ffc3eba177
Merge pull request #905 from snoyer/axis-props
make `Axis.position` and `Axis.direction` properties
2025-02-17 20:03:17 -05:00
gumyr
39b4fc20dc Ported PR #875 to refactored topology 2025-02-17 19:53:05 -05:00
snoyer
e0e5d0d368 make Axis.position and Axis.direction properties 2025-02-15 19:32:43 +04:00
gumyr
838933be37 Fixing citation date 2025-02-14 13:45:38 -05:00
gumyr
bcda478867 Adding a citation 2025-02-14 13:43:55 -05:00
gumyr
36e7958574 Covering Face properties corner case 2025-02-12 20:55:26 -05:00
gumyr
fd44037ef6 Adding Face radius and rotational_axis properties 2025-02-12 19:28:25 -05:00
gumyr
f6f916725e Fixed handling of wrapped object 2025-02-11 11:33:11 -05:00
gumyr
f22f54af5f Covering Face.axes_of_symmetry corner cases 2025-02-08 14:46:13 -05:00
jdegenstein
b64ab34407
Merge pull request #897 from jdegenstein/from_bb
fix: mypy type checking in Solid.from_bounding_box
2025-02-06 22:00:29 -06:00
jdegenstein
9c47669118
Merge pull request #896 from luzpaz/typos-source
Fix source typos
2025-02-06 21:57:14 -06:00
jdegenstein
8b53e1ab3c fix: mypy type checking in Solid.from_bounding_box 2025-02-06 21:40:25 -06:00
jdegenstein
b64807fccc add oriented bounding box support to Solid.from_bounding_box and tests 2025-02-06 21:16:14 -06:00