Commit Graph

32494 Commits

Author SHA1 Message Date
Ajinkya Dahale
fc3086a96e [Sketcher] Fix some coincidence issues in B-spline drawing
See https://github.com/FreeCAD/FreeCAD/pull/8530#issuecomment-1474824366.

When there are already existing points and coincidence auto-constraints are
added in the process of making a B-spline (either by control points or
interpolation), unintended behaviour can happen.

Additionally, when creating B-spline by interpolation, if consecutive points are
coincident (or very close to each other), the OCCT algorithm fails. This is also
prevented in this commit.
2023-03-24 16:30:48 +01:00
Ajinkya Dahale
60e79a14e4 [Sketcher] Fix corner-case issue creating periodic b-splines
See: https://github.com/FreeCAD/FreeCAD/pull/8530#issuecomment-1474824366.
2023-03-24 16:30:48 +01:00
Ajinkya Dahale
d2d69e274c [Sketcher] Run clang-format on DrawSketchHandlerBSplineByInterpolation.h 2023-03-24 16:30:48 +01:00
Ajinkya Dahale
d6060c79aa [Sketcher] Clear out some TODOs and other comments 2023-03-24 16:30:48 +01:00
Ajinkya Dahale
02558f3793 [Sketcher] Fix and support periodic B-spline by interpolation
This commit is part of a project funded by the Open Toolchain Foundation under
the title "Open Toolchain Foundation - Curve drawing tool in Sketcher
Workbench".
2023-03-24 16:30:48 +01:00
Ajinkya Dahale
bae30c6bd7 [Sketcher][planegcs] Fix knot position in non-uniform B-spline
The default factors set in `addConstraintInternalAlignmentKnotPoint` does not
work if the knots around a C1 knot are not equally far.
2023-03-24 16:30:48 +01:00
Ajinkya Dahale
176562c60d [Sketcher] Disable degree setting in B-spline by interpolation
This commit is part of a project funded by the Open Toolchain Foundation under the title "Open Toolchain Foundation - Curve drawing tool in Sketcher Workbench"
2023-03-24 16:30:48 +01:00
Ajinkya Dahale
ab64e2251d [Sketcher] Add missing GUI elements for B-spline by knots
Commented out the periodic version for now since they don't work completely well.

This commit is part of a project funded by the Open Toolchain Foundation under the title "Open Toolchain Foundation - Curve drawing tool in Sketcher Workbench"
2023-03-24 16:30:48 +01:00
Ajinkya Dahale
944c31cf7b [Sketcher] Add icon for B-Spline by interpolation tool
This commit is part of a project funded by the Open Toolchain Foundation under the title "Open Toolchain Foundation - Curve drawing tool in Sketcher Workbench"

[Sketcher] Add better icons for `CreateBSplineByInterpolation`

Courtesy @paddlestroke.
2023-03-24 16:30:48 +01:00
Ajinkya Dahale
7c1a2d738e [Sketcher] Support variable multiplicities in B-splines
As a side-effect also prevents a segfault possible by providing just 3 points.

[Sketcher] Clarify that mults might not be followed

Some examples when this may be ignored include:
1. A number higher than 3 is given (because cubic B-splines are created)
2. If the knots just before and just after have multiplicities >=3, the piece
between these two is fully continuous, and this (middles) point will only be
constrained with point-on-object.

This commit is part of a project funded by the Open Toolchain Foundation under the title "Open Toolchain Foundation - Curve drawing tool in Sketcher Workbench"
2023-03-24 16:30:48 +01:00
Ajinkya Dahale
3e5f3a9a57 [Sketcher] Constrain first pole weight in exposeInternalGeometry
This commit is part of a project funded by the Open Toolchain Foundation under the title "Open Toolchain Foundation - Curve drawing tool in Sketcher Workbench"
2023-03-24 16:30:48 +01:00
Ajinkya Dahale
b8956d3f1b [Sketcher] [WIP] Add periodic B-spline support for interpolation DSH
This commit is part of a project funded by the Open Toolchain Foundation under the title "Open Toolchain Foundation - Curve drawing tool in Sketcher Workbench"
2023-03-24 16:30:48 +01:00
Ajinkya Dahale
bc98757da8 [Sketcher] Fix typos caused by copying content in new DSH
Some parts of `DrawSketchHandlerBSplineByInterpolation` were taken from
`DrawSketchHandlerBSpline` but not modified to reflect the differences.

This commit is part of a project funded by the Open Toolchain Foundation under the title "Open Toolchain Foundation - Curve drawing tool in Sketcher Workbench"
2023-03-24 16:30:48 +01:00
Ajinkya Dahale
9c0b75ddf0 [Sketcher] Clarify keyboard input for B-spline DSH
Specifically, when drawing by interpolation, only cubic splines are currently
supported.

Some related "TODO" comments are also removed or modified.

This commit is part of a project funded by the Open Toolchain Foundation under the title "Open Toolchain Foundation - Curve drawing tool in Sketcher Workbench"
2023-03-24 16:30:48 +01:00
Ajinkya Dahale
fc05c6bae3 [Sketcher] Create DSH for drawing B-splines by interpolation
Only creates 1-degree splines by describing knots.

