Commit Graph

1098 Commits

Author SHA1 Message Date
wmayer
7a7c0081c3 Part: Add overloaded methods of GeomBSplineCurve::approximate 2024-04-03 18:06:00 +02:00
PaddleStroke
956841056e Sketcher: Symmetry fix #13164 2024-04-01 11:20:40 -05:00
PaddleStroke
6f817fa190 Sketcher: Chamfer Fix #13049 2024-04-01 11:04:02 -05:00
sliptonic
d82ee98d46 Merge pull request #12602 from FlachyJoe/arc-distance
Sketcher : ArcLength Constraint
2024-04-01 10:43:35 -05:00
bgbsww
51a311e6fb Toponaming/Part: Bug fix for #13169 while we sort this out 2024-03-27 21:33:57 -05:00
bgbsww
8d5385fcd2 Clean, enable disabled element map code in sketcher, add tests 2024-03-25 21:51:41 -04:00
Zheng, Lei
8dd6863414 Toponaming/Part: Move sketcher override of getElementName over 2024-03-25 21:51:41 -04:00
Florian Foinant-Willig
311137c958 fix undeclared M_PI 2024-03-25 22:32:20 +01:00
Florian Foinant-Willig
ef35ec195d Sketcher : ArcLength Constraint 2024-03-25 22:32:20 +01:00
PaddleStroke
a8adc573f8 Sketcher: Symmetry tool rework. 2024-03-25 17:48:01 +01:00
luzpaz
65cdbe3e89 Fix various typos throughout the codebase (#13029)
* Fix various typos throughout the codebase

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-03-18 16:54:30 -05:00
PaddleStroke
58975135f4 Sketcher: Chamfer tool (and fillet refactor) 2024-03-18 13:23:54 -04:00
Ladislav Michl
d95b56137b Base: Implement TimeElapsed
Some instances of TimeInfo serve the sole purpose of measuring time
duration. Using system time is unfortunate as it returns wall clock,
which is not guaranteed to be monotonic. Replace such a usage with
the new TimeElapsed class based on steady clock.
2024-03-05 12:29:24 +01:00
wmayer
63eb83c8f3 Sketch: fix compiler warning
Fix warning: add explicit braces to avoid dangling else [-Wdangling-else]
2024-03-04 23:15:42 -06:00
Josh Coalson
fbd8767242 Part: Rename AttachExtension::Support property to AttachmentSupport, to avoid name conflict with base features. Fixes #7052 2024-03-04 18:22:43 +01:00
Ajinkya Dahale
9c774710be [Sketcher] Join curves with C1 continuity
If endpoint-to-endpoint tangent constraint exists between the connecting points
of the curves to be joined, also apply C1 continuity (i.e. a knot multiplicity
of degree-1).
2024-02-27 09:57:52 -06:00
Ajinkya Dahale
19b68b9862 [Sketcher] Include endpoint-to-endpoint tangency as coincidence
Coincidence is implied as part of this particular variety of tangent constraint.
2024-02-27 09:57:52 -06:00
Ajinkya Dahale
26e7b0a704 [Sketcher] Use angle-via-two-points in e2e with BSplines 2024-02-27 09:57:52 -06:00
Ajinkya Dahale
4087f1e508 [planegcs] Add ConstraintAngleViaTwoPoints
Needed for B-spline to B-spline end to end tangent. The end point of one is for
now not usable in to get normal at the other.
2024-02-27 09:57:52 -06:00
wmayer
64a91968a3 MSVC: fix compiler warnings 2024-02-25 00:12:34 +01:00
wmayer
78ffa29629 Sketcher: expose the LabelDistance and LabelPosition members of Constraint to Python 2024-02-25 00:10:56 +01:00
wmayer
5eabeff94e Mod: fix several compiler warnings:
* fix -Wsometimes-uninitialized
* fix -Wunused-parameter
* fix -Wunused-variable
* fix -Winconsistent-missing-override
* fix -Wsign-compare
* fix -Wreorder-ctor
* fix -Wtautological-overlap-compare
2024-02-12 11:39:32 -06:00
Ajinkya Dahale
ed07bda10e [planegcs] Simplify GCS::BSpline::CalculateNormal() 2024-02-08 23:46:17 +05:30
Ajinkya Dahale
3ce1221c8f [planegcs] Add SketcherExport macro to classes in Geo.h
...for use in tests.
2024-02-08 20:15:17 +05:30
Ajinkya Dahale
8dabe024d8 [planegcs] Implement BSpline::Value()
Needed for gtests currently.
2024-02-08 20:04:28 +05:30
Ajinkya Dahale
473d11fcc6 [planegcs] Remove some numerical testing
If needed this can be moved to a gtest,
2024-02-08 20:04:28 +05:30
Ajinkya Dahale
cf3e0c1b4a [Sketcher] Expose general tangency with B-splines to Sketcher
The following commits were squashed into this

[Sketcher] Handle some corner cases in AngleViaPoint

[Sketcher] Avoid redundant constraints with B-splines...

When involving tangent, perpendicular and angle constraints.

[Sketcher] Add pre-commit changes

[Sketcher] Do not allow 2-selection tangent with B-spline

Also...

[Sketcher] Report error when using direct tangency with B-splines

[Sketcher] Fix malformed constraint when B-spline is selected second

To clarify, this means the second curve selected. The position of the point in
selection order does not matter in angle-via-point.

[Sketcher] Fix wrong number for B-Spline tangent on redundancy

[Sketcher] Remove existing point-on-object in some redundant cases

Particularly when point constrained on a B-spline is being used for
tangent, perpendicular or angle via point with the same B-spline.

[Sketcher] Fix direction issue with B-spline tangents.

Without these changes the solver might try to "twist" the B-spline to make the
angle between curves be 0 instead of PI (which may be closer to the initial shape).
2024-02-08 20:04:28 +05:30
Ajinkya Dahale
0dd55072dc [planegcs] Implement calculateAngleViaParams
For use in angle-via-point with complex curves.
2024-02-08 20:04:27 +05:30
Ajinkya Dahale
c3e6f58b90 [Sketcher][planegcs] Implement parametric BSpline::CalculateNormal
As opposed to "punctual" that already exists for curves.
2024-02-08 20:04:27 +05:30
Ajinkya Dahale
d8a050303a [Sketcher][planegcs] Support angle via point with params
These are intended to use when calculating normal simply with points could be
numerically expensive or otherwise nonviable.
2024-02-08 20:04:27 +05:30
PaddleStroke
30bea2dd8e Sketcher: Fix sketcher_Copy bug when a single geometry was copied, geoId was not correct in constraints. 2024-01-30 17:26:42 +01:00
Paddle
85b5a343f0 Sketcher: PythonConverter: Replace useLastGeoIdVar bool by enum class 2024-01-20 06:49:32 +01:00
Paddle
f0c491ef79 Sketcher: python converter : add possibility to add lastGeoId to the constraint process. 2024-01-19 11:13:53 +01:00
Paddle
30e2a109e6 PythonConverter: Extend for Hyperbola/Parabola/BSpline 2023-12-20 06:59:47 +01:00
Paddle
f877de3015 GeometryFacade : Add static getInternalType and setInternalType 2023-12-20 06:59:47 +01:00
Paddle
cda68e913c Sketcher: Add support for adding internal alignment constraints independently 2023-12-20 06:59:47 +01:00
Abdullah Tahiri
ed14b2c845 Sketch: Distance - fix uninit pointers and scope 2023-12-17 16:01:29 +01:00
Florian Foinant-Willig
7343bf940b Sketcher: Extend distance constraint to arcs 2023-12-17 16:01:29 +01:00
Florian Foinant-Willig
838802e28d Sketcher: Arc to arc or circle distance constraint 2023-12-17 16:01:29 +01:00
Chris Hennes
b70eb6a173 Merge pull request #11507 from Ondsel-Development/constr_primitives
[Sketcher] Improve angle & radius constraint rendering
2023-12-04 10:48:20 -06:00
Abdullah Tahiri
c34bc88d66 Sketcher: Solver - Remove outdated request for reporting 2023-12-04 16:32:23 +01:00
Paddle
bf54c1f1ca When moving an angle, we did not take into account the case where they are reversed. This fixes that. 2023-11-24 15:07:30 +01:00
mosfet80
2b2a20d9d9 [planegcs] Removed unused code. (#10684)
* Revert cleanplanegcs: removed unused code, removed redefinition of pi
* Sketcher: Switch pi refs to double and constexpr
* Modify code to use the new pi constant immediately

---------

Co-authored-by: Chris Hennes <chennes@pioneerlibrarysystem.org>
2023-11-06 14:35:59 -06:00
Paddle
a7e1cba6b0 Sketcher_Dimension: If radius of arc is not DoF, then offer arc angle first. 2023-11-06 14:02:54 -06:00
Chris Hennes
37a8e348c6 Merge pull request #11231 from DeflateAwning/http-cleanup
Find and replace http://freecad to https://freecad
2023-11-06 11:16:13 -06:00
Chris Hennes
590fb19f31 Merge pull request #10978 from FlachyJoe/modernize-type-check
Modernize type and derived type checking
2023-11-06 10:44:32 -06:00
Abdullah Tahiri
533250bc34 Sketcher Gui: clang-tidy diagnostic errors 2023-11-05 07:11:57 +01:00
DeflateAwning
1e3179e9bc Find and replace http://freecad.org to https://freecad.org
Find and replace:
http:\/\/(.{0,10})freecad
https://$1freecad
Done in all remaining files (after doing it in SVGs in the last commit)
2023-10-29 22:39:22 -06:00
Florian Foinant-Willig
c0e8fa1e75 Sketcher: modernize type checking 2023-10-23 18:09:23 +02:00
Abdullah Tahiri
ead8a9a5d1 Sketcher: Example new type checking template function usage
===========================================================

Just two small refactor examples of how to use the type checking template functions.
2023-10-07 23:12:46 +02:00