Commit Graph

39554 Commits

Author SHA1 Message Date
Yorik van Havre
2e7e01febe BIM: Updated NativeIFC unit tests (#18266)
* BIM: Updates NativeIFC self tests
2024-12-09 11:22:06 -06:00
mwganson
0d32639a11 [core] add copy table and paste table context menu items to App::PropertyVectorList property editor, addresses issue #17804 2024-12-09 18:14:11 +01:00
Chris Hennes
95ced0ecdb Addon Manager: Refactor progress reporting 2024-12-09 18:11:59 +01:00
wmayer
57ad518aeb Gui: Add SoPickStyle node to make an object un-selectable if needed 2024-12-09 18:10:15 +01:00
marioalexis
a6b36f6e57 CMake: Decouple internal SMESH build from Fem build - fixes #18287 2024-12-09 12:09:30 -05:00
Murmele
be8b2de07d Add possiblity to autosave current measurement and restarting new measurement (#17717)
* initial commit to implement more interactive measurement functionality

Files: TaskMeasure.cpp and TaskMeasure.h

* Enable artifacts for easy download

Files: sub_buildWindows.yml

* clearSelection before setting new selection

Files: TaskMeasure.cpp

* No need for mSkipSelectionChange

Reason/Description: Because the next onSelectionChanged will be triggered asynchronly
Files: TaskMeasure.cpp and TaskMeasure.h

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

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

* block selection

* Block selection must be done on the taskMeasure, because it is the signal observer

* Set autosave to false by default

Reason/Description: Because the measurement tool is intended to be a temporary tool
Files: TaskMeasure.cpp and TaskMeasure.h

* Add tooltip

Files: TaskMeasure.cpp

* No need to set the selection style

Reason: Because it was changed to normal, so no need to re set it
Files: TaskMeasure.cpp

* No need to clear and reset the selection

Reason/Description: Because it will be done directly in the application. It was required with greedy selection, but now it is anymore required
Files: TaskMeasure.cpp

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

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

* Revert "Enable artifacts for easy download"

This reverts commit 8118323ab4104ada1fb89eebbe72965c5f2f2b67.

* Move autosave and selection mode into a group box and add a possibility to hide those options

Files: TaskMeasure.cpp and TaskMeasure.h

* Use toolbutton with a normal menu instead of a normal QPushButton

Reason/Description: Because it integrates much better
Files: TaskMeasure.cpp and TaskMeasure.h

* QAction uses a bool for the checkstate

Files: TaskMeasure.cpp and TaskMeasure.h

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

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

* Fix compile warnings

Reason/Description: cleanup and fix warnings
Files: TaskMeasure.cpp and TaskMeasure.h

* Add better tool tip

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

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

* fix typo

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-12-09 11:08:02 -06:00
marioalexis
babc88f40d Fem: Add options for Elmer solver output file - fixes #17569 2024-12-09 12:06:42 -05:00
bgbsww
5266a3b26d Toponaming: Add a plane matching based heuristic to TNP mitigation (#16803)
* Add a plane matching based heuristic to TNP mitigation

* Improve comments, add test
2024-12-09 11:06:02 -06:00
wwmayer
94cf4efd87 CMake: Report use of ccache in the summary (#18245)
Co-authored-by: Chris Hennes <chennes@pioneerlibrarysystem.org>
2024-12-09 11:01:32 -06:00
wmayer
e51eef2195 Import: Fix of alpha channel misinterpretation 2024-12-09 12:00:15 -05:00
Chris Hennes
9bb6c83517 Merge pull request #18182 from oursland/pixi
Add pixi package manager support.
2024-12-09 11:57:13 -05:00
Jonas Bähr
e89fb4a92c PD: Fix error "duplicate command PartDesign_InvoluteGear"
Every time the InvoluteGearFeature python module was imported, and we're
in GUI context, the command "PartDesign_InvoluteGear" was registered. On
the 2nd (3rd, ...) time, this was reported as an error in the console,
like "error: Command.cpp(1841): duplicate command PartDesign_InvoluteGear"

The first import happens when the PartDesign FreeCAD Module is loaded,
via `InitGui.py`. Subsequent imports may happen when e.g. executing the
involute gear command or when running it's tests via FC's Test WB.

This change now registers the command only then the PartDesign WB is set
up in InitGui, not when importing the python module. The same fix is
applied for sprocket, where the same pattern for command registration
was used.

In addition, the import error catch was removed, which seems to be a copy
paste left-over from the ShaftWizard. In contrast to ShaftWizard,
involute gear and sprocket only use modules from the Python standard lib,
so I think this precaution is not worth the additional complexity, just
for hiding actual errors.
2024-12-09 11:53:23 -05:00
Florian Foinant-Willig
669f108fab fix testGiantHelix* 2024-12-09 17:52:02 +01:00
Florian Foinant-Willig
06ceeb12b6 Fix Arc length look for angle > pi
and factorize some code
2024-12-09 11:51:02 -05:00
wandererfan
0f6809f325 [TD]fix #18050 hidden line color 2024-12-09 17:39:54 +01:00
Vincent
acd2cc9f79 Gui: allow LineEdit to grow with text - fixes #17747 (#18099) 2024-12-09 10:38:54 -06:00
wandererfan
8f8bdd5c93 [TD]add shape validation tool for debugging 2024-12-09 17:37:33 +01:00
Chris Hennes
b160f1afc0 Merge pull request #18244 from wwmayer/space_mouse_runtime
Gui: Add runtime check to choose between modern and legacy space mous…
2024-12-09 11:36:17 -05:00
Yorik van Havre
29ea971777 BIM: Fixed copy-paste bug in nativeifc psets - Fixes #18293 2024-12-09 17:26:55 +01:00
Chris Hennes
ba1b3b1cb7 cMake: Update for LibPack 3.1
LibPack 3.1 removes boost-python and adds pybind11
2024-12-09 10:26:00 -05:00
paul
b1119ccc4f ArchStructure.py : Delete some trailing white space 2024-12-09 12:05:30 +01:00
Paul Lee
3dae0f09f1 [ArchStructure] Variant PropertrySet Support in ArchSketch
Now, user can create :

- Variant Layout / combination of ArchStructure (Slab) in addition to ArchWall and CurtainWall based on same ArchSketch, with another PropertySet
- Variant Properties / layer of ArchWall on same ArchSketch with different Width, Offset, Material, Height etc. to create Layers, Composite walls etc. (Layout, Layer, Combination, Composite, Elemented etc.)

FreeCAD Forum Discussion:

- https://forum.freecad.org/viewtopic.php?t=87721&start=130#p794785
2024-12-09 12:05:30 +01:00
wmayer
0607c555d6 Arch/Draft: Fix transparency vs. alpha issues
Fix #18295
2024-12-09 11:50:14 +01:00
Roy-043
e9e2df05a2 BIM: Improve onChanged Placement code
* Switched Component code to new Comp=True version of code.
* Made the Placement code in both files identical. This also solves that Rotating a BuildingPart was not propagated to children.
2024-12-09 09:30:08 +01:00
Max Wilfinger
24713ce44d Update auto-close_stale_issues_and_pull-requests.yml
Exclude Feature Requests from auto close action
2024-12-09 08:23:18 +01:00
Max Wilfinger
2f42341481 Merge pull request #18268 from marioalexis84/fem-post_pipeline
Fem: Fix FemPostPipeline base class
2024-12-08 21:56:25 +01:00
Johannes Thyssen Tishman
dc03238349 Materials: Check if m_uuid is empty before adding to recents 2024-12-08 15:42:04 -05:00
mosfet80
4e4446c816 Update libs into .pre-commit-config.yaml
https://github.com/psf/black/releases/tag/24.10.0
https://github.com/pre-commit/pre-commit-hooks/releases/tag/v5.0.0
2024-12-08 15:25:23 -05:00
Chris Hennes
76bc4b1182 Merge pull request #15332 from aclex/apply_copy_on_change_calculations
Apply result of calculations with copy on change properties
2024-12-08 15:17:44 -05:00
Alexey Chernov
66e1c0154d Require read-only and output attributes on updated properties
Require the property to be both read-only and output for it to be
updated back from support to binder when calculated with expression in
support.
2024-12-08 15:12:38 -05:00
Alexey Chernov
4db7cd52e6 Use lambda to prevent code duplication 2024-12-08 15:12:38 -05:00
Alexey Chernov
2501296c95 Apply result of copy on change properties
Copy on change properties propagated to SubShapeBinder can be changed
there and then updated in the base body (support). On the other hand,
they might be used in calculation of some other properties in the base
body which could also be copy on change and propagated to the same
SubShapeBinder. It looks natural that these latter properties should be
updated with the calculation results as well.

Example:
Body has copy on change properties A = 200 mm and B = 3 * A = 600 mm.
SubShapeBinder with support of Body has A changed to 300 mm and expects
B = 3 * 300 mm = 900 mm. Without this change B is not updated and equals
to 600 mm in SubShapeBinder as well.
2024-12-08 15:12:38 -05:00
Max Wilfinger
1bb7d2ea3f Merge pull request #17282 from mwganson/points
[Points WB] fix issue where points are inaccurately imported when the…
2024-12-08 20:43:05 +01:00
Max Wilfinger
d37115c692 Update auto-close_stale_issues_and_pull-requests.yml
add exception for Feature Requests
2024-12-08 18:28:45 +01:00
Max Wilfinger
2287f7ad4f Update auto-close_stale_issues_and_pull-requests.yml
only check for PRs not issues in inactive_pr action
2024-12-08 18:17:06 +01:00
Max Wilfinger
8ddede1233 Update auto-close_stale_issues_and_pull-requests.yml
Exception for Issues on PR action
2024-12-08 17:35:18 +01:00
Max Wilfinger
46f561e2c5 add exception for actions/stale to not check and close issues and pr with the 'no-auto-close' label 2024-12-07 17:36:45 +01:00
Max Wilfinger
f94a1e5f90 Added actions/stale for old, inactive issues and inactive PRs
Update and rename stale_issues.yml to auto-close_stale_issues_and_pull-requests.yml
Set ascending: true
2024-12-07 15:13:27 +01:00
FEA-eng
f1995ef76c FEM: ResultsPurge - delete all results objects including pipelines and filters (#18328)
* FEM: Update resulttools.py

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

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

* FEM: Update resulttools.py

* FEM: Update commands.py

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

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

* FEM: Update resulttools.py

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-12-07 07:17:02 +01:00
Chris Hennes
94c57721b2 Merge pull request #17528 from kadet1090/get-object-T-helpers
Gui: Add getObject<T>() helpers to various classes
2024-12-06 19:51:11 -05:00
Kacper Donat
651cefde4d Gui: Use getObject<T>() helpers in classes
This commit is generated using regex based find and replace:

```
s/[\w:]+_cast\s*<([^>]+)\*>\s*\(\s*getObject\(\s*\)\)/getObject<$1>/
s/[\w:]+_cast\s*<([^>]+)\*>\s*\(\s*([^)]*)\s*->\s*getObject\(\s*\)\)/$2->getObject<$1>()/
```

To regenerate if needed.
2024-12-06 18:29:39 +01:00
Chris Hennes
7bd413066f Update src/Mod/Fem/App/FemPostPipeline.cpp 2024-12-06 11:29:37 -06:00
Yorik van Havre
da45328f6f BIM: Fixed lock button with no doc - Fixes #18191 2024-12-06 12:28:09 -05:00
lorenz
a3a0d316b1 cam: remove imghdr import (#18081) 2024-12-06 11:27:36 -06:00
Dan Henderson
95ef2d5147 Path: Add G84/G74 Tapping Operation (#8069) 2024-12-06 11:21:49 -06:00
Kacper Donat
deb15a57e4 Gui: Add getObject<T>() helpers to various classes
Obtaining specific kind of document object is very common task. This
commit introduces handy helper which makes that a lot easier.
2024-12-06 18:19:53 +01:00
Furgo
ad50bb9bef Improve Notification Area settings (#15207)
* Initial UI mockup for notification area settings

* First iteration of adapting the code to the Notification area settings UI reorg

* Remove redundant code to enable/disable widgets

* Reorganize notification area settings UI, improve settings and tooltips text

* Auto-wrap tooltips, add tooltips for each group

* Remove trailing space

* Fix merge error

* Further fixes from merge error

---------

Co-authored-by: WandererFan <WandererFan@gmail.com>
2024-12-06 11:15:52 -06:00
Jiří Mácha
878d9525dc Assembly: migrationScript2 and migrationScript4 improved and refactored
Description of Defects in migrationScript2 and migrationScript4:

Several additional issues have been identified in the Assembly
functions migrationScript4 and migrationScript2, beyond those fixed in
patch 71f0104bb2.

One common problem is that the Joint property Reference1 or Reference2
can be set to an invalid format. For example, user can manually cause
this issue by assigning an incorrect reference (e.g., the Z-axis) to
these properties via the FreeCAD GUI.  When this happens, internal
errors (exceptions and their corresponding Python call stack) are
reported in the Report View.  However, such information is not helpful
for the user to fix their 3D model.

Issues with the Current Implementation (Using migrationScript4 as
Reference):

- Lack of Type Validation for Reference1 and Reference2:

  The script does not check whether joint.Reference1[1] or
  joint.Reference2[1] is a sequence. If this condition is not met,
  statements like:

    sub1 = joint.Reference1[1][0]

  will throw an exception, printing the Python call stack.

- Lack of Length Validation for Sequences:

  The script does not ensure that the sequence length is sufficient
  for indexing. For example, joint.Reference1 and joint.Reference2
  must each have at least two elements to allow:

    joint.Reference1[1][1]
    joint.Reference2[1][1]

  Without validation, such calls can result in exceptions, printing the
  Python call stack.

- No Feedback on Problematic Joint:

  The user is not informed about which Assembly joint in the object
  hierarchy has an invalid Reference1 or Reference2. Depending on the
  size of the 3D model, identifying the defect can be time-consuming
  and frustrating without proper feedback.

This patch is focused on:

- Reporting Problematic Joint Path:

  A new function has been added to retrieve the full path to the
  Assembly joint. The return value (a string) is used to report the
  issue.

- Improved Exception Handling:

  Instead of adding more conditional checks (see above), exception
  handling is implemented. AttributeError, IndexError, and TypeError
  exceptions are caught. The exception message (excluding the call
  stack) is displayed at the end of a user-friendly warning.

- User-Friendly Warnings in the Report View:

  A single-line warning is now shown in the Report View, containing
  the following details:

    - Source of Warning:              'Assembly joint'
    - Location in the 3D Model: e.g., 'Assembly_XY.object_XY.joint_XY'
    - Problematic Attribute: e.g.,    'ReferenceXY'
    - Exception Message: e.g.,        'list index out of range'

- Refactoring and Optimization:

  The functions were refactored and optimized at the end of the
  conversion process.

Advantages:

- Cleaner Report View:
  Internal errors (e.g., Python call stacks) are no longer logged in
  the Report View, as they are not useful for end users. Only the
  exception message is displayed.

- Improved User Feedback:
  Users can now identify the problematic Assembly joint in the object
  hierarchy, saving significant time and effort.

- Robust and Concise Code:
  The solution simplifies the code while increasing its robustness.
2024-12-06 12:13:41 -05:00
marioalexis
726eee50c2 Fem: Fix references assignment in centrif example 2024-12-06 12:12:55 -05:00
Chris Hennes
b87bdc1f84 Merge pull request #18126 from Ondsel-Development/core_LCS2
Core datums : Card2 : Core implementation
2024-12-06 12:12:04 -05:00