This commit is part of a project funded by the Open Toolchain Foundation under the title "Open Toolchain Foundation - Curve drawing tool in Sketcher Workbench"
2023-03-24 16:30:48 +01:00
marioalexis
852fd2b5d5 Fem: Add option to select default solver when creating Analysis 2023-03-24 15:40:54 +01:00
Uwe
249829913b [FEM] implement further object addition mode
- for e.g. the solver objects it is important that the added equations are visible in the TreeView
- also improve activation of analyses for documents with multiple analyses: one activates one and can then subsequently add an object to it because the activation will also select
2023-03-24 07:22:27 +01:00
Uwe
4acc78844b [TD] GeometryMatcher.cpp: fix compiler warning
about unused variable
2023-03-24 06:16:31 +01:00
Uwe
4c8806765a [FEM] auto-activate Analyses
- this PR addresses a long-standing annoying issue: You are already in the FEM WB and load a file.
  Then you cannot just start but first have to activate the Analysis. But one is in the FEM WB to work with analyses.
2023-03-24 06:05:54 +01:00
Uwe
e004c5bab9 [Gui] Application.cpp: fix too long lines
- for better readability (less scrolling in the IDE)
2023-03-24 04:38:45 +01:00
Chris Hennes
4fc730db2b Addon Manager: Fix wiki macro icon cleanup 2023-03-23 21:49:05 -05:00
Uwe
e69ddeb036 [FEM] don't add CCX solver by default for new analyses
- if there are other solvers found, we should handle all solvers equally
- also reduce amount of console output on every analysis run
2023-03-24 03:25:02 +01:00
Uwe
474eddf4b6 [FEM] implement new object addition mode
- for e.g. the Elmer equations it is important that one can add several equations subsequently and that the added equations are visible in the TreeView
2023-03-24 02:43:01 +01:00
Uwe
d7fbcac4b8 [FEM] remove unused code
- remove commented-out code that is in Python since years
2023-03-24 02:42:19 +01:00
Uwe
76cbba39de [FEM] Elmer: group mechanical equations
- also simplify code to check for existing analysis
2023-03-24 01:59:46 +01:00
sliptonic
fd344066c7 Change file license to CC4.0
I have discussed with mlampert via email and he agreed to all changes
2023-03-23 23:55:10 +01:00
Chris Hennes
30e815a69d Merge pull request #9008 from Syres916/patch-73
[App] Urgent Backout commit cb21604
2023-03-23 11:27:51 -05:00
Syres916
2ed96078c5 [App] Urgent Backout commit cb21604
cb21604494 Humble apologies, back to the drawing board and more testing required.
2023-03-23 15:04:38 +00:00
Chris Hennes
c32ee26b8d Merge pull request #8923 from Ondsel-Development/toponaming-p1-4
[Core] Create `ElementMap.h` and tests
2023-03-23 09:40:56 -05:00
0penBrain
814bc2f998 CI: update licencing texts 2023-03-23 15:39:41 +01:00
Chris Hennes
1f2f457737 Addon Manager: Fixes #9001, icon was string 2023-03-23 09:39:20 -05:00
Uwe
dfbc6b168e [FEM] activate spring constraint
- the spring constraint is currently unused but it can be used for Elmer mechanical analyses
This PR does so and also overhaul the dialog UI.
- use the spring constraint also in an example file
2023-03-23 15:14:50 +01:00
0penBrain
ab01f8e143 Sketcher: use default palette text color for normal solver messages
These messages had a forced black color which is a problem when using
 OS dark themes.
2023-03-23 10:50:01 +01:00
0penBrain
de796b6d19 CI: introduce cleanup workflow 2023-03-23 10:49:22 +01:00
Uwe
86a5acbca8 [FEM] add example file for deformation 2023-03-23 06:17:09 +01:00
wandererfan
85216bd127 [TD]Lint/Tidy/Review comments applied 2023-03-22 20:09:35 -04:00
wandererfan
68d739b061 [TD]autocorrect default to true 2023-03-22 20:09:35 -04:00
wandererfan
b9fa9cb33e [TD]corrupt dim reference detect and correct 2023-03-22 20:09:35 -04:00
Uwe
7fd12f8454 [FEM] improve displacement constraint
- use a Distance and Angle property to get the unit handling right
2023-03-23 00:50:40 +01:00
Chris Hennes
633eb24f88 Merge pull request #8955 from wwmayer/issue_8556
Move image loading to core
2023-03-22 16:00:43 -05:00
wmayer
b0e9c455a6 Fem: fix warning field 'dimension' will be initialized after field 'ui' [-Wreorder-ctor] 2023-03-22 20:37:29 +01:00
wmayer
956a0f2531 Import: issue #8884: C++ DXF importer never imports text (annotations
This reverts commit e1ebcef39e
2023-03-22 20:09:20 +01:00
Uwe
97103b3bf3 [FEM] use std::unique_ptr for all dialog objects
- also fix too long line
- also further clang automatic code style changes
2023-03-22 20:08:13 +01:00
Abdullah Tahiri
48a921d2b7 NotificationBox: Clang format 2023-03-22 19:13:32 +01:00
Abdullah Tahiri
26e48cb63a NotificationArea: Clang format 2023-03-22 19:13:32 +01:00
Abdullah Tahiri
23739bc2d0 NotificationArea: Change Icon color to indicate missed notifications 2023-03-22 19:13:32 +01:00
Abdullah Tahiri
c2b48fbe91 Resources: New Intray icon 2023-03-22 19:13:32 +01:00
Abdullah Tahiri
885824f8c8 NotificationArea: Preference dialog add preferences to control inactive window behaviour 2023-03-22 19:13:32 +01:00
Abdullah Tahiri
83eca46308 NotificationArea: Parameters to control inactive notification show behaviour 2023-03-22 19:13:32 +01:00
Abdullah Tahiri
76892d918d NotificationBox: Convert options to enum class 2023-03-22 19:13:32 +01:00