Compare commits

...

5651 Commits

Author SHA1 Message Date
Adrian Insaurralde Avalos 256fc7eff3 AddonManager: fix create_pip_call 2025-08-05 17:19:07 -03:00
Adrián Insaurralde Avalos ccc98966e6 WindowsInstaller: use --safe-mode in freecadcmd commands [skip ci] 2025-08-05 10:50:56 -03:00
Adrian Insaurralde Avalos b0127687c2 bump version to 1.0.2 2025-08-03 20:01:51 -03:00
chris 8637434db9 Backport fix for #20656 - fix compilation with occt 7.9 2025-08-03 19:54:58 -03:00
github-actions[bot] 199b4c81d1 [Backport releases/FreeCAD-1-0] Import: DXF, handle non-standard 8859_1 encoding (#22840)
* Import: DXF, handle non-standard 8859_1 encoding (#21905)

* Import: improve DXF importer exception handling

* Import: DXF, pinpoint erroneous header section when reading

* Import: tackle 8859_1 non-standard encoding name

(cherry picked from commit 1e29a3273f)

* Use `Base::RuntimeError` instead of `Base::Exception` since it's constructor is protected in 1.0

---------

Co-authored-by: Furgo <148809153+furgo16@users.noreply.github.com>
Co-authored-by: Adrian Insaurralde Avalos <adrianinsaval@gmail.com>
2025-08-02 11:57:09 -03:00
github-actions[bot] 34b70663d1 Assembly: Fix crash 20614 (#22844)
* Assembly: Fix crash 20614 (#22538)

(cherry picked from commit facfbeb47e)

* adapt to `getMovingPartFromRef` from 1.0 branch

* fix `Console().Warning` has PascalCase name in 1.0

---------

Co-authored-by: PaddleStroke <pierrelouis.boyer@gmail.com>
Co-authored-by: Adrian Insaurralde Avalos <adrianinsaval@gmail.com>
2025-08-01 09:28:01 -03:00
Syres916 1bcf27e1aa [Measure] Fix seg fault in MeasurePosition::execute if subElements is empty (#22016)
* [Measure] take into account if subElements is empty

* [Measure] Remove unnecessary else block

(cherry picked from commit 7e6775d2c0)
2025-07-31 11:18:58 -03:00
Jakub Klinkovský 8c8a418c95 Use vtkUnstructuredGrid::GetLinks instead of vtkUnstructuredGrid::GetCellLinks for VTK >= 9.3
The vtkUnstructuredGrid::GetCellLinks has been deprecated in VTK 9.3 and
silently removed in 9.5:

https://gitlab.kitware.com/vtk/vtk/-/blob/master/Documentation/release/9.3.md
(cherry picked from commit 3d2b7dc9c7)
2025-07-31 11:18:36 -03:00
jffmichi 7317eb3035 CAM: remove redundant move after drilling
(cherry picked from commit 3bce6e3fc9)
2025-07-31 11:17:18 -03:00
Syres916 1dea8f3ca9 [1.0] [Gui] Fix wildcard call disconnects warnings Qt6.9 2025-07-31 10:41:52 -03:00
Syres916 19c54a8a66 [1.0] [GUI] Remove dark fringe around letters 2025-07-31 10:41:34 -03:00
Syres916 e6b82ca9e1 [1.0] [Points] Add e57 to import file extensions 2025-07-31 10:41:18 -03:00
Syres916 7d6bcbc03a [TechDraw] update to align with newer templates 2025-07-31 10:41:03 -03:00
Syres916 8588a85fa1 [1.0] [TechDraw] Fix Qt6 compatability of FillTemplateFields tool 2025-07-31 10:40:46 -03:00
Adrian Insaurralde Avalos faa260f0ce conda ci: use conda cdt packages and run on ubuntu 24.04 2025-07-30 17:53:54 -03:00
Adrian Insaurralde Avalos 42299aefca conda ci: pin compilers on linux and macos 2025-07-30 17:53:54 -03:00
Chris Hennes 3f5f828c25 Tests: Save/restore Materials user prefs
(cherry picked from commit d54ff81870)
2025-07-30 17:53:54 -03:00
Chris Hennes 18dd3f83ed Tests: Ensure tests use a fixture that inits app
(cherry picked from commit 25f1d28468)
2025-07-30 17:53:54 -03:00
Syres916 2255548c52 [CAM] write the post file with UTF-8 encoding
Based on #20421, Fixes #18698
2025-07-28 13:14:44 -03:00
Roy-043 48226c3346 BIM: fix Arch_SectionPlane 'Toggle Cutview' issue 2025-07-11 15:53:40 +02:00
Roy-043 552309b38e Update BimTDPage.py 2025-07-11 15:49:48 +02:00
Roy-043 b78dd00d31 Update ArchSchedule.py 2025-07-11 15:48:52 +02:00
Roy-043 872d98d7df Update ArchAxis.py 2025-07-11 15:47:13 +02:00
Roy-043 8502c09b45 Update BimProjectManager.py 2025-07-11 15:41:04 +02:00
Roy-043 34f8982b81 Update ArchMaterial.py 2025-07-11 15:39:29 +02:00
Roy-043 5921f4cd03 BIM: fix filtering out level issue (#22059)
* Update ifc_status.py

* Update ifc_tools.py
2025-07-11 15:37:08 +02:00
Roy-043 c78d633d07 BIM: fix index error in ifc_viewproviders.py
Fixes #21912
2025-07-11 15:36:21 +02:00
Roy-043 a8bf9a5f41 BIM: Roof add tolerance to parallel check (#21814)
Fixes #21796.
2025-07-11 15:35:29 +02:00
Benjamin Guest e23a81e0c4 TechDraw: Fix dimension alignment issue.
Fixes issue #19121 "dimension numbers placed lower than normal".

Problem:

QGCustomText has a new method `alignmentRect` which can optionally return a
`tightBoundingRect` instead of the regular `boundingRect`. The
`alignmentRect` is used for laying out the `QGIDatumLabel`, however
QGraphicsItemGroup's `childrenBoundingRect` use the childrens'
`boundingRect` and knows nothing of `alignmentRect`. The result is an
improperly sized label and frame and miss alignment. Additionally
`childrenBoundingRect` calculations includes hidden views, so even though
the `m_tolTextOver` and `m_tolTextUnder` are hidden they still affect
the bounding rect size.

Solution:

1. Implement new method `QGIDatumLabel::tightBoundingRect` this
   calculates the bounding rect using the subview's
   `aligmentRect` if there is text in the custom text.
2. Use `tightBoundingRect` in place of `boundingRect` to for the drawing of
   arrows and the exact dim frames.
3. This PR acknowledges that there are some edge case fonts that while not
   clipped may not interface perfectly with arrows and the exact dimension
   frame.
4. Fix vertical alignment of `m_tolTextOver` / `m_tolTextUnder`
5. Incorporate PR Review comments
2025-06-13 20:28:36 -03:00
tritao 010d37deda Standardize on Py::Long type for Python bindings. 2025-05-15 19:59:08 -03:00
Roy-043 5391e21d4e BIM: fix BIM_WPView command (#20741)
* BIM: fix BIM_WPView command

The BIM_WPView command did not work properly. This was mainly due to a faulty import.

* Updated to avoid a linter warning
2025-05-15 11:28:19 +02:00
Roy-043 e94e1d9260 BIM: BIM_Leader would create a wire with fewer than 2 points
If the BIM_Leader was escaped without clicking a point, or after cicking only 1 point, a Draft_Wire object would still be created.
2025-05-15 11:26:29 +02:00
Roy-043 1331b1f4b7 Merge pull request #20529 from Roy-043/Draft-fix-alignment-of-dim-arrows
Draft: fix alignment of dim arrows
2025-05-15 11:25:40 +02:00
Adrian Insaurralde Avalos ba50b8ce79 fedora rpm packaging: fix inverted pcl_enabled conditionals [skip ci] 2025-05-14 09:59:15 -03:00
Adrian Insaurralde Avalos 878f0b8c9c bump version to 1.0.1 2025-05-13 23:58:13 -03:00
Benjamin Nauck eebef0613b Update ondselsolver 2025-05-13 23:58:13 -03:00
Adrian Insaurralde Avalos 2aee1066ef fedora rpm packaging: tweak rpmbuild options
change `bundled_zipios` option to enabled by default, it was wrongly always set to enabled no matter what option was chosen
change `bundled_pycxx` option to enabled by default
add `pcl_enabled` option
2025-05-13 23:58:13 -03:00
Adrian Insaurralde Avalos 5929a5de39 fedora rpm packaging: use standard macro to package sources 2025-05-13 23:54:50 -03:00
ljo 315585ca87 Fix RPM packaging and add support for building with Qt6 and PySide6 for Fedora 40+ (#19565)
(cherry picked from commit afe23a432c)
2025-05-13 19:17:27 -03:00
Leif-Jöran Olsson 54b689fc23 Fixing ambiguiguous python shebang in installed script freecad-thumbnailer. Removed skip ci according to instruction.
(cherry picked from commit fb5ded6e53)
2025-05-13 19:17:27 -03:00
Adrián Insaurralde Avalos 0207f7716a WindowsInstaller: multiple improvements and fixes
update artwork
adapt to conda builds
make msvc redist directory optional
automate version information definition
use relative directories for file locations definitions
improve/update readme
partially update Delete.bat for qt6 libpack
add .gitignore
update signing.bat and add hashing command
2025-05-13 19:17:27 -03:00
Adrian Insaurralde Avalos 7637a991a9 Improvements and fixes on macos sing and notarize script 2025-05-13 19:17:27 -03:00
Syres916 ca9489c740 [App] add MeterDecimal to Unit Scheme Enum (#21275) 2025-05-12 13:14:55 -03:00
Adrian Insaurralde Avalos aa6f2943a9 github ci: use container for ubuntu 20.04 workflow
github deprecated the ubuntu-20.04 runner so it didn't work anymore, some adjustments where necessary
2025-05-11 17:25:18 -03:00
Syres916 deb68996f3 [1.0] [Gui] Fix bottomRight index by correcting last row count 2025-04-28 13:23:22 -03:00
Syres916 32a69b227f Backport of PR19377 and PR19765 to releases/1.0 branch 2025-04-21 11:37:36 -03:00
Roy-043 d9177606f5 Backport of #20436
Draft: Update checked state of grid button when switching the grid
2025-03-26 15:24:34 +01:00
Roy-043 71ba4d58fa Draft: show and hide Tray with delay
Without this delay the Tray may not display if Draft is the start-up workbench.

When the Draft workbench is autoloaded the Tray is shown and then immediately hidden. Because of this, hiding the tray must also happen with a delay.
2025-03-23 11:07:02 +01:00
Roy-043 c4a9c75bcc BIM: HumanFigure.brep: fix typo in create_qrc.py
Fixes #20289

My bad. Because of this typo the brep file was not included in Arch_rc.py.
2025-03-20 18:12:18 +01:00
Roy-043 b9bd1ca9db Draft: fix sweep==0 issue with Draft_Rotate
This is side-issue fixed with #19927. The rest of that PR should not be backported.
2025-03-19 11:26:47 +01:00
Roy-043 a2f3edbbf9 Draft: fix Draft_Edit issue with Gesture navigation
Fixes #19519
2025-03-19 11:19:13 +01:00
Roy-043 912e9a1429 BIM: fix ArchAxis index errors
Fixes #19577

Apparently the ViewObject can be updated before the Shape of the objects has been changed. To catch this the number of edges is checked in the `onChanged` method of the ViewObject.

There was an additional index error if the Limit property was not zero.
2025-03-19 11:10:01 +01:00
GHDE dee64c7c5d fixed openExternalLinks in DlbAbout (FreeCAD#16423) 2025-03-18 23:25:23 -03:00
Furgo 3fffb79426 BIM: include selected objects when creating a level 2025-03-18 23:18:57 -03:00
Adrian Insaurralde 0667e59d01 Fix backport of #19458 on occt 7.3 2025-03-18 17:21:13 -03:00
captain0xff a42141ea13 stop the cursor from flickering while picking a cosmetic vertex in techdraw 2025-03-18 16:13:29 -03:00
Kevin Martin ffec2d3055 Correct Issue 19980 for the 1.0 tree
Make no Change notification if an object's Label, after making it Unique and letting OnBeforeChangeLabel alter it, ends up equal to its current value.
2025-03-18 15:49:44 -03:00
Roy-043 865652822a Draft: make Draft_Edit also detect key up events
The key down events can be claimed by shortcuts from other workbenches. Detecting both the down and up events does not seem to cause problems.
2025-03-18 15:24:36 -03:00
Furgo 7406f274fb BIM: Arch imports ArchSpace methods 2025-03-17 20:11:28 -03:00
PaddleStroke 71a2315a5c Core: Text object: Fix icon of the tab. 2025-03-17 20:09:27 -03:00
PaddleStroke 0fcdecc934 QuickMeasure: Do not measure datums 2025-03-17 20:01:49 -03:00
PaddleStroke edfe5f4958 Fix #20004 2025-03-17 19:51:34 -03:00
j-hap 77269ee53b TechDraw: Fix double free when resetting line formats 2025-03-17 19:36:32 -03:00
Aurélien Pascal 1f42e804d7 TechDraw: Fix hatch drawing (#19458)
* TechDraw: Fix hatch drawing (#16353)

* TechDraw: Fix hatch drawing in Tech View
2025-03-17 19:33:12 -03:00
wmayer 25a3bd1239 Mesh: Workaround to load 3mf files not supported by zipios library
Mesh: Add comment explaining the workaround
2025-03-17 19:31:51 -03:00
Benjamin Bræstrup Sayoc 666600b589 Build: suppress warnings from 3rd party libraries
Warnings from 3rd parties are not relevant and are only polluting the warning output. Marking these libraries as SYSTEM suppresses warning.

https://gcc.gnu.org/onlinedocs/cpp/Invocation.html#index-I
https://gcc.gnu.org/onlinedocs/cpp/System-Headers.html
2025-03-17 18:17:46 -03:00
Adrian Insaurralde 37b5ac7b1c pixi: use cos7 packages on linux-64 2025-03-17 18:17:46 -03:00
Jacob Oursland 144fa63a8b CI: Enable GitHub Problem Matchers for compiler warnings. 2025-03-17 18:17:46 -03:00
mosfet80 94b30af836 Update pixi (#19625) 2025-03-17 18:17:46 -03:00
mosfet80 f34b73e46d Update sub_buildPixi.yml
Update checkout to version 4 -> default runtime to node20
2025-03-17 18:17:46 -03:00
mosfet80 1c18001290 Update sub_buildPixi.yml 2025-03-17 18:17:46 -03:00
mosfet80 2a9d56ea7e Update pixi.toml
fix version
2025-03-17 18:17:46 -03:00
lorenz fc48d88bca pixi: update to py3.13 (#18832)
* pixi: update to py3.13

* pixi: Update gh-action to use pixi v0.39.4

* Pixi: add dep. xorg-xproto for linux

* update lock-file
2025-03-17 18:17:46 -03:00
Jacob Oursland fe51a4d2de pixi: Add run freecad configuration for Windows.
Windows requires running from an installed FreeCAD, not simply the build environment.  This
commit performs the install and execution from the installation environment.
2025-03-17 18:17:46 -03:00
looooo a1aa127617 CI: add pixi github action
partial backport to keep conda qt5 CI workflows
2025-03-17 18:17:46 -03:00
looooo 23b77b096f pixi: add pixi.toml and pixi.lock 2025-03-17 18:17:46 -03:00
Jacob Oursland a2576785e7 CMake: modernize to use CMAKE_<LANG>_COMPILER_LAUNCHER for ccache. 2025-03-17 18:17:46 -03:00
Jacob Oursland 1c684b2c25 CMake: emit message when ccache is detected. 2025-03-17 18:17:46 -03:00
Jacob Oursland 0eda35d19f Mesh: Add template type to WM4 TRational variables. 2025-03-17 18:17:46 -03:00
Jacob Oursland 55e942ba94 Mesh: move counter declaration to loop-local. 2025-03-17 18:17:46 -03:00
Jacob Oursland 216a30ac57 CMake: Add missing target_link_directories() for OCCT. 2025-03-17 18:17:46 -03:00
Jacob Oursland c2ba10d4e4 App: Reduce BOOST_VERSION workaround to fix boost symbol linker error on Win-Qt5. 2025-03-17 18:17:46 -03:00
Chris Hennes b05242c27a CI: Make black line length match pre-commit 2025-03-17 18:17:46 -03:00
Adrian Insaurralde 299e7d3f0c CI: fix assembly unit tests executable name 2025-03-17 18:17:46 -03:00
Chris Hennes f5415a2511 CI: Add missing C++ tests to CI run
The current structure of the CI system explicitly lists the tests to run, and several recently-added test executables were not included in the list.
2025-03-17 18:17:46 -03:00
Chris Hennes 7670663f4a Spacemouse: Add #include <chrono> 2025-03-17 18:17:46 -03:00
Furgo e8db8a52b4 Add-On Manager: list correct vendor path for snaps (#19816) 2025-02-27 18:20:55 -03:00
Furgo 48004949de Add-On Manager: generalize removal of non-compatible pip options for the snap package (#19814) 2025-02-27 18:19:52 -03:00
xtemp09 9bd72d7bb3 [Spreadsheet] Remove prepended apostrophe if cell content is copied into clipboard (#19781)
* [Spreadsheet] Remove prepended apostrophe if cell content is copied into
clipboard

Closes #10058.
2025-02-27 18:18:57 -03:00
Andrew Shkolik 0ff7f0f5ff Surface - Fill boundary curves not honor SplitCurve edge if it's part of BSpline 2025-02-27 18:18:51 -03:00
Chris Hennes 2462f72ebf Addon Manager: Fix pip on Snap and AppImage
Also fixes various issues with dependency updater
2025-02-27 18:12:26 -03:00
Robert Schiele f1e86b9304 Fix: Linux builds fail at link time referencing missing symbols from 3DConnexions SDK (#19865)
backport of #19406

Co-authored-by: Patryk Skowroński <pskowronski@3dconnexion.com>
2025-02-27 15:13:32 -03:00
Adrian Insaurralde 9faedf7618 CMake: add missing ifs to support building 1.0 with LibPack 3.1.0 2025-02-26 00:04:33 -03:00
Chris Hennes b68dfbaf6d CMake: Support building 1.0 with LibPack 3.1.0 2025-02-24 13:23:26 -03:00
Adrian Insaurralde 7e08681df4 Gui: hide legacy spacemouse support PrefCheckBox if navlib isn't enabled 2025-02-23 15:17:29 -03:00
Adrian Insaurralde ef4d3714b3 Fix spnav not enabled by default on linux after #19226 and #19407 2025-02-23 15:17:29 -03:00
Chris Hennes fabaf130ec Gui: Disable spacemouse init if not legacy 2025-02-23 15:17:29 -03:00
Chris Hennes 317def083a GUI: Disable legacy spnav code when legacy is false
We don't ever want to connect to both libspnav and NavLib
2025-02-23 15:17:29 -03:00
Adrian Insaurralde 59341f7570 Backport: Enabling 3Dconnexion NavLib integration for MacOS (PR #17000) 2025-02-23 15:17:29 -03:00
wmayer 365fca1abb MSVC: Fix linking error when 3Dconnexion support is set to 'Raw input' 2025-02-23 15:14:36 -03:00
wmayer fa88a6e74e CMake: Handle build time checks to choose between modern and/or legacy space mouse devices 2025-02-23 15:14:36 -03:00
wmayer 0ce373c072 Gui: Add runtime check to choose between modern and legacy space mouse devices 2025-02-23 15:14:36 -03:00
Adrian Insaurralde 9afc9bb4d3 [CI][conda] Update qt5 devenv and remove default channel from workflows 2025-02-23 15:14:36 -03:00
Adrián Insaurralde Avalos 7aeb9ebfcf Merge pull request #19724 from LarryWoestman/pr_1_0
CAM:  A set of commits that are ready to be backported to the 1.0 branch from #18103 #19006 and #18685
2025-02-23 12:34:43 -03:00
pre-commit-ci[bot] 6ea40c3e63 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2025-02-20 01:11:11 +00:00
lorenz 3c6140dc26 cam: remove imghdr import (#18081) 2025-02-19 17:37:05 -03:00
Yorik van Havre c0363e14da BIM: Do not change important pref options without user's consent - fixes #19163 2025-02-19 17:36:26 -03:00
Lawrence Woestman d9561a8574 CAM: Fixed F parameter handling for only rotary axes
with tests
2025-02-18 19:06:51 -08:00
Lawrence Woestman 1c04b7cc96 CAM: converted the refactored* postprocessors to the new API
with corresponding tests
2025-02-18 19:06:51 -08:00
Lawrence Woestman 66d406b06f CAM: fixed A, B, and C axis handling; added relevant tests 2025-02-18 19:06:51 -08:00
Lawrence Woestman 0c9891be4b Added a line to make the build work
Note that this is the same change as Commit 1fdd2ya
	which hasn't been backported yet.
2025-02-18 19:05:41 -08:00
Adrian Insaurralde e960b745f9 Fix missing bracket after bad backport of #18644 2025-02-18 18:18:38 -03:00
Jiří Mácha 3aa55e5e91 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.
2025-02-18 17:22:09 -03:00
wmayer c75fe83a4e App: Fix possible crash when postponing the destruction of a removed property
Fixes #18601
2025-02-18 17:17:27 -03:00
PaddleStroke b8b02f5f46 Assembly: Make ExplodedView: a group extension. So that we don't mimick group. Fixing the delete exploded view group issue 2025-02-18 17:15:27 -03:00
wmayer 9040a14d7b Part: Fix getIcon() of several view providers to return full path name of the icon file 2025-02-18 17:13:22 -03:00
Pascal de Bruijn 0dff5334d1 TechDraw: fix editable/autofill scale in Templates 2025-02-18 17:08:50 -03:00
Pascal de Bruijn db1f37a98a TechDraw: Component Drawing as default document type (#18827)
Presumably Component Drawings are more common as opposed to Assembly Drawing's
therefore FreeCAD's default should reflect this.

find src/Mod/TechDraw/Templates -iname "*.svg" -exec sed -i 's#Assembly Drawing#Component Drawing#g' "{}" \;
2025-02-18 17:08:35 -03:00
Roy-043 c4e292bd66 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.
2025-02-18 13:26:12 +01:00
Chris Hennes 9dd074ff6d Points: Add missing QMessageBox include to PCH file 2025-02-17 21:40:14 -06:00
Benjamin Nauck 8de5d74502 Backport: Core: Implement SoFCTransform node (#19672)
* Core: Implement SoFCTransform node

In its doAction() method it only sets the model matrix if it's not the identity matrix.
This improves the issue #7606


* Add doc string to SoFCTransform

Co-authored-by: Benjamin Nauck <benjamin@nauck.se>
Co-authored-by: wmayer <wmayer@freecad.org>
Co-authored-by: wwmayer <werner.wm.mayer@gmx.de>
2025-02-17 19:38:10 -03:00
Adrian Insaurralde 5c23509370 Add proper PDF creator metadata (backport PR #18824)
[pre-commit.ci] auto fixes from pre-commit.com hooks

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

App: Add utility method to get app name with version included

Gui: Migrate to using App::Application::getNameWithVersion

Spreadsheet: Migrate to using App::Application::getNameWithVersion

TD: Migrate to using App::Application::getNameWithVersion

Drawing: Migrate to using App::Application::getNameWithVersion
2025-02-17 14:21:35 -03:00
Syres916 78d954d086 [Techdraw] Import SVG files with UTF-8 encoding (#18816)
* [Techdraw] Fix importing SVG files with UTF-8 encoding

* [Techdraw] fix Lint feedback
2025-02-17 14:13:22 -03:00
Paul Lee 526ee2c9c4 [ArchWall] Fix Regression Single-edge Wall w/ Multi-Material
Forum Discussion
- https://forum.freecad.org/viewtopic.php?t=93610&start=10#p806296

Github Issues
- https://github.com/FreeCAD/FreeCAD/issues/19147#issuecomment-2607946858
2025-02-17 15:13:30 +01:00
Roy-043 95dfb2ede8 Merge pull request #19089 from Roy-043/Draft-Clone-avoid-B-spline-faces-in-more-cases
Draft: Clone: avoid B-spline faces in more cases
2025-02-17 15:12:53 +01:00
Daniel Wood cfb02b88be CAM: Tool Bit Library Fixes (#18973)
* remove unused else
* Enable reloading / re-selection of libraries
* Reload the libraries when exiting the editor
* Clear the model to prevent duplicate entries
* add missing docstring to reduce linting warnings
* Maintain any previous library selection when editing
2025-02-17 00:56:02 -03:00
MisterMaker a28fb062b9 [stylesheets] Gathering of stylesheet fixes (#18929)
* this is a workaround to remove caps

pelase ignore this hackery

* And now the caps are gone

* a bunch of small tweaks and fixes.

* Update FreeCAD Light.qss

updated menubar color light theme

* updated the buttons a tiny bit

* Fix for to short buttons.

Couldn't test it since my macro window is broken.

Co-Authored-By: Syres916 <46537884+Syres916@users.noreply.github.com>

* qspinbox disabled tweaks.

* Update FreeCAD Dark.qss

Tweaked the buttons a bit so they are more in line with the light theme.

* Update FreeCAD Dark.qss

small tweaks

* reversed the spreadsheet headers gradient for dark

* Update light with undo arrows position

Co-Authored-By: Syres916 <46537884+Syres916@users.noreply.github.com>

* Update undo buttons arrow position dark

Co-Authored-By: Syres916 <46537884+Syres916@users.noreply.github.com>

* added an offset to qcombobox

* removed the fix since it ruined every Qcombobox.

* Tabs update more clean less gradients.

* Update DlgMacroExecuteImp.cpp

fixing conflicts

* Update DlgMacroExecuteImp.cpp

* Delete DlgMacroExecuteImp.cpp

* Create DlgMacroExecuteImp.cpp

* Revert "Create DlgMacroExecuteImp.cpp"

This reverts commit 8de8f7506177d773bb356fd0e22a66466c25b668.

* Revert "Delete DlgMacroExecuteImp.cpp"

This reverts commit 41315f31abdad79afd4b696ee15c603de3e4a6a1.

* Revert "Update DlgMacroExecuteImp.cpp"

This reverts commit aa792291684e2d674f6961c641c8e2f8b9af12c8.

* Revert "Update DlgMacroExecuteImp.cpp"

This reverts commit e8376a8fdf11d7fd014f2c46f189afdca42833ce.

* Delete src/Gui/DlgMacroExecuteImp.cpp

* Update DlgMacroExecuteImp.cpp

finally realized what was going on lol

---------

Co-authored-by: Syres916 <46537884+Syres916@users.noreply.github.com>
2025-02-17 00:50:08 -03:00
PaddleStroke c7a1792309 Stylesheet toolbar background (#18831) 2025-02-17 00:41:23 -03:00
PaddleStroke 0141331dbd TechDraw: Assembly exploded views : revert #17726 2025-02-17 00:39:16 -03:00
Kacper Donat 6c8f9b28a0 App: Fix GeoFeature::getGlobalPlacement when rootObj is Link
This fixes a case when in case of rootObj being Link placement was not
calculated correctly due to not changing of the document. While for
original use it was fine as this was mostly used in case where there was
defined non-link root for general case Links can be root objects of the
document.
2025-02-17 00:31:02 -03:00
marioalexis e18e786f76 Fem: Fix references assignment in centrif example 2025-02-17 00:27:44 -03:00
herbkonik 5613501758 CAM: Fix bug that incorrectly calculates corner radius (#18724)
OCL requires three elements for defining a bullnose cutter: overall diameter, corner radius, and overall length. FreeCAD is providing the correct diameter and length, but the corner radius is calculated incorrectly in SurfaceSupport.py
Props go to Edyork in https://forum.freecad.org/viewtopic.php?p=798895#p798895
2025-02-17 00:22:18 -03:00
wmayer 4505c28cb6 Gui: Fix copying elements in the tree view by holding CTRL key
In older versions it was possible to copy elements with drag and drop by holding the CTRL key. Since v0.20 or v0.21 this wasn't possible any
more so that elements are always moved.

Note: Copying is only allowed for elements that have a parent object.
2025-02-17 00:19:04 -03:00
WandererFan e605d73d3f [TD]Dimension font clipping (fix #11452) (#18771)
* [TD]separate alignment and rendering bounding rectangles

* [TD]use alignment rectangle (fix #11452)
2025-02-17 00:17:45 -03:00
wwmayer aff5cdf016 Fix issues in ellipse creation (#18800)
* Sketcher: Handle exceptions in onViewValueChanged

Because the method onViewValueChanged is used as a Qt slot it must handle all possibly raised exceptions as otherwise
they will slip through GUIApplication::notify() that usually results into a crash on some platforms like macOS

* Sketch: Handle undefined values in calculateThroughPointMinorAxisParameters

* The argument of acos() must be in the range [-1, +1], otherwise it returns nan (not a number)
* The value of sin(0) = 0. So, it cannot be used in the denominator of a fraction
2025-02-17 00:14:53 -03:00
MisterMaker 25f929c572 Stylesheets spreadsheets visual fix. (#18719)
* this fixes the spreadsheet alignment and the corner button

* missed a line
2025-02-17 00:13:21 -03:00
wmayer fafff3a08b smesh: Fix build failure with vtk 9.4
Fixes #18423
2025-02-17 00:09:56 -03:00
WandererFan 149b64e8ef [TD]Fix transparent area in pdf (fix #18443) (#18507)
* [TD]fix transparent areas in pdf (#18443)

* [TD]restore use of PDF/A-1b format

- was not working in older versions of QPdfWriter
2025-02-17 00:07:21 -03:00
Bas Ruigrok 48dca901e6 Gui: Fix Blender and Revit navigation issues with shift key in sketcher 2025-02-17 00:03:50 -03:00
Rotzbua 11136b282f feat(win): add registry for silent uninstall
Entry is recommended to support the silent uninstall process without knowing the arguments.
https://nsis.sourceforge.io/Add_uninstall_information_to_Add/Remove_Programs#Recommended_values
2025-02-17 00:00:02 -03:00
Pieter Hijma 5d4587cfb3 Gui: Fix VarSet dialog 2 digit problem 2025-02-16 23:53:02 -03:00
mwganson 3209329eb4 [Part TopoShapeExpansion] move shape transform from make element copy into ruled surface function since it does not work well when copying vertex objects 2025-02-16 23:38:30 -03:00
Chris Hennes 2718d4589b Ext: Correct user preference specified in comment 2025-02-16 23:37:25 -03:00
Bas Ruigrok b11d4211e4 Gui: Fix camera position shift when starting rotation 2025-02-16 23:36:06 -03:00
Roy-043 0e3d2a208f PrefPacks: Add spreadsheet colors to classic theme
Fixes #17984.
2025-02-16 15:27:33 -03:00
Ian Hunter 5f2ac5479b Fix bug preventing filtering named constraints (#19339)
* Fix bug preventing filtering named constraints

There was a bug (see issue #11843) that displayed a filter for Named
constraints in the Sketcher Workbench whose toggling did not affect the
UI in any way. This enables this feature by checking if a given
constraint has a custom name or not and then appropriately toggling its
visibility.

* Use `std::string::empty()` per reviewer suggestion

Co-authored-by: Benjamin Nauck <benjamin@nauck.se>

---------

Co-authored-by: Chris Hennes <chennes@pioneerlibrarysystem.org>
Co-authored-by: Benjamin Nauck <benjamin@nauck.se>
2025-02-16 14:36:18 -03:00
Tim 12dc5829d7 [AddonManager] Fix construct_git_url return urls with '.git'. (#19242)
* [AddonManager] Fix construct_git_url return urls with '.git'.
2025-02-16 14:34:53 -03:00
Syres916 b638dba12c [Gui] fix the FPS text visibilty issues raised in #19371 (#19385)
* [Gui] fix the FPS text visibilty issues
* [Gui] code efficiency based on suggestions
* [Gui] update color parameter
* [Gui] Fix Lint feedback
* [Gui] check if string is empty
2025-02-16 14:14:44 -03:00
Roy-043 2a26b3d01b Draft: Avoid setRadiusValue error message
Fixes #19386.
2025-02-16 14:02:24 -03:00
Benjamin Nauck 9ad1aee683 CAM: Fix finish passes by avoiding fuzzy in Area.cpp (#19525) 2025-02-16 13:25:12 -03:00
tritao cff1b1921c Gui: Check if document exists in View3DInventorViewer::setOverrideMode. 2025-02-16 13:24:10 -03:00
Roy-043 79655aabf6 Draft: Fix line length input issue
Fixes #19451.
2025-02-16 13:23:29 -03:00
Chris Hennes 67b10dd24e Core: Update copyright date range to include 2025 (#19520)
* Main: Update copyright date range to include 2025
* GUI: Update copyright date range to include 2025
2025-02-16 13:20:42 -03:00
Benjamin Nauck 630f7bcd29 Revert "refactor: taskpanel ui on linux"
This reverts commit 537ad0fd7a.
2025-02-05 08:52:30 -06:00
Alfredo Monclus 537ad0fd7a refactor: taskpanel ui on linux 2025-01-27 14:07:14 -03:00
phaseloop 6d35b82899 CAM: Fix finishing pass (#17960)
* CAM: Fix finishing pass

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

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

* add finishing pass unit (by @baehr)

* [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>
2025-01-27 14:04:11 -03:00
Lawrence Woestman 4dca99183d CAM: Fixed script-style postprocessors getting the wrong __name__
Also added a test that the __name__ of the postprocessor is correct
2025-01-27 14:02:56 -03:00
Stan Tomlinson 4ee2c5d9db improved checks in GUI/Jobs.py/claimChildren
eliminate some error messages when a Job is not fully loaded
  (or when not properly constructed via scripting)

TESTED ON V0.21 -- code hasn't changed since then
2025-01-27 13:53:05 -03:00
Shai Seger 245b62b8fa [CAM Simulator] Add ifdef to fix OpenGL compatibility on linux. issue #18707 (#18746)
* Add ifdef to fix compilation on linux. issue #18707

* remove multisample line altogether
2025-01-27 13:42:45 -03:00
Joona Okkonen 7dca20f979 Backport version. Sketcher: Fixed mapping error when attempting to create a sketch inside a group. (#19215)
* Sketcher mapping error fix

Fixed an issue in the Sketcher where attempting to create a sketch while a group is selected caused a mapping error. Now, when a sketch is created with a group selected, the sketch will be placed inside the group.

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

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

---------

Co-authored-by: Joona <jookkone@edu.lapinamk.fi>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-01-24 08:04:20 -06:00
Roy-043 1e55e402ae Draft and BIM: Layer manager did not accept zero transparency 2025-01-10 23:44:28 +01:00
Roy-043 e557658def Merge pull request #18949 from Roy-043/Draft-and-Pref-Packs-fix-snapcolor
Draft (and Pref Packs): fix snapcolor
2025-01-09 12:04:02 +01:00
Benjamin Nauck 695f0cfe32 Remove octal in expressions when there's a leading zero 2025-01-09 11:55:43 +01:00
Roy-043 7b29489d3d Merge pull request #18959 from Roy-043/Core-fix-sWhatsThis-for-Std_LinkActions
Core: fix sWhatsThis for Std_LinkActions
2025-01-09 11:37:57 +01:00
Roy-043 485f239d6d Merge pull request #18942 from Roy-043/Draft-fix-selection-for-FacebinderTaskPanel
Draft: fix selection for FacebinderTaskPanel
2025-01-09 11:37:18 +01:00
Roy-043 ab3d0c319c Draft: fix axis calculation in make_sketch
Fixes #18713.

The code follows the suggestion by imm/webmite:
https://forum.freecad.org/viewtopic.php?p=799014#p799014

@webmite Thank you.
2025-01-09 09:41:03 +01:00
wmayer 9e4419a19c Gui: Check for exising layout before accessing it
It still must be checked if the crash in #18747 will be fixed.
2025-01-08 11:27:38 +01:00
Yorik van Havre b0c4aeee9e BIM: Fixed nativeIFC license - issue #18622 2025-01-07 16:06:13 +01:00
Roy-043 5a16f625b7 Part: copy_visual_attributes did not handle Draft Link arrays
Fixes #16541.
Fixes #18760.
2025-01-06 18:17:13 +01:00
pre-commit-ci[bot] d9e8fe0d7d [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2024-12-23 14:12:57 -03:00
Demolux d1707fdf10 BOM generation missing columns and .doCommandEval bugfix
BOM generation bugfix: Columns are persistent and .doCommandEval dependency circumvented #18615 backport to 1.0
2024-12-20 14:26:32 -03:00
Tobias Frost aaf2b6ed10 Fix SPDX Identifier to match license 2024-12-20 14:10:04 -03:00
Alfredo Monclus 4edb2e328c fix(PD): size should be enabled if profile is not none 2024-12-20 14:10:02 -03:00
Roy-043 4f9e833512 BIM: fix Wiki links in BIM Tutorial 2024-12-18 10:39:27 +01:00
Vincenzo Calligaro 82d1210f81 Updated tests affected by the modification
Signed-off-by: Vincenzo Calligaro <vincenzo.calligaro@gmail.com>
2024-12-16 13:47:54 -03:00
Vincenzo Calligaro 9a4b9c5277 [PartDesign] Hole: restore missing call to FeatureAddSub::refineShapeIfActive()
Signed-off-by: Vincenzo Calligaro <vincenzo.calligaro@gmail.com>
2024-12-16 13:47:54 -03:00
Syres916 9423cb9250 [Gui] Show Preferences page by name rather than index 2024-12-16 13:47:54 -03:00
Roy-043 cb49d64bbe BIM: Fix ArchReference problem caused by TNP code
Due to TNP code Document.xml can contain (for example)` <Part ElementMap="0.4" file="Box001.Shape.brp"/>` instead of `<Part file="Box001.Shape.brp"/>`.
2024-12-16 15:29:25 +01:00
wmayer 8f9c76a95d Sketch: Fix possible crash in BSpline::splineValue
There is an underflow of an unsigned int in the calling instance that sets the parameter 'p' to 2**32-1.
But the size of the passed vector is 0. To fix the crash first check if p is less then the size of the vector.

See: https://forum.freecad.org/viewtopic.php?t=92815
2024-12-15 19:24:04 -03:00
wmayer 1b1927bed7 Test: Add unit test to read in 3MF file 2024-12-15 19:20:58 -03:00
wmayer b027cfbf2e Mesh: Improve 3MF format to support files from 'Make World' 2024-12-15 19:20:58 -03:00
Yorik van Havre 9ea63ce943 BIM: Fixed image loading of the tutorial - fixes #17863 2024-12-15 19:13:03 -03:00
Adrian Insaurralde Avalos b5ee6ef952 [Points WB] fix issue where points are inaccurately imported when the points are far from the origin. This PR checks if the bounding box contains the origin and offers to move it to the origin if not, addresses issue #5808
[pre-commit.ci] auto fixes from pre-commit.com hooks

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

Update src/Mod/Points/Gui/Command.cpp

backport of PR #17282
2024-12-15 18:11:13 -03:00
Florian Foinant-Willig 2ea219412b PartDesign: fix helix with negative angle 2024-12-15 16:55:18 -03:00
Syres916 92bbe88322 [Gui] Tree, set FontSize on start of application 2024-12-15 13:24:28 -03:00
Patryk Skowroński a1929d704a Update for 3Dconnexion NavLib integration (#18433)
* Fixed QuickZoom crash & picking in ortho view

* Fixed QuickZoom for high DPI screens

* Fixed return value for SetHitLookFrom

Co-authored-by: Benjamin Nauck <benjamin@nauck.se>

* Removed whitespace from GetPointerPosition

Co-authored-by: Benjamin Nauck <benjamin@nauck.se>

---------

Co-authored-by: Patryk Skowroński <pskowronski@3dconnexion.com>
Co-authored-by: Benjamin Nauck <benjamin@nauck.se>
2024-12-15 13:19:52 -03:00
Adrian Insaurralde Avalos 992c234e2c [TD] Backport PR #18083: Fix crash on no mdi (fix #16672)
[TD]add preference for auto workbench switch

[TD]prevent fail on auto switch to hidden tab

[TD]prevent crash on attempt to print hidden page

[TD]prevent use of non-exist/hidden tab in exports
2024-12-15 12:30:33 -03:00
wmayer 8aa75c09d1 PD: Fix possible crash in up to shape 2024-12-15 12:16:34 -03:00
Chris Hennes f7f3119d43 Merge pull request #17799 from Roy-043/Gui-FreeCAD-Light-PreferencePack-should-not-change-PickRadius
Gui: Remove rogue preferences from PreferencePacks (Light theme should not change PickRadius)
2024-12-07 13:04:52 +01:00
Roy-043 f0ef15df98 Merge pull request #18307 from Roy-043/Draft-Fix-make_point-color-regression
Draft: Fix make_point color regression
2024-12-05 12:10:37 +01:00
Roy-043 a7f1699e0d Merge pull request #18212 from Roy-043/Draft-Fix-finish-behavior-of-Draft_Edit-on-doc-close
Draft: Fix finish behavior of commands on doc close
2024-12-05 12:10:06 +01:00
Roy-043 f7f85143bb Draft: minor improvements for gui_edit.py (#17970)
* Draft: minor improvements for gui_edit.py

* Fix error...
2024-12-05 12:09:26 +01:00
Chris Mayo 366fe0b74e BIM: Replace use of ArchWorkbench in ArchSelectionObserver 2024-12-04 11:32:49 +01:00
Roy-043 b10f001c3a Merge pull request #18164 from Roy-043/Draft-Fix-cursor-scaling-for-xcb-platform
Draft: Fix cursor scaling for xcb platform
2024-11-29 18:01:57 +01:00
Roy-043 1372cdb506 Draft: fix color of arrays (#18123)
If `get_diffuse_color` returned a list with a single color, the list was wrongly multiplied. Regression introduced in V0.21, but in that version the error was masked by how Core handled the diffuse color.

Fixes #17052.
2024-11-29 18:01:09 +01:00
bdieterm 88fae786a5 Gui: use utf-8 encoding for saving recorded macros
FCMacros always have the header "# -*- coding: utf-8 -*".
But the QTextStream class in Qt5 does not always use utf-8 for saving the text file.
2024-11-29 13:56:17 -03:00
wmayer 865997597a Gui: Fixes #16637: Can no longer set transparency of Link faces 2024-11-28 17:20:57 +01:00
wmayer dc6d5e1e9f Core: Fix crash in ActiveObjectList
Forum: https://forum.freecad.org/viewtopic.php?t=91823
2024-11-28 17:16:55 +01:00
wmayer d88524b4f7 Core: Fix unicode path names under Windows 2024-11-26 10:22:32 -06:00
Chris Hennes b6ff2a67c6 Start: Show thumbnail if filename contains a dot
Backport of #18139
2024-11-26 08:59:22 -06:00
wmayer a15134d79b Core: Do not detach object from document before the call of breakDependency
This fixes #17900
2024-11-25 11:25:31 -06:00
PaddleStroke 80ec1e00b9 Assembly: Fix joints not being deleted when subassembly is deleted. 2024-11-25 11:21:01 -06:00
Roy-043 f1c740af0e Increase the delay to be on the safe side. 2024-11-25 15:03:42 +01:00
Roy-043 ff9b93de0d Draft: avoid listing status bar widgets in toolbar area context menu
Fixes #16832.

In V1.0 the two Draft status bar widgets appear as checkboxes without label in the toolbar area context menu. They should not be listed in that menu, as was the case in V0.21. Their visibility is controlled via preferences.

Additionally, in case the Draft WB is only preloaded, the widgets would display in another workbench. This is prevented by using a delay.
2024-11-25 15:03:25 +01:00
Roy-043 9c944183d0 BIM: Fix calculation of fence sections (#18042)
* BIM: Fix calculation of fence sections

The length  and placement of fence sections was only correct if they were cut to size.

* Fix required another change.
2024-11-25 14:57:28 +01:00
paul cd92e568d5 [Draft Gui_Stretch] Improve Stretch Rectangle Behaviour (#18063)
* [Draft gui_stretch] Improve Stretch Rectangle Behaviour

Feature Improvement discussed at FreeCAD Forum :
- https://forum.freecad.org/viewtopic.php?t=92124#p792118  (Draft_Stretching the whole rectangle creates a new wire)

Currently, 3 cases in general, proposed PR improve Case 3 below :

1. The original object is a Rectangle, if after stretching it is no longer a rectangle, it makes a copy turning it into a Wire which reflect the result of stretching.
   - Current behanviour is good for user, no change.
2. If after stretching it is still a rectangle, the code just resize the original.
   - Current behanviour is good for user, no change.
3. Now, if the user 'stretch' the whole rectangle, the code creates a copy as DWire in the 'stretched location'.
** - Users find this not intuitive, better just move the whole rectangle.
2024-11-25 14:55:54 +01:00
Roy-043 807d523660 BIM+Draft: Bring back human figure
* For the human figure attached to the Draft grid a hard-coded point list is used (instead deriving the points from human figure.brep). This is more efficient and avoids a dependency on the BIM WB.
* The default for the human figure preference of the grid was changed to false. And the tooltip adjusted.
2024-11-25 13:37:03 +01:00
wmayer 08fef7405c Core: Fix dangling pointer in SoFCUnifiedSelection::setSelection
This fixes #17965: Measurement: Crash when clicking on COM label
2024-11-22 17:04:10 +01:00
Roy-043 c1f45b0c96 Draft: Fix extra_scale error in hatch.py (#17715)
Fixes #17712.
2024-11-22 11:09:37 +01:00
Roy-043 a512314442 Draft: fix tray construction mode button for Light and Dark themes (#17886)
Fixes #17869.
2024-11-22 11:09:00 +01:00
Adrian Insaurralde Avalos 2fcc5317fe cmake: remove rc4 suffix from version info 2024-11-18 13:48:00 -03:00
Jiří Mácha 78a2a9c002 Assembly: fixed defect in the migrationScript4 function
The old CAD model created by the development version of FreeCAD
(in which the Assembly workbench was used) contained joints that,
for some reason, had an empty Joint Connector 1 reference (Reference1).

This was causing an exception and a crash of the Python function
called migrationScript4. The FreeCAD Report view contained:

23:28:29  pyException: Traceback (most recent call last):
  File "/FreeCAD/Mod/Assembly/JointObject.py", line 175, in onDocumentRestored
    self.createProperties(joint)
  File "/FreeCAD/Mod/Assembly/JointObject.py", line 181, in createProperties
    self.migrationScript4(joint)
  File "/FreeCAD/Mod/Assembly/JointObject.py", line 514, in migrationScript4
    if hasattr(joint, "Reference1") and joint.Reference1[0] is not None:
                                        ~~~~~~~~~~~~~~~~^^^
<class 'TypeError'>: 'NoneType' object is not subscriptable

This patch attempts to avoid such exceptions by validating the type of
the property variable before accessing it.
2024-11-18 10:46:53 -06:00
PaddleStroke 076623ef73 Assembly: Store DocumentObject instead of mbdPart for the dragged parts. Fixing the bug where doDragStep was 50% of time failing to find the correct DocumentObject due to bundling. 2024-11-18 10:44:03 -06:00
Jonas Bähr bbd366b5a7 CAM: Fix Helix Defaults in Setup Sheet
With PR #17655 (commit 1027926), the property "Direction" was changed
being an input to an output and the new "Cut Mode" took over (to
implement #14314). Unfortunately, this change was not reflected in the
Setup Sheet (or "Op Defaults" as it's called on the Job panel). This
commit fixes this.
2024-11-18 10:39:24 -06:00
Jonas Bähr 1ef5bd3fc3 CAM: Fix creating Helix on Prototype
For the "Op Defaults" from the setup sheet the operations get created
with a `OpPrototype` instead of a real document object. This prototype
provides only a small subset of FreeCAD's document object API. When a
new Job is created via the GUI, each registered operation is created
with such a dummy to populate the setup sheet panel. And if such an
operation uses document APIs not provided by the prototype, the enire
job creation fails, see #17871.
Unfortunately we don't have tests for the GUI part, where all the
operations are regsitered and thus the integration with all of them
could be verified, this I just created a local test for the helix, where
the actual issue was reported -- this can be verified with headlessly.
2024-11-18 10:39:11 -06:00
Adrián Insaurralde Avalos 83646753e0 Update version to 1.0.0RC4 2024-11-13 22:01:49 -03:00
PaddleStroke bdcf40a17c Assembly: JointObject refactor adaptUi 2024-11-13 12:15:16 -03:00
PaddleStroke 24e5b181b5 Assembly: Improve joint taskbox offset ui. 2024-11-13 12:15:16 -03:00
Adrián Insaurralde Avalos d548f81525 Revert "Assembly: JointObject refactor adaptUi"
This reverts commit 00c992ff34.
2024-11-13 12:15:16 -03:00
Adrian Insaurralde Avalos 3c1047103c Update version to 1.0.0RC3 2024-11-11 18:23:38 -03:00
wwmayer 47d557545e PD: Add test case for #17184 (#17707) 2024-11-11 18:21:43 -03:00
Adrian Insaurralde Avalos 487b206edb Gui: extend version info to specify flatpak and conda builds 2024-11-11 15:30:59 -03:00
Alfredo Monclus 411b6cf4e9 fix(PD): initialization of thread class and fit 2024-11-11 14:19:37 -03:00
Yorik van Havre 70f8141a7d Merge pull request #17655 from jbaehr/cam-fix-rename-cw-ccw-climb-conventional
CAM: Fix CW/CCW to Climb/Conventional rename
2024-11-11 18:03:50 +01:00
marioalexis e4fefd67b0 Fem: Save empty UUID if customizing material from task panel 2024-11-11 13:59:23 -03:00
marioalexis bfe65acf87 Fem: Use quantity spin boxes in material task panel 2024-11-11 13:59:23 -03:00
marioalexis b84e78ac2c Fem: Use new material editor in materials task panels - fixes #16814 2024-11-11 13:59:23 -03:00
marioalexis 6943363280 Material: Propagate changes to MaterialTreeWidget even if UUID does not change 2024-11-11 13:59:23 -03:00
wmayer 9b67ca9c42 Assembly: Handle thrown Base::Exception in ViewProviderAssembly 2024-11-11 13:56:29 -03:00
wmayer 0df319e430 Core: In View3DInventorViewer::getPointOnXYPlaneOfPlacement throw exception
If no intersection point can be found throw a Base::RuntimeError
2024-11-11 13:56:29 -03:00
PaddleStroke 7601857582 Techdraw: Fix assembly exploded view (#17726) 2024-11-11 13:53:52 -03:00
Eric Price 7d28404ad8 Part: bugfix #17468 recursively unpack compounds for boolean fuse (#17469)
* fix #17468  recursively unpack compounds for boolean fuse

* fix and into &&, add ctest case for multifuse with compounds and recursive compounds

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

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

* remove unneeded duplicated code - allow Part::Common to be created with a single object (compound or shape) - will result in Unity and possibly a warning message

* prevent endless loop in case of endless recursive compounds as suggested in chat

* Update src/Mod/Part/App/FeaturePartFuse.cpp

Co-authored-by: Benjamin Nauck <benjamin@nauck.se>

* implemented suggestion by wwmayer

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Benjamin Nauck <benjamin@nauck.se>
2024-11-11 13:52:19 -03:00
Florian Foinant-Willig 5ea9a672c3 Fix revolution with ShapeBinder profile (#17489)
* Fix revolution with ShapeBinder profile

* Remove log level init

---------

Co-authored-by: Chris Hennes <chennes@pioneerlibrarysystem.org>
2024-11-11 13:48:35 -03:00
Eric Price 6d68d22258 increase tolerance on helical shapes to avoid crash / broken geometry (#17356)
* increase tolerance on helical shapes to avoid crash

fix #17113
fix #9377
fix #11083

* added test cases for additive and subtractive helix

* fixed whitespace issue, reduced turncount for speed

* relaxed large scale testcases for OCCT 7.3 and below, work around windows CI error #17394

* Further reduce max size in test for buggy Ubuntu OCCT
2024-11-11 13:45:49 -03:00
Eric Price 8362c5af8b Fix boolean operations (#17119)
* add BRepAlgoAPI wrapper files to CMakeList

* introduce wrapper for BRepAlgoAPI_BooleanOperation and derivatives, set sensible default Fuzzyness for boolean operations

* allow default fuzzyness to be set in settings - including off

* backwards compatibility with OCCT 7.3.3 - removed newer paramateres from wrapper

* added missing header

* reverted src/Mod/Part/App/OpenCascadeAll.h to original state

* implement some changes suggested by @wwmayer

* removed unneeded destructor definitions

* moved getDefaultFuzzyValue into its own helper class

* removed unneeded references to base class default constructor

* default to SetRunParallel(Standard_True) as suggested by @FlachyJoe

* fixed license header as requested

* Added new method to autocalculate fuzzyness to BooleanOperation base class and use it for those parts that do not call the obsolete constructor but also do not set precision

* implemented static variable solution as suggested by @wwmayer

* added helix for test case

* Refactoring FCRepAlgoAPI to FCBRepAlgoAPI

* Added Test Case (fuse cylinder with helix with different working and non-working Fuzzy values)

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

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

* increased default value of FuzzyBoolean and made tests more robust for compatibility with OCCT 7.3

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

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

* fixes for FREECAD_USE_PCH - allow testing of FREECAD_USE_PCH on linux with cmake switch (default OFF)

* removed surplus line - wasn't needed after all

* included precompiled as instructed

* set anti-corruption flag in boolean operations, ensures source shape is not damaged in OCCT 7.1 and higher

* fix #17085

* disable subtests that were too specific for now

* fixed all CLI tests - see comments in Pull Request https://github.com/FreeCAD/FreeCAD/pull/17119#issuecomment-2420772452

* Update src/Mod/PartDesign/PartDesignTests/TestTopologicalNamingProblem.py

suggested updated test by CalligaroV

Co-authored-by: Vincenzo Calligaro <vincenzo.calligaro@gmail.com>

* Update tests/src/Mod/Part/App/TopoShapeExpansion.cpp

suggested updated test by CalligaroV

Co-authored-by: Vincenzo Calligaro <vincenzo.calligaro@gmail.com>

* Update tests/src/Mod/Part/App/TopoShapeExpansion.cpp

suggested updated test by CalligaroV

Co-authored-by: Vincenzo Calligaro <vincenzo.calligaro@gmail.com>

* Update tests/src/Mod/Part/App/TopoShapeExpansion.cpp

suggested updated test by CalligaroV

Co-authored-by: Vincenzo Calligaro <vincenzo.calligaro@gmail.com>

* Update tests/src/Mod/Part/App/TopoShapeExpansion.cpp

suggested updated test by CalligaroV

Co-authored-by: Vincenzo Calligaro <vincenzo.calligaro@gmail.com>

* Update tests/src/Mod/Part/App/TopoShapeExpansion.cpp

suggested updated test by CalligaroV

Co-authored-by: Vincenzo Calligaro <vincenzo.calligaro@gmail.com>

* Update tests/src/Mod/Part/App/TopoShapeExpansion.cpp

suggested updated test by CalligaroV

Co-authored-by: Vincenzo Calligaro <vincenzo.calligaro@gmail.com>

* Update tests/src/Mod/Part/App/TopoShapeExpansion.cpp

suggested updated test by CalligaroV

Co-authored-by: Vincenzo Calligaro <vincenzo.calligaro@gmail.com>

* Update tests/src/Mod/Part/App/TopoShapeExpansion.cpp

suggested updated test by CalligaroV

Co-authored-by: Vincenzo Calligaro <vincenzo.calligaro@gmail.com>

* Update tests/src/Mod/Part/App/TopoShapeExpansion.cpp

suggested updated test by CalligaroV

Co-authored-by: Vincenzo Calligaro <vincenzo.calligaro@gmail.com>

* Update tests/src/Mod/Part/App/TopoShapeExpansion.cpp

suggested updated test by CalligaroV

Co-authored-by: Vincenzo Calligaro <vincenzo.calligaro@gmail.com>

* Update tests/src/Mod/Part/App/TopoShapeExpansion.cpp

suggested updated test by CalligaroV

Co-authored-by: Vincenzo Calligaro <vincenzo.calligaro@gmail.com>

* Update tests/src/Mod/Part/App/TopoShapeExpansion.cpp

suggested updated test by CalligaroV

Co-authored-by: Vincenzo Calligaro <vincenzo.calligaro@gmail.com>

* Update tests/src/Mod/Part/App/TopoShapeExpansion.cpp

suggested updated test by CalligaroV

Co-authored-by: Vincenzo Calligaro <vincenzo.calligaro@gmail.com>

* Update tests/src/Mod/Part/App/TopoShapeExpansion.cpp

Co-authored-by: Vincenzo Calligaro <vincenzo.calligaro@gmail.com>

* remove surplus tests from github suggestion interface bug

* hide the BooleanFuzzy variable - can now be only set by manually editing the config file
i
in FCParamGroup "Boolean"
<FCFloat Name="BooleanFuzzy" Value="10.000000000000"/>

* Suggestion by @FlachyJoe - add validity checks to the base and tool shape in any direct boolean op

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Vincenzo Calligaro <vincenzo.calligaro@gmail.com>
2024-11-11 17:36:30 +01:00
paul 51449826a3 ArchWall : Bug Fix Length Property Accuracy Problem (#17496)
* ArchWall : Bug Fix Length Property Accuracy Problem

See https://github.com/FreeCAD/FreeCAD/issues/15794

* [ArchWall] Fix regression with multi-material and align center

* ArchWall - Regression Typo

---------

Co-authored-by: Yorik van Havre <yorik@uncreated.net>
2024-11-11 17:26:55 +01:00
Roy-043 10ccab5227 Draft: Fix Shape2DView finish bug
The Draft_Shape2DView did not finish properly if no object was selected.

Forum topic:
https://forum.freecad.org/viewtopic.php?t=92031
2024-11-11 17:15:52 +01:00
Yorik van Havre 5b00d7f1f2 Translations 2024-11-11 17:09:27 +01:00
Jonas Bähr 1027926be9 CAM: Configure Helix via CutMode, not Direction (#14314)
To harmonize the various CAM operations, the helical drill shall also be
configured using the cut mode (Climb/Conventional) just like Pocket or
FaceMill.
This means, the path direction (CW/CCW) is now a hidden read-only output
property, calculated from the side (Inside/OutSide) and the here newly
introduced cut mode.
The spindle direction is not yet taken into account and is always assumed
to be "Forward".
The GUI strings are kept compatible with what RP#14364 introduced becasue
of the v1.0 release string freeze. They need revision once back on the
main branch.
2024-11-10 23:23:23 +01:00
PaddleStroke 97aef3b3b1 Sketcher: Dimension: Handle case of vertical/horizontal lines 2024-11-09 10:00:08 -06:00
Roy-043 12e15dc739 Draft: Fix _param_observer_callback_scalemultiplier error
Fixes #17741.
2024-11-09 09:27:25 -06:00
marioalexis 9291671fe1 Fem: Fix spelling in Netgen enumeration property 2024-11-09 09:25:36 -06:00
wmayer df971b1014 Material: Replace YAML::LoadFile() with YAML::Load()
YAML::LoadFile() cannot be used on Windows because it doesn't support UTF-16 to load a file from an arbitrary location

This fixes #17097
2024-11-09 09:23:33 -06:00
PaddleStroke cd138ae5d7 Assembly: Fix problem with App::Link to AssemblyObject : they would not go back to position. 2024-11-09 09:20:54 -06:00
PaddleStroke c15e018bb1 Assembly: Fix regressions of https://github.com/FreeCAD/FreeCAD/pull/16671 2024-11-09 09:20:39 -06:00
PaddleStroke 00c992ff34 Assembly: JointObject refactor adaptUi 2024-11-09 09:13:25 -06:00
PaddleStroke 7ab212dced Update CommandExportASMT.py 2024-11-09 09:10:35 -06:00
Jonas Bähr 509fef6877 Revert "CAM: Rename CW/CCW to Climb/Conventional for consistency (#14364)"
This reverts commit 7e62d07538 and adapts
to the in between commits where necessary.
 - CAM: apply precommit 7274dac185
 - CAM: rename "Tests" to "CAMTests" 2ff4914fd8

Motivations for the revert:
 - Instead of actually implementing #14364 only a search and replace in
   the enums values has been performed. But this does not mean the
   feature is there, becasue "climb"/"conventional" milling depends not
   only on the path's direction, but also on the spindle direction and
   whether the milled feature is "inside" or "outside".
 - In half of the cases of every changed operation or dressup, depending
   on whether we mill "inside" or "outside", we now get the wrong results.
 - In the (rarer) case of a reversed spindle direction, the "other half"
   is wrong.
 - Files created with previous versions of FreeCAD cannot be recomputed
   any longer because there were no precautions on document restore.
 - In files created with previous versions of FreeCAD one cannot change
   the broken operation as the choices are now invalid.
 - The original search/replace was incomplete.
 - Only property values have been changed, the property names are still
   inconsistent ("Direction" vs "Cutting Mode").
 - The original search/replace also changed internal APIs where the
   "climb"/"conventional" wording is not applicable as there is no
   notation of "inside"/"outside" or "forward"/"reverse". If only the
   path's direction is concerned, "CW"/"CCW" fits better.
2024-11-08 23:02:44 +01:00
Jonas Bähr 2df29a80f4 CAM: Fix and enable TestPathHelix again
Since the fixture in use has holes smaller than the default tool dimeter,
executing a helix operation with default parameters (i.e. all holes)
used to fail with an exception. Some tests work around this by actively
chaning the tool diameter, and this fix is now moved into the global
setup where the respective fixture is loaded.

The reason why the tests got disabled in the first place is unclear.
2024-11-07 22:31:32 +01:00
Roy-043 9b3329ff9c Draft: avoid race condition in todo code
The doTasks function is called multiple times when using Draft tools. In some cases the ToDo.commitlist belonging to a previous call was not fuly processed, resulting in the same list being processed twice. To avoid this the list is stored as a local variable and then immediately reset.

Forum topic:
https://forum.freecad.org/viewtopic.php?t=91832
2024-11-07 11:13:58 +01:00
Yorik van Havre ac9b2da210 Merge branch 'releases/FreeCAD-1-0' of github.com:FreeCAD/FreeCAD into releases/FreeCAD-1-0 2024-11-07 09:41:44 +01:00
Benjamin Bræstrup Sayoc 53ef8030ca [Gui] Fix 100% CPU usage due to StartView (#17565)
* [Gui] Fix 100% CPU usage due to StartView

* [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-11-06 13:50:21 -06:00
marioalexis 5f8ae401d3 Fem: Prevent race condition between signals in timer update 2024-11-06 13:43:12 -06:00
wmayer 41806782e7 Import: Fix index error with legacy STEP export
Fixes #17677
2024-11-06 12:53:54 -06:00
wmayer af993d1f6b Core: Generate a static random number in Application::applicationPid()
Using Qt's QCoreApplication::applicationPid() doesn't always give a unique ID so that multiple FreeCAD instances cannot be executed at the same time.
This fixes #17678
2024-11-06 12:52:48 -06:00
Benjamin Bræstrup Sayoc 52cf32c910 [Gui] Fix 100% CPU usage due to StartView (#17565)
* [Gui] Fix 100% CPU usage due to StartView

* [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-11-06 16:11:59 +01:00
Chris Mayo e495f83667 Mod: Remove Doxygen special commands from Python docstrings
These don't work by default in Doxygen [1] and cause Python syntax
warnings.

[1] https://www.doxygen.nl/manual/docblocks.html#pythonblocks
2024-11-05 16:19:03 -06:00
wmayer ddb42b134e PD: Fix default display mode of ViewProviderBoolean
Make sure that by default display mode is set to 'Flat Lines' instead of 'Group' as otherwise it won't show the result object
2024-11-05 15:24:51 -06:00
Eric Price fd64529bfe FEM: Allow assigning materials to compounds to avoid having to assign the same material by hand to all subsolids (#17562)
* fix #17561

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

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

* added missing code to have it also work without MeshRegions

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-11-05 10:15:38 -06:00
Jarno de Wit 7293718606 Fix excessive selection pruning in dae exporter for PartDesign Objects (#17529) (#17654)
* Fixes excessive export selection pruning for PartDesign objects (#17529)

* Raises selection prune message log-level from Log to Warning (#17529)
2024-11-05 14:44:51 +01:00
mwganson df18d88d96 [Sketcher] Address issue #17629, where Attach sketch command allows sketch to be attached to itself 2024-11-05 14:41:34 +01:00
Yorik van Havre 3b7bae0323 BIM: Fixed imports of IfcOpenShell 0.8 - fixes #17628 2024-11-05 14:28:41 +01:00
Chris Mayo 66a2163104 BIM: Fix imports of Python importers 2024-11-05 13:00:02 +01:00
Jonas Bähr 96fa7efee5 CAM: Add tests loading a helical path created with v0.21
This demonstrates a regression introduced with PR #14364, where documents
containing helix operations cannot be recomputed any more (see #15643).
This is in preparation for a fix and to ensure we don't break it again.
The fixture has been created with the official mac build of FreeCAD-0.21.1
2024-11-04 22:54:09 +01:00
marioalexis 81a28b5402 Fem: Print real-time log messages in mesher task panels - fixes #17594 2024-11-04 12:34:17 -06:00
PaddleStroke f5fa6f80b3 Assembly: Fix reverse button in joint task (#17663) 2024-11-04 11:23:33 -06:00
PaddleStroke 2958940463 Update JointObject.py 2024-11-04 11:18:30 -06:00
wmayer 644f0bf48b PD: If needed open another transaction for sketch creation
When creating a sketch in PartDesign a dialog is opened that gives the user the possibility to perform another action that may close the
active transaction. To make sure the creation of the sketch can be undone a new transaction must be opened.
2024-11-04 11:14:36 -06:00
wmayer f2bf2a4bcc Core: Fixes #17553 2024-11-04 11:14:36 -06:00
wmayer 8e3b8e3172 Tests: Add unit test to demonstrate failure of #17553 2024-11-04 11:14:36 -06:00
wmayer c7f40bc111 Core: Write a log message instead of warning when locking a file fails 2024-11-04 11:09:06 -06:00
wmayer 9daf71417a Core: Add wrapper function Application::applicationPid() 2024-11-04 11:09:06 -06:00
wmayer 94adf177ee Core: Don't freeze application if lock file already exists 2024-11-04 11:09:05 -06:00
PaddleStroke eff8826ca7 Assembly: Joint creation: add expression support to spinboxes 2024-11-04 11:07:25 -06:00
mwganson 6cd80f52f3 [Part Booleans] fix issue with copying visuals when doing Part workbench booleans using App::Part objects, see https://forum.freecad.org/viewtopic.php?t=91813&sid=eea2494d6d02882c3be7df74d7e2b689 2024-11-04 11:02:44 -06:00
WandererFan e1948f79d4 [TD]handle short&wide hatch area (#17630)
* [TD]handle short&wide hatch area

* [TD]sync .h and .cpp parameter names
2024-11-04 11:01:42 -06:00
James e57599c3f0 Safe mode message added as per #17580 (#17640)
* Safe mode message added as per #17580

* Fixed extra whitespace after return

Removed extra whitespace after return spotted by @hyarion

* Incorporated comments by @hyarion
2024-11-04 11:00:38 -06:00
Bas Ruigrok 4b5e09043d Gui: Fix camera behavior when rotation center is far from object
Also fixes a regression in turntable navigation speed
2024-11-04 10:59:31 -06:00
wmayer 7a48443897 DAG: Add method hasRecord() and use it in Model::slotChangeObject
to avoid a possible failing assert().

Fixes #17572
2024-11-04 10:57:09 -06:00
Benjamin Nauck a3f8ec0fd4 macOS+win+qt6.4+: Hide classic and auto choose light or dark mode depending on os setting (#17410)
* mac, win, qt6.4+: Hide classic and auto choose light or dark mode

* Add dark mode qt6.5 check

* Start: Add QStyleHints to PreCompiled.h

---------

Co-authored-by: Chris Hennes <chennes@pioneerlibrarysystem.org>
2024-11-04 10:55:56 -06:00
David Carter 364ae2ca12 Materials: Disable editor right click menu
The right click context menu in the materials editor was implemented
as a place holder but is currently non-functional. It should be
disabled for 1.0. This will be revisited post 1.0 as all editor
functionality is reviewed and improved.

Fixes #17110
2024-11-04 10:51:11 -06:00
wmayer 7082b086a5 Mat: Clean-up code in DlgDisplayPropertiesImp 2024-11-04 10:44:17 -06:00
wmayer 279e39bd2b Mat: Tmp. block signals of material widget
Fixes #17523
2024-11-04 10:44:17 -06:00
Adrian Insaurralde Avalos 4ebf28b6a4 CAM: rename "Tests" to "CAMTests" to avoid python name conflicts 2024-11-04 10:36:32 -06:00
Yorik van Havre 1d11f0b9e7 BIM: Fixed case bug in library tool 2024-11-04 14:48:52 +01:00
Chris Mayo 62ff8820dd BIM: IFC explorer Qt 6 compatibility and other fixes (#17649)
* BIM: IFC - Fixes for Qt 6 due to QtGui.QFont.setWeight()

PySide6 replaced:
  PySide6.QtGui.QFont.setWeight(int)

with:
  PySide6.QtGui.QFont.setWeight(PySide6.QtGui.QFont.Weight)

* BIM: Fix IFC explorer addEntity() and addProperties() on Qt 6

Qt 6 removed QTreeWidget.setFirstItemColumnSpanned()

https://doc.qt.io/qt-5/qtreewidget-obsolete.html#setFirstItemColumnSpanned

Running the Python command 'BIM_IfcExplorer' failed:
Traceback (most recent call last):
  File "/usr/lib64/freecad/Mod/BIM/bimcommands/BimIfcExplorer.py", line 170, in Activated
    self.open()
  File "/usr/lib64/freecad/Mod/BIM/bimcommands/BimIfcExplorer.py", line 223, in open
    self.addEntity(eid, children, self.tree)
  File "/usr/lib64/freecad/Mod/BIM/bimcommands/BimIfcExplorer.py", line 455, in addEntity
    self.tree.setFirstItemColumnSpanned(item, True)

* BIM: Fix IFC explorer exception on toggle mesh

Traceback (most recent call last):
  File "/usr/lib64/freecad/Mod/BIM/bimcommands/BimIfcExplorer.py", line 278, in toggleMesh
    import importIFCHelper
ModuleNotFoundError: No module named 'importIFCHelper'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib64/freecad/Mod/BIM/bimcommands/BimIfcExplorer.py", line 282, in toggleMesh
    import importIFC
ModuleNotFoundError: No module named 'importIFC'

* BIM: Fix IFC explorer layout warnings

QLayout: Attempting to add QLayout "" to QDialog "IfcExplorer", which already has a layout
QLayout: Attempting to add QLayout "" to QDialog "IfcExplorer", which already has a layout

https://doc.qt.io/qt-6/qtwidgets-tutorials-widgets-nestedlayouts-example.html

* BIM: Output an error if IFC explorer can't explore a file

---------

Co-authored-by: Roy-043 <info@b-k-g.nl>
2024-11-04 14:02:44 +01:00
PaddleStroke 4bee4ca3dd Sketcher: DrawSketchHandlerRotate : Fix unwanted copy of DistanceX/Y constraints 2024-10-31 15:30:28 -05:00
PaddleStroke 17a7ddee2f Formating PythonConverter.cpp 2024-10-31 15:30:18 -05:00
PaddleStroke 52903e281c Sketcher: PythonConverter: use getRange to handle bad arcs. 2024-10-31 15:30:10 -05:00
marioalexis 9cfec546cc Fem: fix Gmsh analysis mesh groups - fixes #17427 2024-10-31 15:29:14 -05:00
wmayer e4a24f0789 Core: Fix compiler warning 2024-10-30 18:14:36 -05:00
wmayer b67d2d0881 Fix compiler warnings 2024-10-30 18:14:36 -05:00
Eric Price 29f2dbdebf fix #17578 - RIP bgbsww , don't worry, we got this. 2024-10-30 18:12:51 -05:00
Ulices 6945472e36 Help: Fix function return to avoid error when clicking URL on built-in browser (#17498)
* Help: Fix function return to avoid error when clicking URL on built-in browser

* fixup! Help: Fix function return to avoid error when clicking URL on built-in browser

Co-authored-by: Yorik van Havre <yorik.vanhavre@gmail.com>

---------

Co-authored-by: Yorik van Havre <yorik.vanhavre@gmail.com>
2024-10-30 12:52:13 +01:00
PaddleStroke ee60379138 Core: Enable TaskDialogs to associate view (#17373)
* Core: Add possibility for task dialogs to associate a view and be able to close when associated view is closed.

* TaskImage: Use task dialog view association.

* Sketcher: Use task dialog view association. Preventing crash (https://github.com/FreeCAD/FreeCAD/issues/16702)

* EditableDatumLabel: Use QPointer to prevent crash
2024-10-29 10:01:41 -05:00
hoshengwei 42832ee6af Fix IFC export elevation with wrong unit 2024-10-29 15:14:39 +01:00
David Carter ec2f666344 Materials: Selectively apply appearances
Change the appearance only if the appearance hasn't been set explicitly.
A cached material appearance is used to see if the current appearance
matches the last material. It is also compared against an empty
material to see if the saved material value has been initialized.

This solves the problem of material changes overwriting appearance
changes
2024-10-28 21:49:55 -05:00
Adrian Insaurralde Avalos 065029b6a0 Gui: show cpu architecture in version info instead of word size
Fix #15833
2024-10-28 21:48:43 -05:00
Benjamin Nauck 6fea3dc5f4 Fix crashes when importing and opening .csv files on macOS (#17084)
* Open recent documents from start same way as in menu

* Make insert spreadsheet create document if not available.

* [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>
Co-authored-by: Chris Hennes <chennes@pioneerlibrarysystem.org>
# Conflicts:
#	src/Mod/Start/Gui/StartView.cpp
2024-10-28 21:46:55 -05:00
Bas Ruigrok 52982c0c67 Gui: Correct spin sensitivity 2024-10-28 12:08:09 -05:00
Bas Ruigrok f313de1ce3 Gui: Set spin projector sphere depending on rotation center 2024-10-28 12:08:08 -05:00
Adrian Insaurralde Avalos 82204a7b06 Gui: use wildcard for some warnings filters. Fix #16687 2024-10-28 11:39:29 -05:00
Adrian Insaurralde Avalos a435a81c8a Fix OpenSCAD test failing when using pipe transfer mechanism 2024-10-28 11:34:36 -05:00
Pieter Hijma edbfbe40f5 Gui: Make VarSet dialog modal
Also tracks its own transactions to prevent interfering with other
transactions.
2024-10-28 11:33:25 -05:00
wmayer 231d734b7c Draft: Fixes #17461 2024-10-28 11:31:41 -05:00
wmayer 216b130761 Core: Extend DocumentObjectPy
* expose isAttachedToDocument to Python
* change DocumentObjectPy::getName() to return None instead of throwing an exception if object is not part of a document
2024-10-28 11:31:41 -05:00
wmayer c6a6e9d4b0 Sketch: Make sure that variable 'ActiveSketch' is defined in macro
Fixes #17502
2024-10-28 11:24:00 -05:00
Yorik van Havre dc230a8ce0 Draft: Warn user if using trimex on unsupported curve type - fixes #17346 2024-10-28 11:12:17 -05:00
marioalexis 57a6c5aed7 Fem: Remove unnecessary system name check 2024-10-28 11:11:18 -05:00
mwganson 69e40ba5c7 [Macros Dialog] Fix broken toolbar walkthrough 2024-10-28 11:10:26 -05:00
PaddleStroke c0db00e5cd Assembly: AssemblyLinks. 2024-10-28 11:07:47 -05:00
PaddleStroke 69df04e6a6 Assembly: Create SoSwitchMarker.py to externalize the coin stuff that draw the joint's markers(JCS) 2024-10-28 11:07:47 -05:00
PaddleStroke eb352fe34f Assembly: Joint creation UI : add advanced offset handling. 2024-10-28 11:07:46 -05:00
Yorik van Havre e3aa8ef9b8 BIM: Fixed export of boolean IFC properties - fixes #17425 2024-10-28 10:58:45 -05:00
Yorik van Havre 6029b79885 Draft: Fixed trimex bug when snapping to itself - fixes #17345 2024-10-28 10:58:07 -05:00
Yorik van Havre 1c6e5b9664 BIM: Fixed online search mode - fixes #17353 2024-10-28 10:51:46 -05:00
Benjamin Bræstrup Sayoc cd99adc094 [Gui] Make styles update on paint (#17376)
* [Gui] Make styles update on paint

Fixes #15756. Similar implementation to that already in FileCardDelegate.cpp

* [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-10-28 10:48:58 -05:00
Benjamin Nauck 734b327ef0 Reuse Std_Delete shortcut instead of hardcoding Delete (#16682)
* Reuse Std_Delete shortcut in TaskBooleanParameters

* Reuse Std_Delete shortcut in TaskDressUpParameters

* Reuse Std_Delete shortcut in TaskLoftParameters

* Reuse Std_Delete shortcut in TaskPipeParameters

* Reuse Std_Delete shortcut in TaskSapeBinder

* Reuse Std_Delete shortcut in TaskTransformedParameters

* Reuse Std_Delete shortcut in TaskExtrudeParameters

* Reuse Std_Delete shortcut in TaskSections

* Reuse Std_Delete shortcut in MaterialSave

* Reuse Std_Delete shortcut in Array2D

* Reuse Std_Delete shortcut in TaskFemConstraint

* [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-10-28 09:51:52 -05:00
wandererfan 471fce1f50 [TD]remove spurious mouseReleaseEvent (fix #17519) 2024-10-28 09:47:53 -05:00
wandererfan 5e8e6568e9 [TD]fix line style regression from #17331 2024-10-28 09:47:28 -05:00
wandererfan e0f6298d5d [TD]handle cut profiles with only a single edge 2024-10-28 09:46:54 -05:00
wandererfan 9fcb04c0b3 [TD]do not mark document as changed after print 2024-10-28 09:46:23 -05:00
wmayer 146f5055d7 Core: Refactor Document::setEdit 2024-10-27 13:13:38 -05:00
Benjamin Nauck 2d14dcec7d Repost QFileOpenEvent event to avoid an undefined state 2024-10-25 12:25:31 -05:00
marioalexis fe8f0acbef Fem: Do not try to set EndStep property for legacy Netgen 2024-10-25 12:11:28 -05:00
PaddleStroke c6e0f838ba Fix circle tangent issue 2024-10-25 10:03:59 -05:00
mwganson cd74b7b5ea [Part RuledSurface] fix issue where ruled surface is failing if both edges are from same object and the object is not at the identity placement, addresses issue #17235 2024-10-25 09:59:25 -05:00
wmayer 9854b2a3c8 Core: Handle possible nested calls of TreeWidget::onUpdateStatus()
Fixes #17460
2024-10-24 23:11:53 -05:00
PaddleStroke a76027ce91 Assembly: CommandInsertLink: Hide hidden objects 2024-10-24 23:08:05 -05:00
Pieter Hijma 72316d0f96 Gui: Fix tooltip/documentation in VarSet dialog 2024-10-24 23:01:24 -05:00
PaddleStroke e9b9c788d2 Sketcher: Symmetric: Do not copy names of constraints (#17433)
* Sketcher: Symmetric: Do not copy names of constraints

* Sketcher: Symmetric : Fix https://github.com/FreeCAD/FreeCAD/issues/17442
2024-10-24 22:59:15 -05:00
Jiří Pinkava 2cfa89fb56 Disable Qt bug 129596 workeround for QT >= 6.8.1
The fix is also in 6.5.8+, but honestly I would not bother ...
2024-10-24 22:30:54 -05:00
Kacper Donat d046d4848b PD: Fix TwoLengths and Midplane both enabled
This scenario makes no sense, so it is removed from the code.
2024-10-24 22:29:54 -05:00
wmayer d7bcba730c Test: Add test for MeasureDistance with two circles 2024-10-24 21:56:22 -05:00
wmayer 8c1c24656a Measure: When measuring the distance between circles then use the center points as reference
See forum: https://forum.freecad.org/viewtopic.php?t=91570
2024-10-24 21:56:22 -05:00
PaddleStroke 4432d6dc16 Update Workbench.cpp 2024-10-24 21:54:02 -05:00
PaddleStroke 8780c645b7 Part Design: Remove legacy/modern workflow checks. 2024-10-24 21:54:02 -05:00
Michael Fuchs ff3729614e Remove unused LibraryInfo class 2024-10-24 21:51:37 -05:00
Michael Fuchs be3307d198 Inject version information into 3rd Party libraries html 2024-10-24 21:51:37 -05:00
Michael Fuchs e2956efcb1 Replace About/Libraries with ThirdPartyLibraries.html
Use system browser to open external links
2024-10-24 21:51:37 -05:00
mwganson 515b9b0ef9 [Python Console] prevent crash on autocomplete if python module is invalid, fixes issue #17299 2024-10-24 21:23:47 -05:00
Roy-043 c3565499f2 Updated 2 file paths to make the code work with AppImage
As advised in this forum post:
https://forum.freecad.org/viewtopic.php?p=788556#p788556
2024-10-24 14:09:41 +02:00
Roy-043 41b5df3883 Draft: fix errors in draft_test_objects.py
* Label property TextSize should be FontSize.
* Added missing recomputes.
2024-10-24 14:09:26 +02:00
wmayer e3bf086e49 Start: Use ModuleIO in StartView::fileCardSelected 2024-10-22 22:50:44 -05:00
wmayer 25bfdc92c8 Core: Use ModuleIO in MainWindow::loadUrls 2024-10-22 22:41:38 -05:00
wmayer 6df7231cfb Core: Use ModuleIO in RecentFilesAction & RecentMacrosAction 2024-10-22 22:41:35 -05:00
marioalexis 5b68566b5b Fem: Netgen meshing parameters improvements 2024-10-22 22:41:01 -05:00
pre-commit-ci[bot] 71734d87ac [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2024-10-22 22:39:37 -05:00
wmayer 569c2f9538 Measure: Use Base::toDegrees to convert radian to degree 2024-10-22 22:39:28 -05:00
wmayer 969b0dad8d Robot: Use Base::toRadians to convert degree to radian 2024-10-22 22:39:17 -05:00
wmayer 4b9d03772f Part: Use Base::toRadians to convert degree to radian 2024-10-22 22:38:00 -05:00
Yorik van Havre 0101b5dfc7 Revert "Horrible hack to work around bug in OCCT7.7.2"
This reverts commit 60640fa441.
2024-10-22 13:28:17 +02:00
Chris Mayo 3ea129fa0b Tux: Avoid warning on startup when BIM is not installed
os.listdir() raises an exception if modpath does not exist.
2024-10-22 11:02:54 +02:00
Roy-043 c4854b8cba Draft: suppress patharray offset warnings if values are already zero
See forum topic:
https://forum.freecad.org/viewtopic.php?t=91517
2024-10-22 10:52:30 +02:00
Benjamin Nauck e6f97126d3 Remove broken robot example file
fixes #17303
2024-10-21 21:03:11 -05:00
marioalexis 1f27df4e9c Fem: Set startupinfo for gmsh subprocess - fixes #17298 2024-10-21 21:00:29 -05:00
Adrián Insaurralde Avalos 597d417564 Gui: extend warning filters
filter out:
-qt.qpa.wayland
-kf.config.core
-kf.kio.widgets
-kf.service.sycoca
-kf.solid.backends.udisks2
2024-10-21 11:33:35 -05:00
PaddleStroke ab7987a149 Core: Fix Ctrl-deselection issue 2024-10-21 11:31:16 -05:00
David Carter c9f0b81855 Materials: Child ignoring parent material
Inherit the material from the parent object when creating a new object,
such as during a boolean operation, or when extruding a sketch.

fixes #15503
2024-10-21 11:20:30 -05:00
wmayer 109f481a6d Core: Set unit scheme when switching between unsaved documents
Fixes #17297
2024-10-21 11:17:37 -05:00
Chris Mayo ddfdb2ee10 CMake: Add inter-module dependency of ReverseEngineering on Points
Building with -DBUILD_POINTS=no -DBUILD_REVERSEENGINEERING=yes fails with:

src/Mod/ReverseEngineering/App/AppReverseEngineering.cpp
src/Mod/ReverseEngineering/App/AppReverseEngineering.cpp:36:10: fatal error: Mod/Points/App/PointsPy.h: No such file or directory
   36 | #include <Mod/Points/App/PointsPy.h>
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
2024-10-21 11:13:29 -05:00
wmayer d59160b2ce PD: Explicitly switch off AllowCompound for some tests to make them succeed
Fixes #17363
2024-10-21 11:12:50 -05:00
Chris Mayo 4014ae1dc9 CMake: Add inter-module dependency of Part on Material
Building with -DBUILD_PART=ON and -DBUILD_MATERIAL=no fails with:

/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lMaterials: No such file or directory
collect2: error: ld returned 1 exit status
2024-10-21 11:12:07 -05:00
Michael Fuchs bad2d2a37a Switch back to default filename for exports after the active document changes. Fixes #16839 2024-10-21 11:10:51 -05:00
Benjamin Nauck 5f303edf30 Add "Safe mode" which temporarily disables configs and addons (#16858)
* Add safe-mode which starts freecad in a clean environment

* Integrate safe-mode

* Show "(Safe Mode)" in main window title

* Show safe mode info when safe mode is started

* Created Safe Mode Icon

* Use new icon

* Add PreCompiled.h

* Add exports for windows

---------

Co-authored-by: Gabriel <gaz082@gmail.com>
2024-10-21 11:09:03 -05:00
Eric Price 4322c16e0f disable tesselation limit in ViewProviderGUI to prevent large parts from freezing FreeCAD 2024-10-21 10:59:03 -05:00
wandererfan 718c2746ae [TD]Fix leader line style (fix #17307) 2024-10-21 10:58:03 -05:00
PaddleStroke 16277b2f8d Fix datum not being cancelled 2024-10-21 10:56:58 -05:00
Yorik van Havre a338d8f544 BIM: Better objects filtering when IFC locking/unlocking - fixes #17193 (#17285) 2024-10-21 10:55:24 -05:00
wmayer c3e3d2ec99 Part/PD: Fix cone creation if both radii are equal
The cone features in Part and PartDesign automatically create a cylinder if top and bottom radius are identical. However, the algorithm
ignores the angle and always creates a full cylinder.
2024-10-21 10:53:36 -05:00
marioalexis 96e65ac0f6 Fem: Set converted property value after property type change 2024-10-21 10:43:27 -05:00
Jiří Pinkava 7a342d11fb Sketch: refactor GeoHistory 2024-10-21 10:42:03 -05:00
wmayer 4c71f47f9b Core: Add convenience class ModuleIO to open files 2024-10-21 10:40:18 -05:00
mwganson c3ecbcef21 [PartDesign DuplicateSelected] do not put duplicated feature into active body if it is already in another body -- addresses issue #6278 2024-10-21 10:37:26 -05:00
Adrian Insaurralde Avalos 7094af67f5 Gui: try calling graphviz binaries from PATH by default [fix #15224] 2024-10-21 10:33:04 -05:00
Florian Foinant-Willig 24bbd0769e Fix uptoshape crash when selecting a face without assigned shape 2024-10-17 20:26:27 -05:00
PaddleStroke 48beaa066e Assembly: Fix limits disappearing on edit (#17289) 2024-10-17 20:23:42 -05:00
Yorik van Havre b4cee0cd18 GUI: Added dedication to @bgbsww in about dialog/credits 2024-10-17 20:17:57 -05:00
Pieter Hijma d7a3517296 Core: Fix VarSet add property dialog Esc segfault (#17215)
* Core: Fix VarSet add property dialog Esc segfault

* Core: Improve the way disconnect is handled

* Core: Add a check for a non-existing property
2024-10-17 20:15:04 -05:00
PaddleStroke 8dd04d5fb3 Fix regressions of #16726 2024-10-17 20:13:47 -05:00
Roy-043 79e0e72aca Draft: Improve layer drag-drop fix.
The fix in #16212 only checks the LayerContainer for layers. Since we do not stop users from moving layers out of that container, we should search the whole document instead.

Fixes: #16201.
2024-10-17 12:30:42 +02:00
Roy-043 acb18c2745 BIM: Fix BIM_Leader callback bug
Probably due to changes in gui_lines `self.call` was no longer ended.

Fixes: #17283.

Forum topic:
https://forum.freecad.org/viewtopic.php?t=91413
2024-10-17 12:14:20 +02:00
Kris Wilk 64d8ab5e55 Use Qt built-in to determine the system's preferred fixed-width font 2024-10-16 08:50:15 -05:00
marioalexis 42d0dfa121 Fem: Do not use main window widget from another thread - fixes #17255 2024-10-16 08:32:06 -05:00
wmayer af4a7800ce Sketch: Fix creating the shape of a sketch
SketchObject::buildShape() used the geometries as they were created by the user. However, they are not accurate enough in order
to create a closed wire. Instead the geometries after running the solver must be used because they are guaranteed to be accurate.
2024-10-15 23:22:43 -05:00
ronak a50ee5ee6a final returned at line 461 2024-10-15 08:48:08 -05:00
Syres916 b093191da5 [TechDraw] Fix error for some compilers 2024-10-15 08:45:18 -05:00
wmayer 7a58bbf6b4 Start: Fix build failure with enabled PCH 2024-10-15 08:44:19 -05:00
Adrián Insaurralde Avalos 868a0f174b Bim remove py2 compatibility code (#17229)
* BIM: remove py2 compatibility code

* remove unused six from conda environments
2024-10-14 11:25:23 -05:00
Yorik van Havre ef667e8409 BIM: Fixed adding missing windows when converting to IFC - Fixes issue #16631 2024-10-14 11:23:14 -05:00
Benjamin Bræstrup Sayoc b16bd50f73 [Gui] Fix isBad asserts, by removing old monkey patch
Multiple places in code, asserts for bad types would trigger SIGABRT. This is not just limited to #16316 with SoZoomTranslation, but multiple more places, not described in issue, but I experienced myself. Fixes #16316
2024-10-14 11:16:33 -05:00
wmayer 227588350d Core: Directly store text changes made in text object
Store changes made in TextDocumentEditorView immediately to TextDocument. This fixes the issue reported in
https://forum.freecad.org/viewtopic.php?p=786175#p786175
2024-10-14 11:04:57 -05:00
pre-commit-ci[bot] 9a377c6e98 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2024-10-14 17:55:51 +02:00
Yorik van Havre 4bf0553ea7 crowdin translations 2024-10-14 17:55:51 +02:00
wmayer bcab31e047 PD: Disable PartDesign_CompDatums & PartDesign_CompSketches if dialog is open
A group command is not disabled if its default command is disabled. This allows it to invoke the command when it should be impossible.
To fix the problem override the isActive() method in the sub-classes CmdPartDesignCompDatums & CmdPartDesignCompSketches

This fixes #16294
2024-10-14 10:55:21 -05:00
hlorus 2018b7b5ed MeasureGui: Revert temporary measure object creation (#17109)
* MeasureGui: Revert temporary measure object creation

Reverts the temporary creation of measurement objects that was added in #15122

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

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

* MeasureGui: Adress review comments

- Remove _mDocument and _mGuiDocument
- Replace c-style casts with dynamic_cast
- Add file guard
- Remove leftover canAnnotate method

* MeasureGui: Fix crash when selecting elements from different documents

* MeasureGui: Add additional type check in ensureGroup

* [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-10-14 10:54:23 -05:00
H. Tsubota 69ae9b2c46 Change to enclose field values ​​with quotation character in exported CSV file if they contain delimiters in Spreadsheet workbench (#17140)
* Change to enclose field values ​​with quotation character in exported CSV file if they contain delimiters

* [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-10-14 10:52:48 -05:00
Furgo c8b53bdba6 Properly scale link overlays 2024-10-14 10:50:48 -05:00
WandererFan 010c3c9f4b [TD]Fix bad circles (fix #16980) (#17182)
* [TD]fix spurious messages in GeometryMatcher

* [TD]fix closed circle test (fix #16980)
2024-10-14 10:47:13 -05:00
wandererfan 3042d8d951 [TD]throttle over aggressive dimension autocorrect 2024-10-14 10:46:02 -05:00
Jiří Pinkava c9450422d6 Gui: add Qt Platform name to splashscreen information dump
There is several bugs in FreeCAD which are related to platform (mostly wayland),
the hope is this will make it easier to identify the dependence of bug on the platform
2024-10-14 10:45:02 -05:00
Furgo 9516391ed3 Assembly: make "Solve failed" error more verbose (#17117)
* Add FC_ERR macro for the 'Solve failed' Assembly error

* Handle standard exceptions during assembly solve

* [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-10-14 10:43:27 -05:00
Yorik van Havre d82c2d6d61 BIM: Fixed missing object creation in IFC document conversion (#17093)
* BIM: Fixed missing object creation in IFC document conversion - fixes #17031

* BIM: fixed deleting of non-existing objects - fixes #17032
2024-10-14 10:37:43 -05:00
Florian Foinant-Willig ebe2777d68 Disable closed Loft for less than 3 profiles 2024-10-14 10:36:08 -05:00
Jiří Pinkava 1d7b05c607 Gui: Workaround for crash on close of MDI window
The Qt6 (up to Qt 6.7.3 now) contains bug, which can lead, under
specific circumstances, to crash of the application, when the
MDI window is closed. The circumstances are:

* at least 2 MDI windows needs to be open
* stylesheet muset set different size (border, margin) for activated and un-activated tabBar tab
* the closed window must be inactive, but created before the window now active and open
* race condition must occur betwee the closing and resize event handlers for the tabBar
  (see qt bug for details)

So this bug only occures with Qt6 with the Dark or Light styles selected (no classic) and only if
specific sequence of steps is followed during opening and closing the MDI windows.

The bug is in Qt code path executed when QMdiArea::ActivationHistoryOrder is set.

The other possible workaround might be to change all the affected stylesheets, but this seems to me
impractical and also fragile, because the affected code path will be still active.

https://bugreports.qt.io/browse/QTBUG-129596
2024-10-14 10:33:21 -05:00
Shai Seger 9365e358dd Fix shader compilation error on linux. (#17236) 2024-10-14 09:58:48 -05:00
wmayer 9dba811236 Part: Fix XML output of PropertyGeometryList::Save
Write all XML attributes of the Geometry element into a single line.

Currently the XML output looks:
                        <Geometry type="Part::GeomLineSegment"
 id="-1" migrated="1">

With the fix it will be:
                        <Geometry type="Part::GeomLineSegment" id="-1" migrated="1">
2024-10-14 09:08:07 -05:00
marioalexis 131ce95ee6 Fem: Use default height for mesh task panel quantity spin boxes 2024-10-14 09:02:03 -05:00
PaddleStroke 3d665fab34 AssemblyObject.cpp : add failsafe checks 2024-10-14 08:58:59 -05:00
marioalexis a31cde78d9 Fem: Fix examples affected by Part workbench preference parameter 2024-10-14 08:52:08 -05:00
marioalexis84 84c3457a28 Fem: Remove highlighted nodes if ccx finish without error - fixes #14855 (#17203) 2024-10-14 08:51:03 -05:00
Benjamin Bræstrup Sayoc c4e71656db [Gui] TextEdit, zoom on Ctrl + wheel
Fixes #13861
2024-10-14 08:31:45 -05:00
PaddleStroke de1b1dca21 Assembly: Fix context menu 'Activate object' not working and causing crash (#17092)
* Assembly: Add setupContextMenu to ViewProviderAssembly.h

* Assembly: Fix right click 'activate object' menu not setting edit

* add QMenu header

* Add NOLINT

* Add one more space before //NOLINT or clang cries...

* Fix isInEditMode

* add isInEditMode to ViewProviderAssemblyPy.xml

* add isInEditMode to ViewProviderAssemblyPyImp.cpp

* update activeAssembly() in Utils to make sure isInEditMode
2024-10-14 08:30:09 -05:00
PaddleStroke 3fe73e5ba4 Assembly: Remove JointObject camera callbacks. And fix lock highlight. 2024-10-14 08:27:52 -05:00
Roy-043 1dbeb9d143 Draft: Fix upgrade function: delete argument was ignored in case of draftify
Forum topic:
https://forum.freecad.org/viewtopic.php?t=91357
2024-10-14 08:19:22 -05:00
MisterMakerNL 1b50abbafe fixing the checked toolbutton issue in Qsint
https://github.com/FreeCAD/FreeCAD/issues/17230
2024-10-14 08:14:40 -05:00
wmayer 7c842eea13 PD: Fix crash when clicking on invalid edge in task panel
Fixes #10843
2024-10-13 13:34:31 -05:00
Pieter Hijma f5c138884b Gui: Fix showing multiple dialogs VarSet add prop 2024-10-11 08:55:50 -05:00
PaddleStroke bc5b0bb610 Assembly: Joint: add support to non ascii characters. 2024-10-10 20:37:09 -05:00
wmayer dcd048e00a Core: Check returned pointer of convertSWIGPointerObj 2024-10-10 20:36:22 -05:00
marioalexis 5f3e4ceb4d Fem: Remove reduntant info from geometry selector widget title 2024-10-10 20:34:29 -05:00
PaddleStroke fdca32a577 Assembly: Fix gear/belt switch on checkbox toggle 2024-10-10 20:26:35 -05:00
Syres916 dab0cb1ba9 [Gui] Disable the ability to change themes and preference packs... 2024-10-10 20:25:46 -05:00
marioalexis 5cd2862aab Fem: Fix gap in constraint fixed symbol 2024-10-10 20:23:24 -05:00
Adrian Insaurralde Avalos 6c64197cdb CI: update lint action for ubuntu 24.04 2024-10-10 12:26:11 -03:00
Roy-043 0e1bc2b716 BIM: Remove calls to end_all_events to avoid Linux crash
Fixes #15723.
2024-10-10 13:47:32 +02:00
Paul Lee c30d087385 [Arch] Bug: ArchRemove Creates Cyclic Dependency and TNP
FreeCAD Discussion Forum -
https://forum.freecad.org/viewtopic.php?t=91180&start=30#p786308
2024-10-10 10:06:46 +02:00
PaddleStroke c02ad52bfd Sketcher: Fix double click of wire and remove selection that was not working 2024-10-08 10:53:27 -05:00
PaddleStroke 259d21c565 Core: Fix #7580 (#17013)
Fixes several undo/redo issues with the attachment dialog
2024-10-08 09:05:49 -05:00
PaddleStroke bf804beb21 Assembly: Fix migrationScript2 error with bad joints (#17010)
* Fix migrationScript2 to handle bad joints
2024-10-07 18:49:01 -05:00
Bas Ruigrok e3af254dd6 Gui: Fix Touchpad navigation style panning in edit mode 2024-10-07 12:41:02 -05:00
marioalexis ac8d084924 Fem: Add option to use old Netgen mesher implementation 2024-10-07 11:11:25 -05:00
mwganson 3ad9565f56 [Part Workbench] Fix issue with Sketcher_NewSketch icon moving on changing back to workbench 2024-10-07 10:53:03 -05:00
Furgo 0e1e7dcf03 Create the assembly object inside the list of commands 2024-10-07 10:50:20 -05:00
mwganson 6e5375002f [Step Import] fix issue with non-latin characters in import path 2024-10-07 10:43:26 -05:00
marcuspollio 4d9685ae0d Start: little layout tweak to First Start Region 2024-10-07 10:41:58 -05:00
wmayer 3d97955f7d TD: Fix compiler warnings
This fixes the compiler warning: unused parameter 'mode' [-Wunused-parameter]

It's a regression of #16889 to not initialize the class member m_createMode any more that causes UB,
i.e. whenever m_createMode is accessed it may return an unexpected value.
2024-10-07 10:40:47 -05:00
Florian Foinant-Willig 69823f7abc [PD] Fix subtractive primitive placement 2024-10-07 10:39:48 -05:00
Florian Foinant-Willig 22a8ffdbe4 [PD] fix change primitive AttachmentOffset move the body 2024-10-07 10:39:48 -05:00
Unl0gic ad9e6231f9 Update SurfaceSupport.py
- Fixed mapping v_bit to ConeCutter
2024-10-07 10:35:14 -05:00
wandererfan 32c664bdaa [TD]fix parallel edge test (fix #16851)
- missing normalization before test
2024-10-07 10:34:28 -05:00
Benjamin Bræstrup Sayoc 664805fa4d [Sketcher] If origin selected: don't do distance to origin
In auto constrainer. Fixes #12684
2024-10-07 09:02:56 -05:00
mwganson fd8ef079d0 [PartDesign AllowCompound] recompute all features when AllowCompound property is changed either from true to false or from false to true 2024-10-07 08:56:25 -05:00
shai 3d400211da Fix issue #17035 2024-10-07 08:35:56 -05:00
Eric Price 0909816af6 Changed QuickMeasurement to be conservative (#17060)
* Changed QuickMeasurement to be conservative

QuickMeasurement should not measure while tool dialogs are open
this includes but is not limited to editing sketches
also changed several other sanity checks to be opt-in vs opt-out, as discussed.

* move the test if it is safe to measure to when the measurement actually happens - avoids any potential race conditions
2024-10-07 08:33:46 -05:00
Roy-043 344ff7b946 BIM: BimWall add missing imports
Fixes #16996.
2024-10-07 15:21:41 +02:00
Roy-043 00610a62c5 Draft: avoid confusing SVG warning for nested circles and ellipses
Forum topic:
https://forum.freecad.org/viewtopic.php?t=90942
2024-10-07 15:08:31 +02:00
bgbsww bd4afe9f6e Disallow end_all_events in Gesture Nav Style 2024-10-07 15:03:47 +02:00
Roy-043 1119303d36 More logical implementation of the fix. 2024-10-07 15:00:44 +02:00
Max Wilfinger ea0b0bacac Update images on XDGData and README 2024-10-07 14:55:11 +02:00
Furgo ab49392da3 Prepend a single quote to BOM index to be interpreted as a string in generated spreadsheets 2024-10-04 08:53:27 -05:00
Roy-043 8932d52107 BIM: Compatibility fix for walls based on wire or face with -Z normal
In V1.0 the handling of wall normals has changed. As a result existing walls with their Normal set to [0, 0, 0], based on wires or faces with a shape normal pointing towards -Z, would be extruded in that direction instead of towards +Z as before. To avoid this their Normal property is changed to [0, 0, 1].
2024-10-04 13:55:01 +02:00
Ajinkya Dahale 7acf6274a4 [Sketcher] Apply tangent autoconstraint only when Dir given
This relates to `seekAutoConstraint` and `seekAndRenderAutoConstraint`.

Fixes #16321.
2024-10-03 23:18:07 -05:00
Florian Foinant-Willig f14917e8d4 [PD Helix] allow refinement to fail 2024-10-03 21:54:29 -05:00
bgbsww c587d6b8f9 Refine further 2024-10-03 13:47:37 -05:00
bgbsww 40239810cc Return to python; simplify to work with only classic names, provide migration 2024-10-03 13:47:37 -05:00
bgbsww 9aba82d5d6 Correctly build reference from selection subname 2024-10-03 13:47:37 -05:00
Jiří Pinkava cdec2159f1 Gui: fix warning with duplicate name in DlgSettingsLightSources 2024-10-03 13:23:04 -05:00
Kris Wilk e76ebea729 Placement Dialog: Use default tab order (Fix #16944) 2024-10-03 11:44:07 -05:00
wmayer baa57f5ee4 Fix compiler warning 2024-10-03 11:31:45 -05:00
Kris Wilk c43e19820d Prevent using reserved names for properties or aliases (Fix #16846) (#16902)
* Prevent naming properties with reserved words (Fix #16846)

* Prevent using reserved constant names for properties or aliases

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

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

* App: Add unit test for isTokenAConstant

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Chris Hennes <chennes@pioneerlibrarysystem.org>
2024-10-03 10:03:21 -05:00
PaddleStroke 3325ae99a9 Chennes fix
Co-authored-by: Chris Hennes <chennes@pioneerlibrarysystem.org>
2024-10-03 10:01:31 -05:00
PaddleStroke c6f5def7d7 Assembly: Use cpp getGlobalPlacement python binding rather than reimplementing it. 2024-10-03 10:01:31 -05:00
PaddleStroke 3475cf42d2 Core: GeoFeature: Add python binding to the new getGlobalPlacement() 2024-10-03 10:01:31 -05:00
Frank Martinez efb79d1c96 [AddonManager] Set default filter to ANY package type 2024-10-03 09:55:17 -05:00
PaddleStroke 3931953bc7 QuickMeasure: Prevent crash by limiting selection to Part::Features (#16921)
* QuickMeasure: Prevent crash by limiting selection to Part::Features

* chennes' fix

Co-authored-by: Chris Hennes <chennes@pioneerlibrarysystem.org>

---------

Co-authored-by: Chris Hennes <chennes@pioneerlibrarysystem.org>
2024-10-03 09:49:31 -05:00
Roy-043 72441c3a27 BIM: check if Width and Height of window are not zero 2024-10-02 22:49:44 -05:00
André Althaus a953eb20e3 Only omit edges for group children in the dependecy graph
All edges for GeoFeatureGroupExtension where omited even if the
dependency was not a child of the object.
2024-10-02 22:45:05 -05:00
wmayer 5feb628feb Core: Fix macro recording when using module_io 2024-10-02 22:13:40 -05:00
Benjamin Nauck 11bc6c6b69 Fix macos crashes when unhandled exceptions reaches qt 2024-10-02 22:12:03 -05:00
wmayer 484a262c31 Core: Do not save changes of a text object if the GUI document is about to be closed
This fixes #16873: Text document breaks some Analysis container objects
2024-10-02 21:42:16 -05:00
David Carter 1b33aedb56 Materials: Correct DiffuseColor custom attribute
Custom attributes were modified to maintain the behaviour of setting
transparencies using the DiffuseColor alpha channels
2024-10-02 21:35:28 -05:00
Pieter Hijma c70093d22f Gui: Fix segfault in Expression Editor/VarSet 2024-10-02 21:31:33 -05:00
André Althaus 5410d92eb1 Remove the explicit dependency on Version.h from the fc_version target
This caused problems witht the Makefile generator because it doesn't
support the BYPRODUCTS option.
2024-10-02 21:31:00 -05:00
David Carter dbf849a592 FEM: Translation error causing a crash
An error in the Italian translation added an extra '{}' to the
translation string resulting in a dump when formatting.

This has also been updated in CrowdIn but as it's causing a crash is
also beiung changed via this PR. It should updated correctly when
doing the next translation pull.

Fixes #16704
2024-10-02 21:29:50 -05:00
hlorus 2b5dca48a5 MeasureGui: Also hide delta measurements 2024-09-30 11:24:31 -05:00
hlorus 9830160821 MeasureGui: Remove leftover reset of _mMeasureObject
This was introduced in af9097ce87 due to a faulty resolve of a merge conflict
2024-09-30 11:23:11 -05:00
WandererFan 5ac53527df [TD]Fix auto correct msg missing16892 (#16909)
* [TD]fix bad return code on auto-correct fail

* [TD]prevent changing references in property editor

- this is a "shoot yourself in the foot" practice
2024-09-30 11:21:02 -05:00
mwganson 70befd69d5 [Part CheckGeometry] prevent crash when attempting to check origin axis 2024-09-30 11:19:22 -05:00
Benjamin Nauck 20c552693d Include a warning to devs for unhandled exceptions
The same situation will cause a crash on at least macOS.
2024-09-30 11:15:26 -05:00
wandererfan 0117d6994a [TD]fix no dim repair on area (fix #16894) 2024-09-30 11:13:40 -05:00
André Althaus 49ee02277b Regenerate Version.h if the git hash changes
Prevous Version.h was not regenerated after it was initially created.
This prevented an accurate commit hash in the About dialog when
incrementally building from source.

Now the file is always rewritten when it's content is changed.
2024-09-30 11:12:54 -05:00
Shai Seger 41d8ed4c78 [CAM Simulator][1.0] Change usage of sample shader code to one with compatible license. (#16899)
* Change usage of sample shader code to one with compatible license.

* [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-09-30 11:08:52 -05:00
Frank Martinez e00765506c Revert 9b409da due to a regression in some platforms 2024-09-30 11:07:04 -05:00
wmayer 66ec2642a4 Core: Do not set to XY plane by default if the rotation of the image doesn't match 2024-09-30 11:04:16 -05:00
wmayer cec0213799 Core: Fix resetting placement of transformed image
The restored Euler angles of a rotation may significantly differ from the input Euler angles so that determining the plane isn't very reliable.
To get the plane reliably multiply (0,0,1) with the rotation and use this as reference normal of the plane.
2024-09-30 11:04:01 -05:00
wandererfan 5b4fac652d [TD]fix solid line detail highlight not shown 2024-09-30 11:01:53 -05:00
wandererfan c4bf46e97a [TD]fix handling of projection convention (fix #16788 #16785) 2024-09-30 11:00:56 -05:00
wandererfan b885af57b2 [TD]add preference methods for Projection Group 2024-09-30 11:00:56 -05:00
Eric Price 4d54b458a7 Do not allow loft where the segment shapes are too close ( fix #5855 )
A loft or pocket only makes sense if the segments used for it have some minimum separation. Having the shapes identical causes segfaults in OCCT

Checking for CoG is a hack. Identical shapes have identical CoG - but an identical CoG does not necessarily mean identical shapes - however it can be argued that a shape that is not offset at least somewhat in the direction of the loft doesnt make a valid shape for a loft (it will typically freeze OCCT instead of crashing it) and a sufficiently suitable shape will have a different CoG

throwing the exception will make it easy to identify if there ever is a case where this is a bad thing - and exceptions are better than segfaults.
2024-09-30 10:58:25 -05:00
bgbsww 13f719f285 Tiny doc format changes to make pybin11_stubgen happy 2024-09-30 10:54:04 -05:00
marioalexis 1c53cde453 Fem: Add offset between faces and wireframe in FemPostObject view provider 2024-09-30 10:50:24 -05:00
Eric Price d2c9078fd3 PadDesign: Work around issue 16690
This is a stopgap measure, I don't know if the underlying issue is fully understood - but this prevents it from happening in the given test case.

By overriding the base for the pocket prism, which is a trick also applied by
TopoShape::makeElementPrismUntil() if the prism creation fails on first try, the bug where said prism goes to the wrong shape is avoided - this on its own would however break a pad in the inverse case, so we only do that when pocketing
2024-09-30 10:48:01 -05:00
Benjamin Nauck 5575ad7085 Fixes name 'PyExc_FC_AbortIOException' is not defined 2024-09-30 10:46:21 -05:00
wandererfan 587e0b2bf9 [TD]fix bad default value (fix #16783) 2024-09-30 10:45:20 -05:00
bgbsww 469379de61 Make python Regex Strings raw to avoid py3.12 SyntaxError 2024-09-30 10:43:10 -05:00
wandererfan 3bccd5bd6a [TD]allow override of Balloon drag modifier (fix #15388) 2024-09-30 10:40:54 -05:00
wandererfan 668d72dfe2 [TD]add preferences for Balloon drag modifiers 2024-09-30 10:40:45 -05:00
PaddleStroke b327870fd4 Assembly: Fix lag during dragging of large assemblies. Bundle fix joints together. Show only the movingJoint during dragging. Do not recompute joints during dragging. 2024-09-30 10:39:06 -05:00
Syres916 57a94ff4f3 [Gui] Qt6 OpenGLWidget - move black rectangle off screen (#16863) 2024-09-27 22:52:07 -04:00
Jacob Oursland 734ea2e8bc CI: Fix conda builds. 2024-09-27 09:39:27 -04:00
Eric Price d4db6e1432 Measurement: Avoid null shapes to be returned in all code branches (Fix #16820)
Returning a null shape would have triggered an exception in the bottom branch but not in the top one - which later leads to a segfault - solution - raise an exception. OOC doesn't like null shapes.
2024-09-25 12:30:06 -05:00
David Carter 1d4d524932 Materials: Fix QT6 error
The MaterialTreeWidget was not working in QT6 due to a type check for a
QT5 widget
2024-09-25 11:49:16 -05:00
Roy-043 aca050d47c Fix linter warning 2024-09-25 16:01:06 +02:00
Yorik van Havre f34c43d56e Merge branch 'releases/FreeCAD-1-0' of github.com:FreeCAD/FreeCAD into releases/FreeCAD-1-0 2024-09-25 16:00:14 +02:00
Eric Price 843b724b6d Measurement: Correctly handle unknown selections to avoid segfaults (Fix 16794)
The measurement code did not handle mixed selections of known and unknown types correctly. Although a unknown selected object would leave the type at Invalid, selecting both known and unknown objects would have the type determined by the known object type and treat the unknown as the same. This causes exceptions and - worst case a segmentation fault.

This fix introduces a new category "other" which - if present in a selection always forces type to Invalid. This should be forward compatible in case new types are introduced in the future.
2024-09-25 07:49:10 -05:00
chris 118cc02c74 issue #15329 add missing include to resolve build error 2024-09-24 19:10:01 -05:00
Eric Price 6bab0c2787 PartDesign: Loft Intelligence - Select the whole sketch if the selected shape is … (#16791)
* Loft Intelligence - Select the whole sketch if the selected shape is a component of a sketch that is not a vertex (Fix #16630)

In fa8f29aed4 FeatureLoft.cpp was refactured, dropping some functionality, mainly the ability to create lofts to entire sketches or other 2d shapes if a single component that was not a single vertex was selected as either the base shape or a section

the old code was:

1     auto getSectionShape =
2          [](App::DocumentObject* feature, const std::vector<std::string> &subs) -> TopoDS_Shape {
3              if (!feature ||
4                  !feature->isDerivedFrom(Part::Feature::getClassTypeId()))
5                  throw Base::TypeError("Loft: Invalid profile/section");
6
7              auto subName = subs.empty() ? "" : subs.front();
8
9              // only take the entire shape when we have a sketch selected, but
10             // not a point of the sketch
11             if (feature->isDerivedFrom(Part::Part2DObject::getClassTypeId()) &&
12                 subName.compare(0, 6, "Vertex") != 0)
13                 return static_cast<Part::Part2DObject*>(feature)->Shape.getValue();
14             else {
15                 if(subName.empty())
16                     throw Base::ValueError("No valid subelement linked in Part::Feature");
17                 return static_cast<Part::Feature*>(feature)->Shape.getShape().getSubShape(subName.c_str());
18             }
19         };

this commit forward-ports the missing functionality provided by line 7-12 in above snippet

* Code cleanup as suggested by (#16791)
2024-09-24 15:01:49 -05:00
Florian Foinant-Willig 55e912b060 [PD] Fix Pad uptoface with custom direction (#16539)
* [PD] Fix Pad uptoface with custom direction

* Add unit test
2024-09-24 11:30:17 -05:00
wandererfan d272722d9d [TD]fix crash on bad selection (fix #16727) 2024-09-24 10:08:05 -05:00
Benjamin Nauck 690f06e618 Swaps out the hard coded icon to the standard svg icon 2024-09-24 10:04:32 -05:00
Syres916 ea9d1c4fd2 [BIM] Fix error starting BIM Wb for certain new users 2024-09-24 14:22:58 +02:00
Eric Price cf9e2e9c9a CLI: Enforce LC_NUMERIC=C on Posix systems (#16724) (#16763)
* Enforce LC_NUMERIC=C on Posix systems (#16724)

Initialising Qt with native LC_NUMERIC affects XML import on CLI (freecad -c)

This causes sketch constraints and potentially other components relying on numeric constants to break or have incorrect values.

Forcing LC_NUMERIC to C avoids this issue and enforces reproducible behaviour on all locales.
This does not affect the number format displayed in the GUI, as set in preferences.
2024-09-23 19:10:28 -05:00
Chris Hennes 3d63fc6c2f cMake: Update version to 1.0.0RC2 2024-09-23 16:14:10 -05:00
Frank Martinez 99097c61f6 Splash Screen minimal show time. Issue #16264 2024-09-23 16:07:31 -05:00
Yorik van Havre b0d847ca15 Translations (#16754)
* Updated ts files

* merged crowdin translations

* [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-09-23 14:12:15 -04:00
bgbsww 95e93a3ab1 Match LS3 opcodes for sketch shape 2024-09-23 10:45:48 -05:00
3x380V e061f81beb TechDraw: Buggy Wayland custom cursors workaround (#16740)
* Gui: Minor polishing of cursor regression fix

* TD: Buggy Wayland custom cursors workaround

Until Qt v6.6 displaying custom cursors on Wayland is broken,
so add a workaround. See also QTBUG-95434.

Fix is the same as d3bb2068 ("Gui: Buggy Wayland custom cursors workaround")
plus subsequent fixes.
2024-09-23 10:43:28 -05:00
Christoph Moench-Tegeder 94d1a67d88 replace exec_program() with execute_process()
Recent CMake (>= 3.28) do not allow exec_program() any more by default,
but prefer execute_process(), which takes slightly different flags.
According to the documentation, exec_program() has been deprecated
since CMake 3.0 (which was released in 2014, so it should be common
enough that I don't feel like making allowances for any really old CMake).

References: https://cmake.org/cmake/help/latest/policy/CMP0153.html
2024-09-23 10:41:34 -05:00
WandererFan 8fe89409a5 [TD] Fix win file spec backslash (fix #16646) (#16689)
* [TD]add method to clean win filespecs

- '\' in strings passed to Python as filespecs is interpreted as
  an escape of the following character.
- replace '\' with '/'

* [TD]remove '\' from filespecs before use
2024-09-23 10:40:22 -05:00
Shai Seger 29d4c9f13a [Cam Simulator][1.0] Fix minor Ambient Occlusion bug. (#16665)
* Fix minor Ambient Occlusion bug.

* fix text cutting in CAM Simulator task panel. Issue #16707
2024-09-23 10:39:09 -05:00
wandererfan 98cb3ae80e [TD]fix BrokenView selection (fix #16567) 2024-09-23 10:37:11 -05:00
Kevin Martin 288b6e6943 DXF: Fix Import related behavior reported in issues #13597 and #16068 (#16511)
* Fix double-import on exception in ImportGUI.readDXF
The python code has a try/catch block intended to detect if the ImportGUI module is present and if so use its readDXF method, otherwise use Import.readDXF.
The block was incorrectly structured so that Import.readDXF would also be called if ImportGUI.readDXF raised an exception, causing the DXF file contents to be loaded twice into the drawing (at least, up to the point where the exception occurred)

* Make ImpExpDxfRead::MakeLayer use centralized accessor for Draft module
The importer class already had a method to find the python Draft module, but MakeLayer was doing the work itself. Now it uses the centralized accessor, which has also been improved to generate a message if the module can't be loaded.

* Give compounded objects names related to the containing layer name
If "Use Layers" is set and also "Group layers into blocks" the names of the generated compound objects will be based on the name of the containing layer.
If "Use Layers" is not set this will not occur because in general objects from several layers would be compounded together.
Fixes (partially) #16068, the remaining fix is likely just an explanation of the interaction of the options.
closes #13597

* Use correct (new) property name OverrideShapeAppearanceChildren
This corrects a bug created by commit 495a96a which renamed the layer property "OverrideShapeColorChildren" to "OverrideShapeAppearanceChildren" but missed this particular reference to the property by its old name.

The code here called PyObject_SetAttrString which, due to the wrong attribute name, set an expection state in the Python engine, ultimately causing the next attempt at importing a module to fail, with various consequences depending on why the module is being imported.

* Wrap PyObject_SetAttrString and PyObject_GetAttrString with error-checkers
In DEBUG compiles these methods are wrapped to report errors which can occur if the property cannot be referenced.

* Make some error-printers static instead of const
They don't need the CDxfRead object to work

* Display exceptions raised by ReadEntity
Although the DXF reader has an ignore-errors flag, it should still report any errors it encounters. The flag is deemed to mean that, after an error, the reader should continue to try to read the file rather than quitting on the first error.

* [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-09-23 17:28:32 +02:00
hasecilu 49aee8e57c Help: Don't open 404 documentation pages
Unfortunately, not all documentation is translated.

Instead of presenting to the user 404 code error pages is preferable to
show the documentation on English.

Status codes 200 and 404 are assumed as requests response.
2024-09-23 17:17:51 +02:00
David Carter 555299ddea Materials: Update install locations
Ensure icons and images are put in the correct location.
2024-09-23 10:04:52 -05:00
wandererfan a49e5c0c01 [TD]respect camera direction preference (fix #16593) 2024-09-23 09:23:59 -05:00
wandererfan 6eb92e6647 [TD]fix torus render (fix #16646) 2024-09-23 09:21:33 -05:00
wandererfan b99e34bd86 [TD]fix double pdf file on win (fix #16538) 2024-09-23 09:19:05 -05:00
marioalexis a48fd0f422 Fem: Use shape global placement in Mesh Netgen new implementation 2024-09-23 08:17:21 -05:00
marioalexis b164b49b81 Fem: Add offset between faces and wireframe in FemMesh view provider 2024-09-23 08:16:45 -05:00
marioalexis 162eeeb5de Fem: Use reference subshape transformation on the underlying geometry 2024-09-23 08:12:01 -05:00
Jiří Pinkava 7a1282a6da BIM: Fix tabstop order for Project Manager dialog
Until now not defined explicitly, using tab juped throught boxes in
order in which they were created, which is really jumpy user experience.
2024-09-23 12:15:19 +02:00
Kevin Martin 238c68d8eb DXF: Place objects in layer all at once rather than one at a time to improve DXF import speed dramatically. (#16596)
* Place objects in layer all at once rather than one at a time.
This reduces (by a factor of the number of objects in the layer) the number of times that the layer contents are traversed to set the properties of the contained objects.
This means the layer insertion of O(n) rather then O(n^2) on the number of objects.
Also remove a loop invariant in view_layer so the chidren are not traversed if colours or appearnces are not inherited from the layer.
Fixes #15732

* [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-09-23 11:41:41 +02:00
Kevin Martin 7cc34c9072 DXF: Remove O(n^2) time on DXF import with the legacy importer (#16611)
* Remove O(n^2) time on DXF import
Accumulates the contents of each layer in a local Python list, then at the end assignes all the objects at once into the layer. This avoids a very slow process of traversing the objects so far and (re-)updating their properties each time a new object is added.
Fixes #16604

* Correct last change to not damage existing layer contents.
The layer could already have contents if the DXF file is being Imported rather than Opened.
The original change would lose the previous layer contents.
2024-09-23 11:38:16 +02:00
hlorus b2b0af95d8 MeasureGui: Move _mMeasureType member to local variable
Fixes #16565
2024-09-22 20:35:25 -05:00
Florian Foinant-Willig 6afb4a0220 [PD] Fix Pad uptoshape and add unit test 2024-09-22 17:22:56 -05:00
Roy-043 50962ae9fe Correct tree icon for TechDraw_AreaDimension 2024-09-22 16:59:11 -05:00
Bas Ruigrok 87e2d01ccb Tux: Fix default orbit style shown in status bar 2024-09-22 16:57:48 -05:00
bgbsww 6625b675af Update method names and clean 2024-09-22 16:55:45 -05:00
Zheng, Lei 7c16b82e70 Transfer FeatureHole code 2024-09-22 16:55:45 -05:00
Benjamin Nauck 72ae812aa4 Use backspace as default to delete on mac
Only full size mac keyboards has a specific delete key, most doesn't.
2024-09-21 10:37:44 -05:00
bgbsww 4c3ffa617a Correct error in resolveElement 2024-09-21 10:36:39 -05:00
David Carter a5c4416bd0 Materials: Set transparency from DiffuseColor
Migrate the transparency from the DiffuseColor alpha channel to the
transparency color attribute. This allows the alpha channel to be
used as designed

fixes #14938
2024-09-21 10:35:54 -05:00
Chris Hennes 24f67f2d87 GUI: Fix mistake in cherry-picking
The cherry-pick lost the deletion of a line of code.
2024-09-20 09:17:12 -05:00
Jiří Pinkava 580e7879d4 Gui: Fix path to QRC file in PreferencePages UI file
QtCreator, when the file is opened, reports reference to .qrc filewhich
does not exists. It looks like a missing piece from ccb9d7faeb.
2024-09-20 08:43:27 -05:00
CalligaroV 3cf5f0e086 Sketcher/Gui: check if there's a 3D view while executing ViewProviderSketch::unsetEdit()
Signed-off-by: CalligaroV <vincenzo.calligaro@gmail.com>
2024-09-20 08:30:08 -05:00
supermixed 18de22a8a7 Core: Import STEP: Cancel button does not cancel (#16499)
* Fix importing .step file when user cancelled import settings dialog
* Refactor object loading python code, fix not using settings when STEP options dialog not shown
* Use custom exception type for user cancelling import instead of `RuntimeError`
* Pull python code out to external file
2024-09-20 08:25:44 -05:00
xtemp09 28bcea6613 [GUI] Move the Push In and Pull Out buttons to the left side
Closes #16587.
2024-09-20 08:20:02 -05:00
theosib 5755e70636 Filter out infinite shapes from Sweep available surfaces 2024-09-20 08:18:27 -05:00
theosib f65a9ffec5 Filter out infinite shapes from Loft available shapes 2024-09-20 08:18:27 -05:00
Frank Martinez 6d5c7ea855 Change fixed selection colors to style based palette. Issue #16454
GUI: Merged cherry-picked 6afc6c7757 to 1.0 branch
2024-09-20 08:11:53 -05:00
bgbsww ae7fe1bc2e Match Ruled Surface behavior to prior versions 2024-09-20 08:09:26 -05:00
Bas Ruigrok acbce24dd9 Gui: Fix segfault in align to selection tool 2024-09-20 08:06:45 -05:00
David Carter d0e0cf112f Materials: ShapeMaterial not properly restored
The ShapeMaterial variable was not being properly restored. It's UUID
was restored but the material was not being loaded and set
2024-09-20 08:05:01 -05:00
Florian Foinant-Willig 6310430e38 [PD] fix pad uptoface and uptoshape (#16030)
* [PD] fix Pad UpToFace and UpToShape
* specify struct pointers for Win
* Rename variables for MSVC compatibility - windows.h defines 'near' and 'far' as macros
* Add unit test

---------

Co-authored-by: Chris Hennes <chennes@pioneerlibrarysystem.org>
2024-09-19 08:51:37 -05:00
bgbsww 064abb30ee Move the recompute dialog to after Gui opens instead of per document signal. 2024-09-19 08:49:27 -05:00
PaddleStroke 3c1b54200d Measure: Fix quickmeasure globalplacement. 2024-09-19 08:48:12 -05:00
Chris Hennes 25a0847e60 Addon Manager: Don't crash on bad XML
Wrap all metadata reads in try/except blocks and gracefully bail out if the data is bad.
2024-09-19 08:46:04 -05:00
Roy-043 5f7eb6c16f BIM: show AutoUpdate of existing ArchSchedule
Fixes #16655.
2024-09-19 14:18:21 +02:00
Yorik van Havre 915c05a289 Translations (#16582)
* updated ts files

* merged crowdin translations

* [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-09-19 09:37:33 +02:00
Syres916 a82eb29af1 [Draft] Improve the color activation and ability to change… (#16603)
* [Draft] Improve the color activation and ability to change size of the snap text

* [Draft] Correct dimension text size calculation
2024-09-19 09:04:06 +02:00
bgbsww e19f583e77 Sketcher: Do not consider missing external geometry to be an error (#16590)
* Do not consider missing external geometry to be an error; highlight in conflict color.
2024-09-18 15:18:29 -05:00
hlorus dd31321038 MeasureGui: Auto close task on document deletion 2024-09-18 13:04:15 -05:00
Zheng, Lei 4fd8b40f65 Base: fix XMLReader non-closing character stream 2024-09-18 12:59:23 -05:00
Benjamin Bræstrup Sayoc 89b118e125 Revert "[Measure] Fix redundant variable assignment"
Fixes #16564. This reverts commit a7831eee4b.

Co-authored-by: Murmele <Murmele@users.noreply.github.com>
2024-09-18 08:36:39 -05:00
bgbsww b215a96f5d If we are creating a Sketch inside a Body that is in a link, use link position 2024-09-18 08:35:37 -05:00
bgbsww eca9a105af Gui: fix python syntax in C++ code that broke some compilers (#16614) 2024-09-18 08:33:53 -05:00
marioalexis 814945f728 Fem: Replace old FemMesh Netgen object implementation 2024-09-16 19:16:42 -05:00
marioalexis 58d27094fa Fem: New implementation of FemMesh Netgen object 2024-09-16 19:16:42 -05:00
marioalexis 61cc23bda2 Fem: Add set of mesh elements from a list 2024-09-16 19:16:42 -05:00
Bas Ruigrok d4006c4937 App: Return root object placement if target and root object are the same in getGlobalPlacement
(cherry picked from commit 8db7191084)
2024-09-16 13:01:12 -06:00
Ladislav Michl fad1c30559 Main: simplify banner
FreeCAD advertizes itself too noisy way which brings no usefull
infomation. Unify banner for commandline and GUI application and
drop unicode '(C)' character.
2024-09-16 11:15:06 -05:00
Jiří Pinkava 57c23537d0 Gui: fix size of ComboBox in Preferences/Navigation
Fixes visual artifact in the Preferences/Navigation dialog. The
default value for this field is 0 (at least for some Qt versions),
which does not make sense, because the element would be invisible.

Also the element is actually invisible when editing the UI file in
QtCreator.

Using the default "max" value set for other fields.
2024-09-16 11:07:27 -05:00
hlorus 255bdadf88 Measure: Use getGlobalPlacement method (#16251)
* Initial commit to apply delta also for interactive measurement

* Not required special logic to check if possible, it can be easily checked if the property exists

* remember setting so it is not required to turn it always on

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

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

* Measure: Use getGlobalPlacement method

Fixes #16058

---------

Co-authored-by: Martin Marmsoler <martin.marmsoler@gmail.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-09-16 11:05:37 -05:00
CalligaroV 0312824742 Do the same for the elements selected in the Task Panel
Signed-off-by: CalligaroV <vincenzo.calligaro@gmail.com>
2024-09-16 11:01:40 -05:00
Zheng, Lei a323e03030 Sketcher/Toponaming: call SketchObject::convertSubName() in ViewProviderSketch::addSelection2() 2024-09-16 11:01:40 -05:00
marioalexis c0941f9e22 Fem: Enable cancel meshing for Gmsh - fixes #5914 2024-09-16 10:53:50 -05:00
marioalexis 7d13b17b1e Fem: Add base class for FemMesh task panels 2024-09-16 10:53:50 -05:00
Yorik van Havre b1e611d7e3 BIM: Support for IfcOpenShell 0.8 2024-09-16 10:51:49 -05:00
bgbsww 4a57077f73 Add override flag for recomputes; set it in relevant tests with old files. 2024-09-16 10:50:48 -05:00
bgbsww d1903eabc7 Move code for recompute dialog and disable warning 2024-09-16 10:50:48 -05:00
Zheng, Lei c093a79151 Transfer in LS3 code 2024-09-16 10:50:48 -05:00
qewer33 779e1b2bb5 Update about dialog thumbnail image 2024-09-16 10:46:45 -05:00
Shai Seger a86b0ad3fd [Cam Simulator][1.0] Limit anti alias samples for better compatibility. (#16416)
* Limit anti alias samples for better compatibility. might solve Wayland problem, issue #15665

* Antialias samples are taken from display prefs

* [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-09-16 10:42:19 -05:00
Jiří Pinkava b55d54a417 Sketcher: initialize geometry history limit variable (#16337)
* Sketcher: initialize geometry history limit variable

The variable seems to be uninitialized, valgrind complais about it.

The `git grep geoHistoryLevel` and the code ispection suggest it is never set.
If initialized to zero, most of the related code is never used, which
can point to the fact there is either another bug or the code is unused.

The variable was introduced in 42bf92ad12.

* Sketcher: Default geoHistoryLevel to 1

---------

Co-authored-by: Chris Hennes <chennes@pioneerlibrarysystem.org>
2024-09-16 10:41:29 -05:00
wandererfan c5fef051f0 [TD]allow SaveCopy from MDIViewPage (fix #16447) 2024-09-16 10:36:09 -05:00
Roy-043 5e32fe2547 BIM: exportIFC.py fix UnboundLocalError
As shown in the image here:
https://github.com/FreeCAD/FreeCAD/issues/16485#issue-2523042111
2024-09-16 13:38:28 +02:00
Jiří Pinkava 192314b070 BIM: refactor wellcome window, drop most obvious comment 2024-09-16 13:29:27 +02:00
Jiří Pinkava aba9c8d74d BIM: drop unnecessary setPixmap from wellcome window
The image is already set in the UI file, it is not necessary to set it again
2024-09-16 13:29:18 +02:00
Jiří Pinkava 29ef93cbf3 BIM: adjust size of wellcome window to fit content
The actual optimal size of the window depends on many details, like UI style, system fonts,
OS etc ... so lets auto-resize the window to fit the content before display.
2024-09-16 13:29:10 +02:00
Roy-043 c6a273b789 Draft: Fix regression with layer print color
Problem with the same cause as #16212.
2024-09-16 10:08:25 +02:00
hoshengwei fa9d92a819 fix Material TaskPanel Load Preset not working bug 2024-09-16 10:04:00 +02:00
Kacper Donat 756d1a0a80 Gui: Use FreeCAD Theme only for FreeCAD stuff 2024-09-13 13:26:58 -06:00
Yorik van Havre 14ff4cb869 Draft: Fixed restrained movement - Fixes #16386 2024-09-13 13:20:59 -06:00
Bas Ruigrok 37b8fd1e40 Move isLink and isLinkGroup from AssemblyObject to DocumentObject 2024-09-13 13:10:59 -06:00
Bas Ruigrok 53b878869e Gui: Fix alignment direction for transformed objects 2024-09-13 13:10:59 -06:00
Bas Ruigrok d515ba9428 Move getGlobalPlacement from AssemblyObject to GeoFeature 2024-09-13 13:10:59 -06:00
Bas Ruigrok 131618941c Move splitSubName from AssemblyObject to Base::Tools 2024-09-13 13:10:59 -06:00
Jacob Oursland 196312941c Windows: Make FreeCAD.exe debuggable on PDB builds. 2024-09-13 12:30:47 -06:00
Jacob Oursland d8ea9a6bca CMake: conda-macos-* do not search Homebrew for dependencies. 2024-09-13 12:28:43 -06:00
Jacob Oursland 21af2176a6 Base: switch header include type for consistency with codebase. 2024-09-13 12:27:37 -06:00
Jiří Pinkava 358451359c GUI: Fix tree visibility click when a tree item gets collapsed
The tree can change shape during handling the mousePressEvent() event,
because some part of the tree can be (un)folded. This might lead to
shift of the three (up or down). The position of items in tree change
relatively to the position of mouse (which stays in place).
If the visibility click is handled after mousePressEvent, the shift in
position can lead to cursor beeing over visibility icon and the click
is handled like if the visibility icon vas clicked, which is unexpected.

Handling the visibility click first fixes this. The setAccepted(true),
was removed, it is left to the subroutine to set it.
2024-09-13 12:25:03 -06:00
Benjamin Bræstrup Sayoc d00aae972c [Measure] Redirect enter key press to apply button
Fixes #16401. Now call of the save function is dependent on whether the apply button is enabled. The button is only enabled if valid objects to save.
2024-09-13 08:43:07 -05:00
Benjamin Bræstrup Sayoc 4e5e193c76 [Measure] Fix redundant variable assignment 2024-09-13 08:43:07 -05:00
wmayer 1c9432539a Port: Include changes of FreeBSD port 2024-09-13 08:32:16 -05:00
Yorik van Havre add3a14b6e Draft: Fixed function case 2024-09-13 15:01:50 +02:00
Yorik van Havre 04ee5f8583 Draft: Fixes error in Draft trackers when not on a 3D view 2024-09-13 15:01:38 +02:00
hoshengwei 84ae76764e fix ArchMaterialTaskPanel wrong import BimClassification Path
1. fix ArchMaterialTaskPanel wrong import BimClassification Path and icon after BIM merge into Arch

2. change taskpanel name to BIM material 

3. fix Qt slot and signal (more up to date style)
2024-09-13 12:12:24 +02:00
Yorik van Havre 6f6205ff41 Merge branch 'releases/FreeCAD-1-0' of github.com:FreeCAD/FreeCAD into releases/FreeCAD-1-0 2024-09-13 12:09:14 +02:00
Roy-043 f655c2545b Use max instead of if-else for numerical checks (as per linter warning) 2024-09-13 12:09:08 +02:00
Roy-043 5b38fc606c Draft: fix division by zero and count is zero for path arrays
Fixes #16468.
2024-09-13 12:08:56 +02:00
Adrián Insaurralde Avalos 92663a8773 GUI: Fix splashscreen for single image (#16428)
* fix splashscreen for single image
* improve clarity of splashscreen load order logic
* fix splashscreen with no _2x variant
2024-09-12 21:50:19 -05:00
mosfet80 701dc43675 fix CXX standard selection
only   CXX 23, 20 and 17 standards are allowed
2024-09-12 21:36:34 -05:00
pre-commit-ci[bot] 1bf69792ad [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2024-09-12 21:23:43 -05:00
wmayer 6878ed9ffa Qt6: QLocale::countryToString and QLocale::country() are deprecated since Qt 6.6 2024-09-12 21:23:43 -05:00
wmayer c478d2e22e Qt6: Several methods of QMouseEvent are deprecated since Qt 6.0 2024-09-12 21:23:43 -05:00
wmayer 769d46729a Qt6: QColor::setNamedColor is deprecated since Qt 6.6 2024-09-12 21:23:43 -05:00
Benjamin Bræstrup Sayoc 022fb23068 [Gui] Handle unset style preferences in clipboard about info
FIxes #16391
2024-09-12 21:20:50 -05:00
CalligaroV 0a5ceb636c Sketcher/Toponaming: import code for SketchObject::checkSubName() from LS3
* applied review hints

Signed-off-by: CalligaroV <vincenzo.calligaro@gmail.com>
2024-09-12 21:12:17 -05:00
Zheng, Lei 8e7fe5c5f2 Sketcher/Toponaming: import code for SketchObject::checkSubName() from LS3
* import code
 * add modified_item assignment in TaskSketcherElements::onSelectionChanged() like for non ExternalEdge
2024-09-12 21:12:07 -05:00
luzpaz 15d79e8a7b TechDraw: fix typo ballon->balloon 2024-09-12 12:11:58 -05:00
Kacper Donat d5ab4bda33 Gui: Force OpenGL rendering for main window
This is big hack for Qt6 to force rendering using OpenGL from the
beginning. Since Qt6 OpenGL context is initialized only after creating
first QOpenGLWidget which results in window hiding and showing again
after some delay. This causes various timing issus as the window is not
supposed to do that.
2024-09-12 12:11:27 -05:00
wmayer e790200395 StartPage: Make sure to pass a container widget to the QScrollArea
Fixes #16047: FreeBSD: Segfault in StartView::firstStartWidgetDismissed
2024-09-12 12:11:14 -05:00
wmayer 1720ac8ac1 MSVC: Fix several compiler warnings 2024-09-12 12:11:00 -05:00
Yorik van Havre 072d21135a BIM: Fixed bug in BimViews - fixes #16452 2024-09-12 14:31:15 +02:00
Furgo 8a19e37bec Check location and call corresponding addObject, add missing import. Fixes #16435 2024-09-12 14:29:47 +02:00
Yorik van Havre a1c8874705 Merge branch 'releases/FreeCAD-1-0' of github.com:FreeCAD/FreeCAD into releases/FreeCAD-1-0 2024-09-12 11:01:25 +02:00
Roy-043 3a7448afac BIM: fix BIM_Setup license issue
FreeCAD currently has 19 standard licenses. BIM_Setup could only handle the first 10.

Forum post:
https://forum.freecad.org/viewtopic.php?p=781578#p781535
2024-09-12 11:01:13 +02:00
Benjamin Bræstrup Sayoc 983fdfc671 [TechDraw] Fix uncentered balloon label 2024-09-11 19:50:01 -05:00
xtemp09 c2834e873d [GUI] Make some strings untranslatable in Light Sources dialog 2024-09-11 08:41:34 -05:00
Adrián Insaurralde Avalos dafc018b68 CI: add version to cache key for libpack/ccache download actions for win 2024-09-10 17:42:26 -04:00
Adrián Insaurralde Avalos bc815fd244 Fix compiler cache for conda linux builds 2024-09-10 17:42:19 -04:00
spanner888 e3ac0e4d09 save after del, new, add (#16230)
Co-authored-by: spanner888 <spanner888@users.noreply.github.com>
2024-09-10 11:21:04 -05:00
sliptonic 6eefc8e649 set default directory for sanity (#15934)
Respond correctly if user cancels  Fixes #14796

Co-authored-by: Brad Collette <bradcollette@pop-os.localdomain>
2024-09-10 10:24:59 -05:00
Furgo 20065e644b BIM: Fixes profile tool positioning (#16305)
* [BIM] Get working plane when picking a point

Fixes: #16284

* Use the new way of getting the Draft Working Plane
2024-09-10 11:49:23 +02:00
Pieter Hijma 589027ebec Core: Fix duplicated extensions (see #16299) 2024-09-09 22:12:12 -05:00
Murmele 6e203e7083 Measure: Show delta option also in interactive mode (#16379)
* Initial commit to apply delta also for interactive measurement
* Not required special logic to check if possible, it can be easily checked if the property exists
* remember setting so it is not required to turn it always on
2024-09-09 21:39:57 -05:00
marioalexis f7108ddd92 Fem: Set Elmer result output format to Ascii 2024-09-09 11:35:43 -05:00
marioalexis af3ea3bab3 Fem: Allow only one shape type per mesh group - Partially revert #16076 2024-09-09 11:33:06 -05:00
Morimiue 4c473a17eb Sketcher: transfer constraints on conic's mid point to the newly created conic arc (e.g. ellipse arc)" -m "Fixes #15860" -m "When spliting a sketch curve, constraints on the original curve are transferred to the newly created curve. The original code did not consider the constraints on the center point of an ellipse arc. 2024-09-09 11:31:30 -05:00
xtemp09 0e9fa777b3 [GUI] Enable sort of zoom in Light Sources dialog 2024-09-09 11:28:10 -05:00
Yorik van Havre 0b9b4d5347 Translations (#16389)
* Translations: Updated ts files

* Translations: Merged crowdin translations

* [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-09-09 11:26:13 -05:00
wmayer 9f14e6e87b Core: Placement dialog
+ replace separate buttons with QDialogButtonBox
+ add convenience method setPlacementAndBindObject
+ use const DocumentObject
2024-09-09 11:25:31 -05:00
wmayer 8828587084 Core: Add option to ignore transactions in placement dialog 2024-09-09 11:25:31 -05:00
wmayer 687f01c84a Core: Expose Placement dialog to Python 2024-09-09 11:25:31 -05:00
wmayer d07ae89f72 Core: Change placement dialog to operate on passed selection objects 2024-09-09 11:25:30 -05:00
wmayer bb3c7afe95 Core: Refactor placement dialog 2024-09-09 11:25:30 -05:00
PaddleStroke 71c6a4f3d7 Assembly: Replace Offset and Rotation properties by Offset1 and Offset2, giving full control over JCS positions. 2024-09-09 11:22:22 -05:00
PaddleStroke bcd08a01ba Sketcher: Rectangle DSH: refactor the createShape function. 2024-09-09 11:15:15 -05:00
PaddleStroke 8108b93058 Sketcher: Fix round corner + thickness issue if radius + thickness = 0. 2024-09-09 11:15:15 -05:00
Florian Foinant-Willig e7acb60253 [PD] Fix helix placement 2024-09-09 11:11:50 -05:00
Kacper Donat 985089a26d Sketcher: AutoColor should update only colors
Previously AutoColor property forced reinitialization of all subscribed
parameters. It was mostly fine as most of them should stay in sync with
user settings but it also affected grids.
2024-09-09 18:08:29 +02:00
CalligaroV 2dd4526531 Call ComplexGeoData::ensureElementMap() in ComplexGeoData::readElements()
Signed-off-by: CalligaroV <vincenzo.calligaro@gmail.com>
2024-09-09 11:06:18 -05:00
Syres916 20b996ab12 [Spreadsheet] Fix CSV import by insert 2024-09-09 11:04:23 -05:00
wmayer d4feb51402 Port: Include some important changes of the OpenBSD port
Forum thread: https://forum.freecad.org/viewtopic.php?t=80792
2024-09-09 11:01:52 -05:00
Bas Ruigrok ec61f5e3fb Gui: Fix orthographic camera standard views in an empty scene 2024-09-09 11:00:05 -05:00
Bas Ruigrok 12b06306a3 Gui: Use Coin 4.0.3 fix for orthographic camera clipping 2024-09-09 10:58:54 -05:00
Benjamin Nauck e94e12723f Spreadsheet XLSX import: Fix bug causing xls import failing for some operators (#16336)
* Fix bug causing xls import failing for some comparisons

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

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

---------

Co-authored-by: Benjamin Nauck <benjamin.nauck@adlede.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-09-09 10:56:12 -05:00
Roy-043 d45016ee8a BIM: ArchFence: Fix some color issues
* ShapeAppearance property was misspelled.
* The post and section objects could not be Std_Parts (because they do not have a DIffuseColor).
* Minor improvements to the handling of Bodies.
* Removed the `if __name__ == '__main__':` section. This code is no longer relevant.
2024-09-09 17:52:08 +02:00
Furgo b7514bf848 [BIM] Separate profile name from label number (#16304)
* [BIM] Separate profile name from label number

Fixes: #16286

* Make internal name generic
2024-09-09 10:49:27 -05:00
MisterMakerNL 7a297f76bf changed selection colors 2024-09-09 10:49:27 -05:00
wandererfan 54eb7b3d9f [TD]fix initial balloon placement on rotated view (fix #16234) 2024-09-09 10:49:27 -05:00
Roy-043 280548fb50 BIM: BimWindow.py add missing imports 2024-09-09 17:49:01 +02:00
PaddleStroke 1a270ca088 Update Ondsel Solver 2024-09-09 09:40:33 -05:00
Roy-043 455cad24eb BIM: Fix window transparency
V1.0 fix for the transparency of glass panels in windows and doors.
2024-09-09 11:43:13 +02:00
huguesdpdn-aerospace 7a6a82e2ca PD: Xerces-C++ - Prepare for the latest version (backward compatible) 2024-09-08 20:32:08 -05:00
Jiří Pinkava 5fba69e328 OverlayManager: fix unititialized hideTab variable
The hideTab is of type bool, which is primitive type and is thus unitialized if new
instance of the class is created. The exception would be to for static
instance of the class, but that is not the case (only the pointer to the instance is static).

It was originaly initialized, but the initialization was removed in
9d5390ed83.
2024-09-08 20:14:03 -05:00
PaddleStroke 708e07e594 App::Link: fix crash with Draft Array (#16240)
* App::Link: fix crash with Draft Array
2024-09-08 17:13:38 -05:00
Benjamin Bræstrup Sayoc 9c95a7aa3a Add myself to contributors 2024-09-08 17:08:48 -05:00
Benjamin Bræstrup Sayoc 8cdcbe361f [Gui] Add style, theme and QtStyle to clipboard about info
Fixes #16272
2024-09-08 17:08:48 -05:00
Benjamin Bræstrup Sayoc 61bb5abfa2 [Gui] QtStyle preference consistency
Previously, the some of the code searched for the QtStyle in the wrong location
2024-09-08 17:08:48 -05:00
Syres916 422c7370a7 [Measure] Disable QuickMeasure for TechDraw, Spreadsheet, Part Container and Origin objects (#16225)
* [Measure] Disable QuickMeasure for TechDraw objects
* [Measure] Add spreadsheet, Part containers and origins to the exemptions
2024-09-08 16:51:24 -05:00
FEA-eng 0165db7e79 FEM: Update Material.ui 2024-09-08 16:29:08 -05:00
FEA-eng 3b192c533b FEM: Update write_femelement_material.py 2024-09-08 16:29:07 -05:00
FEA-eng 2b609b64ec FEM: Update task_material_common.py
Fix from benj5378
2024-09-08 16:29:07 -05:00
David Carter b05dc2da73 Materials: UI updates for transparency
Add missing UI elements to support per face transparencies:
- Setting per face transparencies
- show transparency information in the appearance inspector
- expose alpha channel in material properties dialog
2024-09-06 12:30:08 -05:00
Roy-043 aa1ec60f65 Draft: fix snapping to endpoints of dimension lines (V0.19 regression)
This fixes a regression introduced in V0.19 (!) when the type of linear dimensions was changed from "Dimension" to "LinearDimension".

Forum topic:
https://forum.freecad.org/viewtopic.php?t=90292
2024-09-05 13:18:40 +02:00
Chris Hennes 60a251354e Core: Update version number to 1.0.0RC1 2024-09-05 08:32:33 +02:00
Chris Hennes 01d9e0c093 Merge pull request #16265 from kadet1090/sketcher-taskpanel-fixes
Gui: Fix issues with icons in sketcher elements panel
2024-09-04 08:37:43 -05:00
Chris Hennes d6347a4b15 Merge pull request #16273 from chennes/chennesCIToLibPack3
Update Windows CI to LibPack 3
2024-09-03 22:06:25 -05:00
Chris Hennes 7257b517ad 3DConnexion: Add missing #include <stdexcept> 2024-09-03 22:06:05 -05:00
Chris Hennes 2e2f628551 CI: Update Windows build to LibPack 3 2024-09-03 22:05:46 -05:00
Adrian Insaurralde Avalos 7274dac185 CAM: apply precommit 2024-09-03 14:54:36 -04:00
Kacper Donat b46ba096b2 Gui: Make sketcher element icons normally opaque 2024-09-03 20:53:47 +02:00
Kacper Donat 4a770767d3 Gui: Force 24px icons in sketcher task panel 2024-09-03 20:53:47 +02:00
Adrian Insaurralde Avalos f12c2e0252 CAM: fix too long comments that are problematic for precommit 2024-09-03 14:53:24 -04:00
sliptonic 90e24232a0 added CAM to precommit 2024-09-03 14:53:14 -04:00
Chris Hennes 853e3ee672 Merge pull request #16260 from Ondsel-Development/test_fix_failing_point
Test: remove unecessary toggle that is failing the test
2024-09-03 13:22:42 -05:00
PaddleStroke d01d71198d Sketcher: CommandConstraints: Make sure points are created as constructions in few functions. 2024-09-03 18:28:54 +02:00
PaddleStroke abb1eb46e9 Sketcher: Point DSH : remove unecessary "toggleConstruction(%d)", 2024-09-03 18:27:34 +02:00
PaddleStroke 4d5fa15d24 Test: remove unecessary toggle that is failing the test 2024-09-03 18:17:01 +02:00
wmayer e3f9e192f6 TD: Fix warnings 2024-09-03 17:27:00 +02:00
wmayer c11a6f1013 Assembly: Fix compiler warning 2024-09-03 16:26:52 +02:00
wmayer 6812aca7f8 PD: Fix compiler warning 2024-09-03 16:26:52 +02:00
Jiří Pinkava 80805910a6 BIM: fix invalid converesion of button to int 2024-09-03 14:30:43 +02:00
Benjamin Bræstrup Sayoc 941656bcd3 [TechDraw] Some refactoring of frame pen 2024-09-02 16:53:37 -04:00
Benjamin Bræstrup Sayoc 8389689b1b [TechDraw] Fix incorrect centering of dimension label
and improve rendering of frame
Fixes #15103
2024-09-02 16:53:37 -04:00
qewer33 ed97f3c459 fixup! Gui: Add new splash images 2024-09-02 12:44:36 -04:00
qewer33 6680a295bc fixup! Gui: Add new splash images 2024-09-02 12:44:36 -04:00
qewer33 f15647ef42 fixup! Gui: Add new splash images 2024-09-02 12:44:36 -04:00
Ladislav Michl 479aeb2998 Gui: splashscreen: Use std::string as Log parameter 2024-09-02 12:44:36 -04:00
Ladislav Michl 1868ab7c0a Gui: Drop showLic AboutDialog parameter
Since 4ba04178ff ("Extended About dialog with credits and license tabs")
(8 years ago) the showLic parameter is unused. Drop it.
2024-09-02 12:44:36 -04:00
qewer33 9beff61b72 Gui: Make splashscreen use multiple splash images 2024-09-02 12:44:36 -04:00
qewer33 5850c2e04b Gui: Disable splashscreen messages by default 2024-09-02 12:44:36 -04:00
qewer33 18db68ab84 Gui: Add new splash images 2024-09-02 12:44:36 -04:00
wandererfan fe698a3fb2 [TD]fix outer torus edge not rendered (fix #16136) 2024-09-02 18:41:58 +02:00
WandererFan e852052df8 [TD]Fix section snapping (fix #15961) (#15450)
* [TD]Add view snapping preferences

* [TD]fix section snapping algo

- snap sections to section normal line.
- snap views to other views in X&Y

* [TD]fix snapping to ProjectionGroups
2024-09-02 18:41:25 +02:00
Roy-043 77539c1091 Draft: Fix regression with layer drag-and-drop behavior
Fixes: #16201

Changing the Group property type of layers to `App::PropertyLinkListHidden` also means that they longer occur in the InList of nested objects. This side-effect was missed in #14506.
2024-09-02 18:40:23 +02:00
hlorus 62a44a94f6 Measure: Fix crash when removing referenced element
Also improve error messages
Fixes #16183
2024-09-02 12:39:05 -04:00
MisterMaker ec3adf5fa0 set QTstyle to fusion for light and dark theme (#16042) 2024-09-02 18:34:09 +02:00
Shai Seger e15af16232 [CAM SIMULATOR] Bug fixes for Issues #16073 and #16052 (#16118)
* Bug fixes for Issues #16073 and #16052

* Fix tool rendering when tool position is not reset. Issue #16180

* Fix some lint warnings
2024-09-02 11:31:08 -05:00
bgbsww 85c1f5c47c Toponaming: Fix ctrl selection issues by looking up element names and setting up detail path 2024-09-02 18:28:11 +02:00
Benjamin Bræstrup Sayoc e56ac1a840 [TechDraw] Adjust widget positions to accomodate more themes 2024-09-02 18:27:01 +02:00
Benjamin Bræstrup Sayoc dd2ad5f30b [TechDraw] Make icons transparent and adaptable to theme color
...and center icons
2024-09-02 18:27:01 +02:00
Benjamin Bræstrup Sayoc 50eacde608 [TechDraw] Increase icon size for surface finish symbol buttons 2024-09-02 18:27:01 +02:00
wandererfan 93e685bd7a [TD]fix dim text wrong side of dim line (fix #16172) 2024-09-02 18:24:16 +02:00
wandererfan 9a5597a5fa [TD]fix projection group detection (fix #16179) 2024-09-02 18:23:37 +02:00
PaddleStroke 4972335385 Sketcher: ConstraintPyImp: replace 'cstr' name by 'constraint' 2024-09-02 18:22:51 +02:00
PaddleStroke 3db4633f9d Sketcher: addGeometry : Remove point construction limitation. 2024-09-02 18:22:51 +02:00
PaddleStroke 33e00078a5 Sketcher: Fillet preserving point : Make point construction. 2024-09-02 18:22:51 +02:00
PaddleStroke ff74dd5106 Sketcher: Make it possible to specify if the constraint is active or driving during python creation. 2024-09-02 18:22:51 +02:00
PaddleStroke 7c6dde17fb Assembly: Fix case of link groups 2024-09-02 18:20:18 +02:00
PaddleStroke 5cb2fd5261 App::Link : add getLinkGroup() to ElementLink 2024-09-02 18:20:18 +02:00
PaddleStroke 1822312127 App::Link Fix subname when selected in 3d. Fix https://github.com/FreeCAD/FreeCAD/issues/15822 2024-09-02 18:20:18 +02:00
PaddleStroke 79b9d45726 Assembly: Enable ungrounded connected parts to move as one item. 2024-09-02 18:20:18 +02:00
marioalexis 8fb3b26704 Fem: Use regex for gmsh groups items 2024-09-02 18:12:16 +02:00
Álvaro González Vila a6980be400 add BOPFeatures to BOPTools __init__.py 2024-09-02 18:11:28 +02:00
CalligaroV ac253463c1 Applied review hints
Signed-off-by: CalligaroV <vincenzo.calligaro@gmail.com>
2024-09-02 18:05:42 +02:00
Zheng, Lei c6dc482f02 Part/Toponaming: import code for TopoShape::prepareProfiles() from LS3
* import code
2024-09-02 18:05:42 +02:00
CalligaroV bb86ed3206 Part/Toponaming: import code for TopoShape::prepareProfiles() from LS3
* add test for issue #15735

Signed-off-by: CalligaroV <vincenzo.calligaro@gmail.com>
2024-09-02 18:05:42 +02:00
mosfet80 3b60bf7194 clean Measurement.cpp
clean Measurement.cpp
2024-09-02 18:04:24 +02:00
Chris Hennes 29d05e9613 cMake: Add option to use C++23 2024-09-02 18:03:33 +02:00
wandererfan df64558362 [TD]fix page margins on pdf export (fix #15848) 2024-09-02 18:02:30 +02:00
Max Wilfinger d7b54595ac removed version "v0.21" from the old backup format warning message 2024-09-02 18:01:51 +02:00
bgbsww 3a6f70946a Fix #16013 (#16090)
* Fix #16013

* Fix #16013
2024-09-02 18:00:47 +02:00
bgbsww 24bb499c1f Cleanup element map in Revolution and add test (#15959) 2024-09-02 17:59:44 +02:00
hlorus 16cfe2f499 [MeasureGui] Use temporary measure object creation (#15122)
* MeasureGui: Store measure type in TaskMeasure

* MeasureGui: Avoid adding measurement to document during command interaction

* [Gui] Add check for document in VPDocumentObject::getActiveView

* MeasureGui: Track the document when adding objects

* MeasureGui: Cleanup python measurement creation

* [Gui] Add isAnnotationViewProvider method

* [Gui] Check if viewprovider is added as an annotation in getActiveView

* [Gui] Add takeAnnotationViewprovider method to Gui::Document

* [Gui] Make addViewProvider public

* [MeasureGui] Add existing view provider to document when storing measurement

* [MeasureGui] Fix invocation of initial label placement

* [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-09-02 11:54:05 -04:00
wwmayer 977e13795a Gui: Prepare for clang-format (#16051)
* Gui: Prepare for clang-format

* [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-09-02 17:48:55 +02:00
wwmayer e98ffc3060 PartDesign: Prepare for clang-format (#16048)
* PartDesign: Prepare for clang-format

* [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-09-02 17:48:26 +02:00
wandererfan e88b1b49c9 [TD]fix balloon drag on rotated view (fix #15726) 2024-09-02 17:47:40 +02:00
Roy-043 1be41b68a2 Draft: Fix regression with display of SVG patterns
In V0.22 SVG patterns are not displayed when a file is reopend.

Forum topic:
https://forum.freecad.org/viewtopic.php?t=90128
2024-09-02 10:51:55 +02:00
Roy-043 44c796c8d3 Draft: Fix error handling of Draft_Trimex
Selecting an edge or vertex of a solid was not handled properly. The tool does not support these subelements, but the code did not call self.finish() is such cases.
2024-09-02 10:46:08 +02:00
marioalexis 2a9cf9e8e6 Fem: Abort transaction by pressing cancel button in task panel 2024-08-31 13:53:29 -05:00
marioalexis abef50a518 Fem: Use pyViewObject base member in getPyObject methods 2024-08-31 13:53:29 -05:00
Chris Hennes ce40d344a7 Merge pull request #16133 from Ondsel-Development/sk_circle_ovp_bug
Sketcher: Fix autoconstraint issue
2024-08-31 13:23:14 -05:00
bgbsww 2a541c9536 Toponaming: Remove remaining FC_USE_TNP_FIX defines 2024-08-31 13:21:10 -05:00
Syres916 4068341873 [Material] Prefs - User Directory - set to Directory chooser 2024-08-31 13:19:57 -05:00
Ajinkya Dahale d43dbf2449 [planegcs] Fix error gradient check in ConstraintTangentCircumf 2024-08-31 13:19:13 -05:00
Roy-043 ab741cd2ac Draft: Fix max value of Scale multiplier in ui files
Without this max value the spinbox stops at 99.99. The max value is the same as in preferences-drafttexts.ui.
2024-08-31 13:18:37 -05:00
Roy-043 cc12721fc3 BIM: Fix Python 3.12 run time error with importers
Fixes #16137

Similar to this fix:
https://github.com/FreeCAD/FreeCAD/pull/13337#discussion_r1564806896
2024-08-31 13:17:58 -05:00
Kacper Donat 833dc8c36f Gui: Add maximum width for font picker in navigation settings 2024-08-31 13:17:06 -05:00
FEA-eng c7f0c36439 FEM: Update commands.py 2024-08-31 13:15:46 -05:00
Florian Foinant-Willig 80c1ad4a0a [PD] Fix Pad a Plane attached Sketch upto a Plane (#16056) 2024-08-31 13:09:39 -05:00
Chris Hennes 0524288117 Merge pull request #16129 from FEA-eng/compound_merge_tip
Fix incorrect Compound merge tip
2024-08-31 11:41:12 -05:00
Chris Hennes f88f42a3b9 Merge pull request #16122 from yorikvanhavre/translations
Translations
2024-08-31 00:46:40 -05:00
obelisk79 8739120893 Update post.FCMacro to allow proper application of Classic theme
This removes unnecessary code to allow proper setting of "No Stylesheet" when applying classic theme.
2024-08-31 00:45:28 -05:00
PaddleStroke 4b3358a35b Assembly: Make sure the subnames index are valid before trying to access the Edges/Faces/Vertexes vectors of the shapes. Else it would crash if the index is out of bound. (#16154) 2024-08-30 18:09:35 -05:00
PaddleStroke dca9c0ca3b Sketcher: Fix problem where preselectAtPoint was called after the autoconstraints being generated, hence having no effect. By adding updateDataAndDrawToPosition after we regenerate the correct autoconstraint. We cannot just move the mouseMove to after preselectAtPoint because we need to have the enforced position. 2024-08-29 12:49:07 +02:00
PaddleStroke a7aa33f886 Sketcher: Circle DSH: fix seekSecond case of doEnforceControlParameters 2024-08-29 11:37:51 +02:00
FEA-eng 398a866d09 Import: Update preferences-import.ui 2024-08-29 10:06:26 +02:00
FEA-eng 1e82a35024 Part: Update DlgImportStep.ui 2024-08-29 10:05:33 +02:00
pre-commit-ci[bot] 61c1f8fb21 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2024-08-28 15:56:09 +00:00
Yorik van Havre b065691032 Merged crowdin translations 2024-08-28 17:51:34 +02:00
Yorik van Havre 5df158352a Updated ts files 2024-08-28 17:50:59 +02:00
pre-commit-ci[bot] 73cb5bafe0 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2024-08-26 23:55:17 +02:00
wmayer c80fd64c82 PD: Fix compiler warning 2024-08-26 23:55:17 +02:00
wmayer 59c1ccec3e Material: Prepare for clang-format 2024-08-26 19:49:48 +02:00
marcuspollio 5a841e7222 cmake: update BUILD_PATH to BUILD_CAM (#16040) 2024-08-26 11:27:09 -05:00
Kacper Donat bfdcc97158 Gui: Do not show overlay panels in Start 2024-08-26 11:24:19 -05:00
Ajinkya Dahale 71b513c1b8 [Sketcher] Replace tangent autoconstraint with equality for circles 2024-08-26 18:22:29 +02:00
Ajinkya Dahale 84cb77f0d7 [Sketcher] Fix a check during tangent autoconstraint 2024-08-26 18:22:29 +02:00
bgbsww 34030c9ece Toponaming: Run black on the entire toponaming python test file. 2024-08-26 11:19:47 -05:00
Chris Hennes 3388c93b87 Merge pull request #15987 from obelisk79/classicfix
Fix FreeCAD Classic cfg file to explicitly reassign theme defaults.
2024-08-26 11:18:21 -05:00
wmayer 3e33f184b4 Core: Rename ViewProviderPythonFeature to ViewProviderFeaturePython
Fixes #15888
2024-08-26 18:14:22 +02:00
bgbsww ecf7e51ab3 Toponaming: Remove all FC_USE_TNP_FIX protected old code 2024-08-26 11:12:48 -05:00
bgbsww 60640fa441 Horrible hack to work around bug in OCCT7.7.2 2024-08-26 18:09:38 +02:00
paul 4981dbbe2c [ArchWall_Draft-OffsetWires] Bug-fix Ellipse Support (#16038)
* [ArchWall_Draft-OffsetWires] Bug-fix Ellipse Support

Fixed bug/regression in ArchWall/Draft-OffsetWires ellipse support.

FC Forum Discussion
- https://forum.freecad.org/viewtopic.php?p=777965#p777897

* Update offsets.py

Typo

* L347 - trailing whitespace after comma
2024-08-26 18:03:21 +02:00
wandererfan 884cf22c71 [TD]fix false positives in isCircle (fix #15979) 2024-08-26 18:01:00 +02:00
Chris Hennes f355b62cb7 Merge pull request #16045 from wwmayer/format_measure
Measure: Prepare for clang-format
2024-08-26 10:57:13 -05:00
wmayer cfb14da52e Part: Prepare for clang-format 2024-08-26 17:56:58 +02:00
Chris Hennes ab5af9000d Merge pull request #16041 from mosfet80/patch-16
Update libs into .pre-commit-config.yaml
2024-08-26 10:54:47 -05:00
bgbsww 26ebefd651 Ignore standalone points in sketches when building faces 2024-08-26 17:51:29 +02:00
bgbsww 8c08549f5a Update to Toposhape versions and fix shapebinder references with test (#16036)
* Update to Toposhape versions and fix shapebinder references with test

* Update src/Mod/PartDesign/PartDesignTests/TestShapeBinder.py

---------

Co-authored-by: Chris Hennes <chennes@pioneerlibrarysystem.org>
2024-08-26 10:50:18 -05:00
Kacper Donat f10a8b63d1 Gui: Ensure minimum size of preferences dialog (#16019)
* Gui: Ensure minimum size of preferences dialog

This will ensure that the width of preferences dialog is resized to fit
all pages properly but not take more than 80% of screen.

* Gui: Use consts for resizing preferences dialog
2024-08-26 10:48:49 -05:00
MisterMaker e1f65ee831 Overlay blur fix + slightly less white background (#15886)
* remove bluw changed the white background to 2 steps below white

* Delete CMakeSettings.json

* Revert "remove bluw changed the white background to 2 steps below white"

This reverts commit a8cab51f0eb6fc5eb6cb3644d1d13f9421a9b05d.
2024-08-26 10:48:00 -05:00
Chris Hennes 4204ad3fd8 Merge pull request #16021 from jbaehr/material-add-machining-wood-cards
Material: Add wood cards with machining model
2024-08-26 10:38:22 -05:00
wmayer 58826317fc Linux: Fix regression with mask of cursors if platform name is 'xcb' 2024-08-26 10:35:53 -05:00
Hannu Koivisto a55fc950da Fix crash when using box selection with Arch Survey
doSelect() loops over document's object vector.  It can happen that, within
the loop, Gui::Selection().addSelection() gets called and that ends up
calling App::Document::addObject() which pushes an object to the vector that
the loop is traversing.  If the vector is full, its storage is reallocated
and this means that later iterations of the loop are using invalid iterators.
Thus, one ends up with a bogus obj pointer and there will be a crash within
getGroupOfObject().  The problem was observed when using Arch Survey.
2024-08-26 17:33:55 +02:00
Roy-043 c2b8414609 BIM: Arch_Survey: Fix concatenate bytes issue
The line `t = t.encode("utf8")` returns a bytes object which does not make sense in the context of the rest of the code. It is probably a copy-paste error.

To test the bug:
1. open the file attached to this forum post: https://forum.freecad.org/viewtopic.php?t=89012#p770224
2. Make the rectangles visible.
3. Start the Survey command and box select all objects in the 3D view.
2024-08-26 17:31:59 +02:00
obelisk79 0607d6685b add missing start WB values 2024-08-25 23:11:29 -04:00
obelisk79 542b0077ed Resolving discrepancies. 2024-08-25 23:08:28 -04:00
Chris Hennes 56b9b485d3 Merge pull request #15958 from AjinkyaDahale/sk-fix-14736
[Sketcher] Attempt to fix #14736
2024-08-25 21:27:00 -05:00
Kacper Donat 46a84da571 Gui: Fix issue with missing icons in sketcher
This boiled down to conflict of using `data` attribute of the QAction in
ActionGroup and ToolBarManager. I reworked ActionGroup here to not use
the data attribute but this is not a proper solution - but it should be
working well enough.

Proper solution would be to leave the data for the specific usecases (like index)
and store the command name in some other place. It would however require
us to subclass the QAction which is not something that should be done so
late in the release cycle.
2024-08-25 19:40:25 -05:00
Alfredo Monclus 70d0d50746 fix(PD): threadtype combobox too small for metric fine 2024-08-25 19:35:25 -05:00
David Carter 450ec1ad8c Rename *Impl.py to Imp.py 2024-08-25 19:32:02 -05:00
Ajinkya Dahale 86d5eea787 [planegcs] Support circle-to-circle tangent when centers coincide
This simply implies avoiding some NaN's when computing error or gradient.
2024-08-25 23:20:41 +05:30
pre-commit-ci[bot] 0797cd2f00 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2024-08-25 11:42:43 +00:00
wmayer 16e56d6694 Measure: Prepare for clang-format 2024-08-25 13:39:38 +02:00
pre-commit-ci[bot] 9d949c60aa [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2024-08-25 07:29:42 +00:00
mosfet80 2ab1df8c3e Update libs into .pre-commit-config.yaml
Updated libs to last  version
https://github.com/psf/black/tags
https://github.com/pre-commit/pre-commit-hooks/tags
https://github.com/pre-commit/mirrors-clang-format/tags
2024-08-25 09:26:39 +02:00
Ajinkya Dahale a30bbba4df [Sketcher] Fix #14736
Recompute even if the addition of new elements and autoconstraints failed
partially.
2024-08-25 07:33:59 +05:30
Ajinkya Dahale e2664f397d [Sketcher] Use modernized geometry type checks 2024-08-25 07:33:59 +05:30
Ajinkya Dahale 6a1afdc4e2 [Sketcher] Fix endpoint-to-endpoint/edge tangency substitution
Only substitute if the point(s) involved are `start`/`end`. Centers do
not make sense here.
2024-08-25 07:33:59 +05:30
Chris Hennes 7c797b5a10 Gui: Workaround for #14350 2024-08-24 20:40:33 -05:00
Florian Foinant-Willig ffb2ebe4c6 [PD] helix fix 2024-08-24 20:38:58 -05:00
CalligaroV cbbc08fc47 Part/Toponaming: use TopoShape::getShape() in PartFeatures.cpp tests and TopoShapeMakeElementRefine.cpp tests
* Replace TopoShape::getValue() with TopoShape::getShape() to test the size of element maps
 * Update the expected values

Signed-off-by: CalligaroV <vincenzo.calligaro@gmail.com>
2024-08-24 19:54:33 -05:00
Andrea 1afe48140d Update ViewProviderFemMesh.cpp
fix warning: variable 'j'and 'i' is not initialized
[pre-commit.ci] auto fixes from pre-commit.com hooks

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

Update ViewProviderFemMesh.cpp
[pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci
2024-08-24 19:53:10 -05:00
marioalexis ad28897c09 Fem: Disconnect connection when destroying Constraint object 2024-08-24 19:51:24 -05:00
Chris Hennes f8a34d8063 Addon Manager: Adjust button reference for Qt6 compatibility 2024-08-24 19:40:27 -05:00
Chris Hennes baec1037d8 Part: Fix compilation with Qt6/MSVC
-/permissive does not allow the original unwrapped call to ParseTupleAndKeywords
2024-08-23 20:45:26 -05:00
Jonas Bähr bb01ec7f7c Material: Add wood cards with machining model
With PR FreeCAD#14460 the "machinability" model was introduced.
This commits adds material cards with complete machining model data
for various types of woods and engineed wood products.
The data comes from the German text book "Zerspanung von Holz und
Holzwerkstoffen", ISBN 978-3-446-47769-8, 2. Edition 2023,
https://www.hanser-fachbuch.de/fachbuch/artikel/9783446477698
Usage of this data for our purpose is legal as facts are not protected by
copyright according to German law.
2024-08-23 21:57:31 +02:00
xtemp09 ebf02483af Reimplementation of Light source dialog (#15877)
* Reimplementation of Light source dialog

Closes #15793.

* Gui: Remove redundant void arguments

---------

Co-authored-by: Chris Hennes <chennes@pioneerlibrarysystem.org>
2024-08-22 18:58:14 -05:00
luzpaz 05c90f398a Measure: fix linting TaskMeasure.cpp
Adds missing whitespace before opening brackets (observed in #15907)
2024-08-22 18:54:45 -05:00
bgbsww c8c657eefe Fix shape color / materials issues in fuse 2024-08-22 18:53:55 -05:00
bgbsww c59b422f2c Toponaming fix #15969 following LS3 code change 2024-08-22 18:52:22 -05:00
wmayer c9a586f34a Building: Boost dependency errors
Fixes #15999
2024-08-22 18:50:24 -05:00
bgbsww 40d23c2639 Toponaming: Support disabling hashing; getting element history 2024-08-22 11:24:09 -05:00
Shai Seger a750034490 Cam simulator feature update (#15597)
* remove redundant code

* Improve lighting, add ambient occlusion

* Add cleanup code. Dialog is now deleted when cloesd.

* change back to ambient occlusion

* Fix G8x drill sequence bug.  issue #14369

* fix bad simulation artifacts under Linux and QT. Issue #14369

* fix merge issue

* fix border artifact on buttons

* support showing path lines. revise the gui.

* add option for arbitrary solids. wip

* use vectors instead of mallocs

* Handle arbitrary stock shapes + show base shape.

* Complete the base shape display feature. eliminate co-planar artifacts.

* support window scaling. upstream issue #14334

* Apply lint fixes

* some missing lints.

* Attend pylint issues

* Apply code fixes based on @kadet1090 review

* fix some clang-tidy warnings.

* CAM: Linter cleanup round 1

---------

Co-authored-by: Chris Hennes <chennes@gmail.com>
2024-08-21 15:18:52 -05:00
wmayer 80a09b3853 Part: Make ViewProviderPart::applyMaterial more robust
* Fixes hard crashes and throw an exception if value is out of range
* Fixes several linter warnings
2024-08-21 18:40:27 +02:00
obelisk79 334fa5ca57 Fix FreeCAD Classic cfg file to explicitly reassign theme defaults. 2024-08-21 07:31:00 -04:00
luzpaz 7e311ed4b9 labels.yml: changed label to 'Mod: Measurement' 2024-08-20 17:26:26 -04:00
luzpaz 1514e52599 fix spacing 2024-08-20 17:26:26 -04:00
luzpaz 89b6addb8d labels.yml: add Measurement label
This adds the Measurement tag to the Labeler CI

[skip ci]
2024-08-20 17:26:26 -04:00
Jonas Bähr 2ed910125a Material: Add a very basic wood appearance card
The existing "Wood-Generic" material was only rendered in the default
gray, which is now fixed. I'm aware that wood comes in may different
shades, and the current choice of a yellowish brown is arbitrary.
2024-08-19 20:27:05 +02:00
wandererfan 131956e201 [TD]fix crash on Cosmetic line > 10m 2024-08-19 12:34:53 -04:00
wandererfan 595fbc9c1b [TD]detect breakObject inside Body 2024-08-19 11:32:21 -05:00
Chris Hennes 8913b84f60 Gui: Correct repeated extension
Fixes #15908
2024-08-19 12:30:52 -04:00
hlorus 0b8c8ceab0 MeasureGui: Return the relative label offset for the initial position 2024-08-19 12:25:05 -04:00
hlorus d11f710252 MeasureGui: Explicitly trigger the initial positioning of measurements 2024-08-19 12:25:05 -04:00
hlorus aa98951b5c Measure: Apply global placement when retrieving shape 2024-08-19 12:16:19 -04:00
hlorus 01611c6a1c [MeasureGui] Fix order of setting properties to avoid update with outdated data 2024-08-19 12:16:19 -04:00
Jacob Oursland 0291603ffc CMake: Use RelWithDebInfo for Conda Windows Debug builds.
Python is not provided with debug libraries, so debug builds are not possible.
Building as RelWithDebInfo will build debug information for the binary, while
using the available release libraries.
2024-08-19 12:13:32 -04:00
Chris Hennes 1815941668 Addon Manager: Fix ZIP installation
Always delete the old version before installing the new one
2024-08-19 12:10:37 -04:00
wandererfan 558db30497 [TD]fix asCircle error calculation 2024-08-19 12:01:01 -04:00
Brad Collette 6a23cd01bb fixes #15902 2024-08-19 11:58:46 -04:00
Brad Collette 58ba9dd0e9 Remove deprecated materials
# Conflicts:
#	src/Mod/Material/Resources/Materials/Machining/ToolSteel.FCMat
2024-08-19 11:57:04 -04:00
CalligaroV 673b5a5e5e Part/Toponaming: align TopoShape::findSubShapesWithSharedVertex() to LS3
* added test for issue #15539

Signed-off-by: CalligaroV <vincenzo.calligaro@gmail.com>
2024-08-19 10:53:31 -05:00
Brad Collette 4ec94e678e Add Feedrate to G85 command moves
#fixes #15646
2024-08-19 11:52:15 -04:00
Roy-043 ce11e63958 BIM: Fix oversight in #15530
Fix bug introduced in #15530.

Forum topic:
https://forum.freecad.org/viewtopic.php?t=89790

@paullee0 can you check please? Thanks.
2024-08-19 13:41:05 +02:00
Nino Annighoefer 20549cacd2 Use portable text to set shortcut
At least on macOS, it seems that setting nontrivial shortcuts only works
when the shortcut is converted to `PortableText`, rather than
`NativeText`.

Before, it was impossible to map, eg, the backspace key or CMD-T to an
action. Now this appears to work.
2024-08-18 14:14:35 -05:00
Jacob Oursland e3839f1286 CI: Disable Windows conda due to mamba bug. 2024-08-18 14:02:46 -05:00
wmayer 0dae7353d1 PD: Make PD tests more robust
If in the user settings the refinement is switched off several PD tests will fail. This change explicitly sets the Refine property to True to guarantee correct behaviour
2024-08-18 11:50:33 -05:00
bgbsww f0982d1d61 Toponaming: Fuse call makeElementRefine; remove deprecated refineSha… (#15897)
* Toponaming:  Fuse call makeElementRefine; remove deprecated refineShapeIfActive
* Part/Toponaming: import code for MultiFuse::execute() from LS3
* added expected values of testRefine

Co-authored-by: Zheng, Lei <realthunder.dev@gmail.com>
Co-authored-by: CalligaroV <vincenzo.calligaro@gmail.com>
Co-authored-by: Chris Hennes <chennes@pioneerlibrarysystem.org>
2024-08-18 11:49:05 -05:00
Chris Hennes ff1409d8bf MacOS: Modify OS detection macro (#15924)
* Fixes #15904
* MacOS: Always use Q_OS_MACOS to detect MacOS because the Conda builds do not define Q_OS_APPLE
2024-08-18 08:29:40 -05:00
Jonas Bähr 95c514fca3 Material: Add metal cards with machining model
With PR #14460 the "machinability" model was introduced. As sample data
the legacy material cards from the "feeds and speeds" addon were added
and (partly) converted to the new format. However, due to copyright
concerns and unclear semantics of the data, the values required for
cutting force calculations have been removed.
This commits adds material cards with complete machining model data
for various classes of metals. The data comes from the German standard
work "Tabellenbuch Zerspantechnik", ISBN 978-3-7585-1315-2, 5. Edition
2022, http://www.europa-lehrmittel.de/14733
Usage of this data for our purpose is legal as facts are not protected by
copyright according to German law. This view has been confirmed by the
licensing department of the publisher.
2024-08-17 16:35:26 -05:00
Brad Collette 8dc1fad1c9 Fixes #15909
regression bug caused by Path->CAM module rename.
2024-08-17 14:21:58 -05:00
Alex Facciorusso 85cbd31389 added CAM Tests/FilePathTestUtils.py utility file to the build Mod copy 2024-08-17 12:30:58 -05:00
Alex Facciorusso 43b6f57700 [cam] fixed tests and fixed dialogs cancel ignored 2024-08-17 12:30:58 -05:00
Alex Facciorusso 4b32ec1b28 Updated comment in CAM Path Utils 2024-08-17 12:30:58 -05:00
Alex Facciorusso d3e92037b9 FIX: empty filename in CAM workbench saves to the current project folder
Previously, if the user didn't set a default gcode path, the file was saved to getcwd. Now, it attempts to take the active document's path first.
2024-08-17 12:30:58 -05:00
mosfet80 b3a5882b9a [Mod] clean Area.cpp
Removed dead code
2024-08-17 12:25:46 -05:00
Syres916 e3bf55a052 [CAM] Fix numeric sorting of drill diameters 2024-08-17 12:20:23 -05:00
Chris Hennes 87e73967da Merge pull request #15893 from oursland/enable-windows-ci
Revert "CI: Disable Windows conda due to mamba bug."
2024-08-15 16:32:34 -04:00
Jacob Oursland 5c12ac541f Revert "CI: Disable Windows conda due to mamba bug."
This reverts commit 77167d81670c73892e01b94b65ebc5d76b278a21.
2024-08-15 12:38:27 -05:00
Chris Hennes dc6b7ce3ed Merge pull request #15782 from 3x380V/fix_pip
Fix searching for pip installed packages
2024-08-14 08:53:48 -04:00
Ladislav Michl 5b66e2bc91 cMake: Fix searching for pip installed package libraries
Although this is a bit fragile way to search for package libraries
it does the job. A more robust solution may be desirable.
2024-08-14 09:46:51 +02:00
Ladislav Michl 5a11cfdf55 cMake: Adjust to the new names of find_pip_package return variables
Fixes: d01ce32a1f ("Update for LibPack3")
2024-08-14 09:46:51 +02:00
Chris Hennes 0d067978cd Start: Fix compilation with MSVC 2024-08-14 01:38:07 -04:00
bgbsww a1ce983035 Toponaming: Missing shape hasher line; fixed cleaned Transformed 2024-08-13 07:07:59 -04:00
FEA-eng aef3bdfe67 FEM: Start examples rework (#15786)
* FEM: Delete data/examples/FemCalculixCantilever1D.FCStd

* FEM: Delete data/examples/FemCalculixCantilever2D.FCStd

* FEM: Delete data/examples/FemCalculixCantilever3D.FCStd

* FEM: add new example combining the previous 3

* FEM: Update CMakeLists.txt

* FEM: Update femmesh2mesh.py

* FEM: Update test_information.md

* FEM: Update test_result.py

* FEM: Update MaterialEditor.py

* FEM: Delete data/examples/FEMExample.FCStd

* FEM: add new example without logo
2024-08-12 17:46:09 -04:00
spanner888 58729b3ab0 Fixes #15637 Attributes are ignored when using ToolBitFactory() CreateFromAttrs(self, attrs, name="ToolBit", path=None) 2024-08-12 11:13:29 -05:00
Chris Hennes 38547bf5d5 Merge pull request #15772 from qewer33/master
Make start page use QStackedWidget + other fixes
2024-08-12 12:01:30 -04:00
bgbsww d7d256e782 Toponaming: Match findSubShapesWithSharedVertex exception suppression 2024-08-12 11:59:08 -04:00
MisterMaker 103ab1e28e Stylesheet fixes-part VI: The return of the comma (#15806)
This should fix a bunch of issues, like the white arrows the blue select background. @maxwxyz
2024-08-12 11:58:19 -04:00
lorenz 1a5ab14ca9 FEM: print exception if loading a result in fem fails
Fixes #15827
2024-08-12 11:54:20 -04:00
Pieter Hijma 7c584433e7 Gui: Fix #15203 filename extension export 2024-08-12 11:52:48 -04:00
PaddleStroke 49fa67266f Assembly: Fix objects in group would not have the dragger appear when selected. 2024-08-12 11:49:12 -04:00
PaddleStroke 39c4e2e600 Assembly: Fix distance joints 2024-08-12 11:47:21 -04:00
Pieter Hijma 5f74b4b299 Core: Fix a missing interpreter lock 2024-08-12 11:45:46 -04:00
Pieter Hijma 8534affff0 Core: Fix adding VarSet props with existing prefix 2024-08-12 11:44:24 -04:00
PaddleStroke ece64bea29 Assembly: Make sure that when a components is deleted its joints are as well. 2024-08-12 11:43:54 -04:00
PaddleStroke 00ca22e2c5 Assembly: Fix bug where double-clicking on a joint would unselect the underlying edge. 2024-08-12 11:43:26 -04:00
Syres916 69dac76a3f [Gui] Remove the disabling of CornerCoordinateSystem 2024-08-12 11:42:51 -04:00
Syres916 2995e6aeb7 [Gui] Ensure FreeCAD Classic theme is properly reset...
... but doesn't click Done and so when Preferences>General is opened the Theme displayed in the combobox is always FreeCAD Classic
2024-08-12 11:42:51 -04:00
Max f79a230db1 Change default to not include the icon file to the file thumbnail on save.
Windows renders the application image on top so it appears twice.
Update example file thumbnails on start page to have a consistent background (classic theme) and remove the old FreeCAD logos.
2024-08-12 11:37:38 -04:00
Syres916 970dc4710d [Gui] Overlay hide mode improve contrast in both themes... 2024-08-12 11:37:06 -04:00
Chris Hennes e52ef2a525 GUI: Update MacOS detection macros
For GUI-specific things use Q_OS_MACOS, and for other things use
Q_OS_APPLE.
2024-08-12 11:34:39 -04:00
Chris Hennes f846cc7acf Addon Manager: Fix Qt6 button name 2024-08-12 08:49:06 -04:00
Chris Hennes 6f849e1ce2 Merge pull request #15845 from bgbsww/bgbsww-toponamingTransformedFixes
Toponaming: Fix transformed; abstract index element name generation
2024-08-12 08:48:11 -04:00
MisterMaker d62444e230 Update FeatureLoft.cpp (#15851)
caused compile issues on MSVC with PCH.
See
https://forum.freecad.org/viewtopic.php?t=89702
https://github.com/FreeCAD/FreeCAD/commit/4925957185c4e8bf85c327f8b52f5c600db755d7
2024-08-11 19:38:36 -04:00
Chris Hennes 7186c6861f Addon Manager: Ensure metadata exists before use 2024-08-11 14:21:28 -04:00
bgbsww 26b2631251 Toponaming: Squash to one index character in element names 2024-08-11 13:29:40 -04:00
luzpaz b5281158f3 Fix various typos 2024-08-11 12:09:27 -04:00
bgbsww 25ba8ab223 Toponaming: Fix transformed; abstract index element name generation 2024-08-10 23:02:05 -04:00
bgbsww 99b753b006 Toponaming: Refactor out duplicated code using elementMap() 2024-08-10 10:47:01 -04:00
bgbsww aab0b31aec Toponaming: Make FeatureThickness elementMap aware 2024-08-09 16:40:07 -04:00
Chris Hennes 362cf1c80e Gui: Fix crash in DlgSettingsLightSources
Fixes #13357
2024-08-08 21:34:28 -04:00
PaddleStroke 8339bd9618 TechDraw: ProjGroup Fix dim disappearing on upgrade. And also scale and scaleType properties not reappearing on downgrade. 2024-08-08 10:23:07 -04:00
PaddleStroke ef4d79a383 TechDraw: add isDimCmdActive to remove code duplicates. 2024-08-08 10:23:07 -04:00
PaddleStroke 55588b9035 TechDraw: Fix Dimension tool being active at wrong times 2024-08-08 10:23:07 -04:00
bgbsww 4925957185 Toponaming: fix loft mistake and complete test 2024-08-08 09:12:48 -05:00
bgbsww 2b97b20a03 Toponaming: Additional element map changes to transform 2024-08-08 09:09:46 -05:00
Roy-043 f6c8850e80 Draft: Fix cursor scaling (#15745)
* Draft: Fix cursor scaling

The get_cursor_with_tail function was rewritten to match the Sketcher cursor code. Hopefully this fixes the scaling issue.

Related issue:
#13696

Related forum topic:
https://forum.freecad.org/viewtopic.php?t=89494

@maxwxyz
Can you check if this code fixes the issue? Apart from the size the 'hot' pixel should be checked. If you approach a vertical line from the left or right it should get highlighted at the same distance.
2024-08-08 12:07:34 +02:00
paul f3910b386a [DraftBind] Bug-fix Consecutive Face Touch at Corner (#15350)
* [DraftBind] Bug-fix Consecutive Face Touch at Corner

Bug-fix Consecutive face (Wall segment) touch at corner.

Forum Discussion :  https://forum.freecad.org/viewtopic.php?p=769213#p769213

* [DraftBind] Bug-fix Consecutive Face Touch at Corner


Update following commit at https://github.com/FreeCAD/FreeCAD/pull/15350

* Minor formatting changes

coding_conventions.md says variable_names_without_capitals

* Use areColinear to find problematic edge pairs

It is clearer to use `areColinear` instead of `findIntersection` to detect problematic edge pairs.

@paullee0 Please check. Thanks.

* Use Shape.section() to find touching edges

Using `areColinear` indeed does not work here.

But the `findIntersection` function is very confusing IMO. It finds intersections for collinear edges which does not make sense.

Let's use `Shape.section()` instead.

Also improved the 'ascii art' a little.

* typo

* Some minor improvements.

* [DraftBind] Bug-fix Consecutive Face Touch at Corner

Update handling closed wire(s) case

* Typo

* [DraftBind] Bug-fix Consecutive Face Touch at Corner

Further update handling closed wire(s) case :

# if wires are closed, 1st & last series of faces might be connected
# except when
# 1) there are only 2 series, connecting would return invalid shape
# 2) 1st series of faces happens to be [], i.e. 1st edge pairs touch

---------

Co-authored-by: Roy-043 <info@b-k-g.nl>
2024-08-08 11:08:59 +02:00
bgbsww 4afbe73f51 Toponaming: Fix PropertyTopoShape restore; tweak Loft test; missing TopoShape method. 2024-08-07 20:31:21 -05:00
qewer33 000294e76e Fix FirstStartWidget dismiss signal handling 2024-08-06 18:55:56 -05:00
qewer33 c3ba283e3f Fix open first start button translation 2024-08-06 18:55:56 -05:00
qewer33 50194e28f3 Fix QStackedWidget layout warning 2024-08-06 18:55:56 -05:00
qewer33 db3358d5d1 Make start page use QStackedWidget + other fixes
closes #14039, closes #14694, closes #14817, closes #15113
2024-08-06 18:55:56 -05:00
Chris Hennes 74e5c3fafb Revert "[PD] Revert 316506f, back to shell algo for some helix cases (#15678)"
This reverts commit dcfae6a897.
2024-08-06 18:54:46 -05:00
Jacob Oursland 270bb0122e CI: Disable Windows conda due to mamba bug. 2024-08-05 12:31:04 -04:00
Chris Hennes 4801300913 Merge pull request #15734 from bgbsww/bgbsww-toponamingFixTopoShapeToHaveHasher
Toponaming: make sure TopoShapes have Hashers
2024-08-05 11:17:46 -05:00
luzpaz 9b5b9cc45c labels.yml: Add 'Packaging/building' label for CMake related changes
Any changes to `cMake/` are packaging related and therefore label can be applied.
2024-08-05 11:16:06 -05:00
PaddleStroke e2e613acaa Assembly: Fix migrationScript2 2024-08-05 11:09:45 -05:00
MisterMaker 7db8e118b7 Stylesheet-fixes V: The final frontier (#15742) 2024-08-05 11:07:49 -05:00
Yorik van Havre 33088e006a BIM: Fixed nativeIFC psets loading - fixes #15436 2024-08-05 11:03:49 -05:00
marioalexis ca70e06a05 Fem: Remove callback on right click during point marker selection - fixes #13694 2024-08-05 11:03:06 -05:00
bgbsww 80045d0e88 Toponaming: add code to implement guessing missing references 2024-08-05 11:01:46 -05:00
FEA-eng 87cc683ccc FEM: Remove obsolete "Fix" property from a few examples to repair them (#15698)
* FEM: Update rc_wall_2d.py

* FEM: Update buckling_platebuckling.py

* FEM: Update equation_deformation_spring_elmer.py

* FEM: Update buckling_lateraltorsionalbuckling.py
2024-08-05 10:54:32 -05:00
Chris Hennes 1566dfa37a Merge pull request #15669 from marioalexis84/fem-link_scope_python_objects
Fem: Fix link scope for Python objects
2024-08-05 10:53:50 -05:00
Chris Hennes ff693a4dc2 Sketcher: Modernize license text 2024-08-05 10:49:14 -05:00
Chris Hennes a2f42c6596 CI: Update clang-tidy linter exclusion filter
Don't show an error on unknown NOLINT lines (presuming that someone is using a
newer version, etc.), nor formatting issues (which are handled outside the
linter). Clean up clazy checks to remove non-pod-static check, and to do the
Qt6 checks on main (instead of master)
2024-08-05 10:49:14 -05:00
bgbsww 441fbdd064 Add a command line option to keep application open after running tests 2024-08-05 10:47:59 -05:00
xtemp09 abb362f83a Fix the crash involving context menu
Closes #13637.
2024-08-05 11:43:56 -04:00
Yorik van Havre aad060c0f0 Translations (#15689)
* Updated ts files

* Merged crowdin translations

* [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-08-05 10:42:18 -05:00
Chris Hennes ef7cbac494 Merge pull request #15588 from cjmayo/ThemeSearchPaths
Remove icon ThemeSearchPaths option on Linux
2024-08-05 10:41:41 -05:00
Florian Foinant-Willig dcfae6a897 [PD] Revert 316506f, back to shell algo for some helix cases (#15678)
* [PD] Revert 316506f, back to shell algo for some helix cases

* fix test accuracy
2024-08-05 10:40:00 -05:00
Chris Hennes c141cb3141 cMake: ensure the Shiboken target exists before using it 2024-08-05 10:46:22 -04:00
bgbsww 19b63630c6 Toponaming: reformat tnp tests 2024-08-04 17:57:38 -04:00
luzpaz 6fda739a14 labels.yml: Add Stylesheets + Differentiate between Mod and Topic labels (#15750)
Added the functionality for the labeler to recognize Stylesheet related PRs. Also annotated file to differentiate different types of labels (as opposed to sorting them all alphabetically).
2024-08-04 15:17:29 -05:00
Max Wilfinger 3d8cc4a465 GitHub: Add text to readme and the issue template to record macros for bugs (#15761)
* Add text to readme and the issue template that the user should record a macro when recreating the issue and sharing this macro in the issue.
Updated old links from master branch to main.
2024-08-04 15:15:58 -05:00
Chris Hennes c87248e373 Merge pull request #14218 from oursland/conda-python3.12-qt6
CI: Add Conda Python 3.12 Qt6 to CI.
2024-08-04 14:02:26 -04:00
Syres916 c845c976aa [AddonManager] Fix regression introduced by #15676 (me)... (#15688)
* [AddonManager] Fix regression introduced by #15676...

...it disabled composite view for more than intended

* [AddonManager] Use QLibraryInfo major and minor version
2024-08-04 09:59:01 -05:00
bgbsww c0c7bd647d Toponaming: use correct face maker 2024-08-02 21:55:51 -04:00
bgbsww cd128984e1 Toponaming: make sure toposhapes have hashers 2024-08-02 21:42:16 -04:00
marioalexis 317a664cbd Fem: Handle PropertyError exception 2024-08-02 20:19:16 -03:00
marioalexis db3f4f0642 Fem: Fix link scope for Python objects 2024-08-02 20:19:16 -03:00
marioalexis 776158addd Base: Add PropertyError exception 2024-08-02 20:19:16 -03:00
bgbsww e4b2bf7630 Toponaming: bring in code to fix delExternal breakage. 2024-08-02 14:13:38 -05:00
hasecilu 58241e027e Fix typos on Assembly & Sketcher WBs 2024-08-01 21:25:28 -05:00
Roy-043 4bb0a0e817 BIM: Fix calculation of wall blocks
At the corners of the base wire the joint width was wrongly added.

Forum topic:
https://forum.freecad.org/viewtopic.php?t=89504
2024-08-01 11:04:05 +02:00
hasecilu c5408de525 BIM: Don't mark for translation names of CC licenses 2024-07-31 11:47:31 +02:00
wmayer 11eb2783de Windows: Sync StackWalker class with upstream 2024-07-30 13:09:35 -05:00
bgbsww a348a1bc82 Toponaming: Update tests, implement missing subtractive operation tests,
fix helix and revolution
2024-07-30 09:12:58 -05:00
Roy-043 f03f4ace11 BIM: Fix BIM Views panel open behavior on WB activation (#15617)
* BIM: Fix BIM Views panel open behavior on WB activation

Fixes #15524.

* Something obvious was missed...
2024-07-30 10:29:30 +02:00
MisterMaker c4bb689a85 Stylesheet fixes part IV - A new hope (to be done for 1.0) (#15586)
* Qcolor dialog fixes

* Fix for white hoover on tabbar

* Changes active color and selected feature color

* update same colors in cfg

* fix for tab pan in material editor

* some fixes

mostly theme accent colors fixes.

* fixed text edit being cut off

https://github.com/FreeCAD/FreeCAD/issues/15603

* extend arrow fix

https://github.com/FreeCAD/FreeCAD/issues/15616

* checkboxes links qpushbuttons etc.

Fixed https://github.com/FreeCAD/FreeCAD/issues/15610#event-13642470770
and hopefully also
https://github.com/FreeCAD/FreeCAD/issues/15136#issuecomment-2254156398

* fixed selection-text color in the preference menu also White is white.

* forgot checkbox spacing for light

* colors update

fix for https://github.com/FreeCAD/FreeCAD/issues/15660#event-13670498420
and
https://github.com/FreeCAD/FreeCAD/issues/15620#issuecomment-2251144435

* Delete CMakeSettings.json

* get out of here

* title a tat higher

* change rubberband from white to blue to make it work with white background.

* setting the colors.

* tree colors
2024-07-29 17:31:17 -05:00
Chris Hennes 04acc05fcb Merge pull request #15661 from FEA-eng/mesh_gmsh_quasi_quad
MESH: Add missing Gmsh 2D algorithm (Quasi-structured Quad)
2024-07-29 15:28:11 -05:00
Chris Hennes fe702349e8 Merge pull request #15652 from kadet1090/ui-fixes
Gui: Cosmetic Fixes
2024-07-29 11:26:58 -05:00
David Carter 233fcd1416 Material: PartDesign DiffuseColor custom attribute
PartDesign features did not inherit the custom attribute for
DiffuseColors as expected. The inheritance chain was incorrect. Also
added tests to ensure it's available.

fixes #15364
2024-07-29 11:24:46 -05:00
Chris Hennes aef0dff13a Merge pull request #15624 from marioalexis84/fem-mesh_shape_object
Fem: Improve FemMeshShape objects
2024-07-29 11:13:43 -05:00
wandererfan 325a2834b1 [TD]fix autoscale loop
- checkfit and autoscale were calculating page size differently
2024-07-29 11:08:59 -05:00
fandaL 37c765e07b FEM: FemMesh2Mesh fix quad elements 2024-07-29 11:07:18 -05:00
wmayer bb66eeb819 Gui: Fix Gui.Control.showModelView() 2024-07-29 11:06:42 -05:00
Roy-043 a1a6f18008 Draft: Fix snap intersection hang (#15612)
Fixes #13797.

The code as suggested by @alafr works fine and has basically been implemented.
2024-07-29 18:05:01 +02:00
David Carter 695fc55c6e Materials: Reset per face when using property editor
In v0.21 changin the color using the propert editor reset the per face
colors. This recreates that behavior when settin the appearance.

fixes #15170
2024-07-29 10:56:29 -05:00
Chris Hennes 9d70d0d2ed Merge pull request #15622 from Syres916/Fix_Display_UI_File
[Gui] Syncronise preferences page Display > UI with default settings
2024-07-29 10:55:01 -05:00
Ladislav Michl d3bb2068d9 Gui: Buggy Wayland custom cursors workaround
Until Qt v6.6 displaying custom cursors on Wayland is broken,
so add a workaround. See also QTBUG-95434.
2024-07-29 10:51:46 -05:00
Roy-043 0338ae3fad BIM: Fix index out of range error for circular wall (#15526)
* BIM: Fix index out of range error for circular wall

Fixes #15523.

* Reduce comments
2024-07-29 17:49:16 +02:00
PaddleStroke a5505a1b1c Assembly: Replace ObjRefPairs std::pair by structure. 2024-07-29 17:48:25 +02:00
PaddleStroke 4f79c675b7 Assembly: Property change from Object/Part to Reference 2024-07-29 17:48:25 +02:00
Chris Hennes 336a581942 Merge pull request #15451 from Ondsel-Development/fix-single-instance-windows
Core: Fix single instance windows
2024-07-29 10:42:47 -05:00
Chris Mayo 7ece2c709d BIM: Fix Welcome dialog wiki links 2024-07-29 17:41:35 +02:00
Roy-043 fb13b49eb4 Rebase 2024-07-29 17:41:09 +02:00
paullee a125770d63 [Arch ExportIFC] Bug-fix Consecutive Face Touch at Corner
Bug-fix Consecutive face (Wall segment) touch at corner.

Forum Discussion : https://forum.freecad.org/viewtopic.php?p=771954#p771954
2024-07-29 17:40:27 +02:00
Max Wilfinger 6acec2f916 Update labels.yml 2024-07-29 09:45:48 -05:00
Syres916 84063a99f9 [AddonManager] Correct composite button object name... (#15676)
* [AddonManager] Correct composite button object name...

... and disable button if Qt version is below 5.15.x

* [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-07-29 09:39:50 -05:00
bgbsww 4aaf72dcc2 Toponaming: Final piece nine of fixing Save/Restore sketch external geometry 2024-07-29 09:38:21 -05:00
Zheng, Lei 8338cd98d5 Toponaming: Bring in updateLinks changes 2024-07-29 09:38:21 -05:00
FEA-eng 06207c0707 Fem: Add missing Gmsh 2D algorithm (Quasi-structured Quad) 2024-07-28 19:18:28 -03:00
marioalexis 8cb42f8d59 Fem: Update test and examples 2024-07-28 16:27:20 -03:00
marioalexis 0e6d1cf5f9 Fem: Move MeshGmsh proxy from Fem::FemMeshObject to Fem::FemMeshShapeBaseObject - fixes #14897 2024-07-28 16:27:20 -03:00
marioalexis 56001d3f74 Fem: Add FemMeshShapeBaseObject and fix FemMeshShapeObject meshing 2024-07-28 16:27:20 -03:00
FEA-eng 0a50d270eb MeshPart: Update Tessellation.cpp 2024-07-28 12:11:21 +02:00
FEA-eng b49bdfe1f3 Mesh: Update RemeshGmsh.cpp 2024-07-28 12:10:19 +02:00
wmayer 00990cb1e1 Sketch: Fix compiler warnings
Fix warning: -Wunused-but-set-variable
2024-07-28 11:59:51 +02:00
Kacper Donat d927cfc438 Gui: Remove unnecessary minimumSizes from Preferences
QT treats setting minimum size very seriously - it applies even if
the size required by the control is smaller than specified resulting in
rendering too small controls.
2024-07-28 00:00:09 +02:00
Kacper Donat 58e7b4ec99 Gui: Remove unnecessary scrollbars from Preferences 2024-07-28 00:00:03 +02:00
Kacper Donat 5326173c5f Gui: Trim tree view column only if one column 2024-07-27 20:29:42 +02:00
Kacper Donat b3f3b12292 Gui: Fix minor preference pages issues 2024-07-27 20:29:38 +02:00
Chris Hennes 58b3d0217f Merge pull request #15509 from bgbsww/bgbsww-toponamingSaveRestore8
Toponaming:  Bring in ExportGeo and refmaps
2024-07-27 07:16:29 -05:00
Chris Hennes 8948505b45 Sketcher/Toponaming: Further linter cleanup 2024-07-26 22:10:44 -05:00
Chris Hennes 037c05a927 Sketcher/Toponaming: Minor code cleanup during review 2024-07-26 21:48:33 -05:00
bgbsww 71870bd6f3 Toponaming: Touchup cleanup
Includes some header re-ordering from chennes.
2024-07-26 21:39:39 -05:00
bgbsww e15646d158 Toponaming: Tests, cleanup, and fix axis drawing 2024-07-26 11:49:56 -04:00
Zheng, Lei 42bf92ad12 Toponaming: Transfer in ExportGeo and associated 2024-07-26 11:49:56 -04:00
wmayer 61c964caa9 MSVC: Suppress warning 2024-07-25 20:34:52 +02:00
Chris Mayo 598fa20b03 Copy current icon theme name to the fallback on startup 2024-07-25 19:21:25 +01:00
wmayer 8de6e5e8a8 Qt6: Fix MinGW build 2024-07-25 20:09:06 +02:00
wmayer 8deb2e0f0f MSVC: Fix compiler warning 2024-07-25 20:08:10 +02:00
Syres916 d0d414057c [Gui] Add missing checked property 2024-07-25 18:50:46 +01:00
Syres916 acdc6036f9 [Gui] Correct checkbox checked states 2024-07-25 15:04:04 +01:00
Chris Hennes e4e17cf398 Merge pull request #15508 from bgbsww/bgbsww-toponamingSaveRestore7
Toponaming: bring in getHigherElements code
2024-07-24 22:59:56 -05:00
Chris Hennes d92029f0ba Apply suggestions from code review 2024-07-24 21:48:59 -05:00
Chris Hennes 8764cd10bb Merge pull request #15505 from bgbsww/bgbsww-toponamingSaveRestore6
Toponaming:  bring in SketchObject::InternalShape
2024-07-24 18:52:12 -05:00
PaddleStroke 2dc886d748 Assembly: define joint double click on 3dview (#15572)
* Assembly: define joint double click on 3dview

* Update string
2024-07-24 18:44:36 -05:00
bgbsww b29abf7ffe Cleanup, format 2024-07-24 16:41:15 -04:00
Zheng, Lei a7bdbaa662 Toponaming: Transfer in getHigherElement 2024-07-24 15:10:42 -04:00
bgbsww 5c80e553a8 Cleanup ElementNamePair member, formatting 2024-07-24 11:10:23 -04:00
bgbsww 6a5207f7a8 Toponaming: Cleanup review notes 2024-07-23 23:58:56 -05:00
wmayer 5084e6ce39 Assembly: Fix compiler warning 2024-07-23 23:58:41 -05:00
wmayer 703c349ade Spreadsheet: Delete key doesn't clear contents in selected cells
Fixes #15023. On macOS a different shortcut is defined for the 'Delete' key
2024-07-23 23:20:41 -05:00
wmayer 88ee1d6df3 FEM: Fix convoluted event handling of constraint task boxes
and make Delete key working on macOS
2024-07-23 23:19:51 -05:00
Syres916 838bfc0461 [Start] Fix ThemeAccentColors not populated... (#15574)
* [Start] Fix ThemeAccentColors not populated...

...on some versions of Qt

* [Start] Only apply if the ThemeAccentColor1 does not exist

* [Start] Fix Lint feedback

* [Start] Set constants

* [Start] Fix new Lint feedback
2024-07-23 23:01:21 -05:00
Chris Mayo ff168e345f Remove icon ThemeSearchPaths option on Linux
ThemeSearchPaths option was originally introduced in:
c420de0f9b ("Option to opt-out from using a Linux desktop icon theme.", 2020-01-26)

It was set on by default in:
dc6456caf9 ("Gui: Use FreeCAD supplied icons on Linux by default", 2024-06-26)

The key effect of the option is to select the FreeCAD-default icon theme.
The code also unnecessarily resets QIcon::themeSearchPaths,
":\icons" is always included in the default search paths [1],
when when using QAdwaitaDecorations causes window frame control icons
not to be displayed:

  (qt.qpa.qadwaitadecorations) Failed to find an svg icon for  "window-close-symbolic.svg"
  (qt.qpa.qadwaitadecorations) Failed to find an svg icon for  "window-minimize-symbolic.svg"
  (qt.qpa.qadwaitadecorations) Failed to find an svg icon for  "window-maximize-symbolic.svg"
  (qt.qpa.qadwaitadecorations) Failed to find an svg icon for  "window-restore-symbolic.svg"

A different default icon theme can still be chosen with the Name option.

[1] https://doc.qt.io/qt-6/qicon.html#themeSearchPaths
2024-07-23 19:26:14 +01:00
luzpaz a71f49f4f6 Fix trailing newlines and minor typo fixes 2024-07-23 16:16:30 +02:00
Zheng, Lei 7d344e2818 Toponaming: Transfer in SketchObject::InternalShape 2024-07-22 17:26:52 -04:00
Chris Hennes ec586668d9 Merge pull request #15504 from bgbsww/bgbsww-toponamingSaveRestore5
Toponaming: update findSubShapesWithSharedVertex
2024-07-22 15:28:18 -05:00
bgbsww 0178e848e4 Toponaming: Clean code, apply remark recommendations and Tweak tests 2024-07-22 12:55:23 -04:00
Zheng, Lei f6494bdf05 Toponaming: Bring in composite shapes for findSubshapesWithSharedVertex ( searchSubShape ) 2024-07-22 12:51:25 -04:00
Chris Hennes 3fa339e9eb Merge pull request #15501 from bgbsww/bgbsww-toponamingSaveRestore4
Toponaming: Transfer in getLinksTo
2024-07-22 11:23:12 -05:00
Jacob Oursland 650b765cd1 CI: Add pivy RC. 2024-07-22 09:22:54 -07:00
Jacob Oursland ea10dd89cd CI: Add Ubuntu 22.04 Conda Qt6 to CI. 2024-07-22 09:22:30 -07:00
Jacob Oursland 26e8eb1f9f CMake: ensure shiboken does not introduce Py_LIMITED_API.
On some builds, the CMake package files for PySide6's Shiboken set the Py_LIMITED_API define on
the compiler's command line.  This breaks FreeCAD as it depends on definitions from the Python
Stable API unavailable with the Limited API.
2024-07-22 09:22:30 -07:00
Syres916 4beef5e0d8 [Gui] Overlay set hide in non 3D view to be true/checked 2024-07-22 11:13:11 -05:00
MisterMaker 9c6663c924 Stylesheet fixes part trois. (#15471)
* fixes Qtoolbox for Freecad CAM

https://github.com/FreeCAD/FreeCAD/issues/14745#issuecomment-2231031485

* Removed offset because of Linux issues.

* fix for to dark cells in propetties panel

* fixed constrain colors in sketcher and arros tabbar.

* tabbar fixes

* This fixes the checkered scrollbar issue

* This fixes the spinbox arrow which had a gap.

* misses somethings in the overlay stylesheets.

* typos

* fixed some overlay issues

* update sketch uncontrained colors

* trying to fix the arrow size

* fixes for treeview

* Update Light Theme + Dark Background.qss

fix for edit text field

* updated checkmarks names and scaled them down.

* Update FreeCAD Dark.qss

oopsie wrong color

* Update icons classic.svg

icons files for the icons

* fix for table edit
2024-07-22 11:12:21 -05:00
marioalexis 9a2c9564de Fem: Import/export 1D elements from mesh to vtk - fixes #15541 2024-07-22 11:10:05 -05:00
Chris Hennes 625699cd84 Merge pull request #15520 from Ondsel-Development/asm_bom_same_name_bug
Assembly: BOM: Fix same name different doc issue.
2024-07-22 11:08:52 -05:00
marioalexis 00b8e11dd6 Fem: Remove unused gmsh option - fixes #6354 2024-07-22 11:07:25 -05:00
marioalexis 30564b30ed Fem: Handle single value field - fixes #14022 2024-07-22 11:05:12 -05:00
marioalexis 2c4701c94e Fem: Fix mystran preference path - fixes #15348 2024-07-22 10:56:46 -05:00
wmayer 9c236af83f PD: Fix crash when pressing ESC on chamfer/fillet dialog 2024-07-22 10:53:31 -05:00
sliptonic b5295411b5 Fixes https://github.com/Ondsel-Development/FreeCAD/issues/114
The refactored postprocessor system uses
a factory to load scripts.  The preference
system has logic to load the scripts to get the tooltips
That logic was overlooked during the refactor.
Added it here.
2024-07-22 10:50:53 -05:00
sliptonic fbbad53361 fixes https://github.com/Ondsel-Development/FreeCAD/issues/115
dead function call.
2024-07-22 10:50:53 -05:00
sliptonic e252661db5 Fixes: https://github.com/Ondsel-Development/FreeCAD/issues/116
The migration of CAM to use the new material system left behind some
logic that created an old dedicated stock material property.

This commit removes that property
2024-07-22 10:50:53 -05:00
marioalexis 789353b52a Fem: Remove redundant *Fix properties in constraint displacement - fixes #14556 2024-07-22 10:50:15 -05:00
Snow Faerie 05bf9029b5 Generate compile_commands.json
Modify CMakePresets.json to use -DCMAKE_EXPORT_COMPILE_COMMANDS:BOOL=ON
in all the presets.

The compile_commands.json file can be used by tools like clangd to get
autocompletion and go-to-definition.

This patch also adds compile_commands.json to the .gitignore, as often
you need to symlink the compile_commands.json from the build directory
into the source directory for it to be picked by tools. That is the case
with clangd at least.
2024-07-22 10:49:34 -05:00
Chris Hennes dd86f21130 Merge pull request #15521 from bgbsww/bgbsww-toponamingSaveRestore1plus
Throw exceptions rather than return default 0
2024-07-22 10:46:53 -05:00
Yorik van Havre 5b7a61ea06 BIM: Better fix to IFC viewprovider - fixes #15477 2024-07-22 10:46:02 -05:00
Chris Hennes 5ffa1bc582 Addon Manager: Silence warning due to use of horizontal line 2024-07-22 10:45:08 -05:00
Chris Hennes f841acc5c5 Merge pull request #15499 from wwmayer/issue_15453
Fix possible crashes in PD task panels
2024-07-22 10:44:35 -05:00
Chris Hennes 8249b81d93 PD/Tests: Correct TestPartDesignGui for Qt6 2024-07-22 11:42:59 -04:00
Pieter Hijma 692d4526e8 Fix a compatibility issue with old Qt 5
Ubuntu 20.04 uses a currently deprecated API requiring this change.
2024-07-22 17:40:27 +02:00
Pieter Hijma c9887e4c8c Core: Enable single instance for Windows 2024-07-22 17:40:27 +02:00
Pieter Hijma 7b98eac9a0 Core: Improve communication single-instance 2024-07-22 17:39:32 +02:00
Kim Kirwan 25c5d09c43 Minor fixes to improve README.md file readability
Fixed a misspelling, added some commas, changed all occurrences of
PDN (PartDesignNext) or PD to PartDesign to improve readability.
(And update the text, since PartDesignNext was new in version
0.17 or so, and stable is now 0.21.2. )
2024-07-22 10:37:54 -05:00
wandererfan 0600f36b10 [TD]fix leader start point on rotated view 2024-07-22 09:14:34 -04:00
PaddleStroke 0273391211 Assembly: BOM tool: Do not list Groups. 2024-07-22 12:23:26 +02:00
PaddleStroke 4b0c72ccad Assembly: BOM: Fix same name different doc issue. 2024-07-22 12:23:21 +02:00
Chris Hennes 187296d67a Addon Manager Tests: Skip all git tests if git is not present 2024-07-22 00:08:51 -05:00
PaddleStroke 6ce744a9a1 Assembly: Fix conflicting shortcut for Exploded view 2024-07-22 00:07:51 -05:00
wmayer 373533d030 Tests: Add tests for MeshPart 2024-07-22 00:06:23 -05:00
bgbsww 97473a838f Refactor all element name pairs into clearer struct names - renames 2024-07-21 20:32:58 -04:00
bgbsww 5afdc19874 Toponaming: Cleanup 2024-07-21 17:40:42 -04:00
Zheng, Lei c9232b141a Toponaming: Transfer in getLinksTo 2024-07-21 17:36:50 -04:00
Chris Hennes ac3b5b3c74 Merge pull request #15535 from bgbsww/bgbsww-toponamingSaveRestore3plus
Refactor all elementname pairs into clearer struct names
2024-07-21 11:40:39 -05:00
Yuri D'Elia 41d67f8e10 Gui: Fix Shiboken version detection and compilation error
- Shiboken headers need to be included first to get MAJOR/MINOR version
  flags. Without them the code would still compile, but fail the version
  check a few lines below assuming Shiboken is always older than 5.12
- Fix typo in cast when HAVE_SHIBOKEN_TYPE_FOR_TYPENAME is defined and
  remove the conditional: we have to assume typeForTypeName() always
  results in a valid name, as for the other implementations. There's no
  error handling of any kind in callers.

This fixes the build on debian unstable with shiboken 5.15.
2024-07-21 00:04:37 -05:00
Chris Hennes a7d32d3dcc Merge pull request #15481 from Syres916/Measure_Restrict_Availability
[Measure] Correctly restrict command availability
2024-07-20 23:33:03 -05:00
Chris Hennes 38b57ab8c7 Merge pull request #14918 from hlorus/measure_fix_assembly
Measure: Fix measure issues in assemblies
2024-07-20 23:06:24 -05:00
marioalexis f466f087fe Fem: Fix manual color bar range specification - fixes #15013 2024-07-20 22:36:53 -05:00
marioalexis d19b4adb78 Fem: Use own base class for Python objects - fixes #15408 2024-07-20 21:10:15 -05:00
bgbsww 0bddc51805 Refactor all element name pairs into clearer struct names - renames 2024-07-20 16:32:12 -04:00
bgbsww 3db680c7de Refactor all element name pairs into clearer struct names - definitions 2024-07-20 16:32:12 -04:00
Chris Hennes 608cb182e5 Merge pull request #15500 from bgbsww/bgbsww-toponamingSaveRestore3
Toponaming: refactor getExportElementName to separate method
2024-07-19 20:05:42 -05:00
bgbsww 159c811bce Toponaming: refactor getExportElementName to separate method 2024-07-19 10:19:57 -04:00
bgbsww db9c075be8 Toponaming: Clean Code adding RefIndex to ExternalGeometry and supporting new migration types. 2024-07-19 09:39:19 -04:00
Roy-043 51789ae8a1 BIM: Fix bug in OBJ import caused by missing utf8 encoding
Fixes #15512.
2024-07-19 15:24:43 +02:00
Zheng, Lei 1972156308 Transfer in code from linkstage3 2024-07-19 09:22:17 -04:00
bgbsww 178c4ec477 Throw exceptions rather than return default 0 2024-07-19 09:09:59 -04:00
bgbsww 63a68b3c1c Throw exceptions rather than return default 0 2024-07-19 08:59:25 -04:00
bgbsww ff61f56d19 Expand reader getAttribute calls to accept a default value 2024-07-18 18:18:38 -05:00
wmayer c1a7edc221 PD: Fix possible crashes in dress-up task panels 2024-07-18 15:13:29 +02:00
wmayer 839fd1fec0 PD: Fix possible crash in primitive dialog 2024-07-18 14:28:52 +02:00
wmayer 5731a27609 PD: Add template helper functions to safely access feature or view provider
In subclasses of TaskFeatureParameters use the new helper functions and check for null pointer. This fixes #15453
2024-07-18 13:40:08 +02:00
wmayer 351397e088 PD: Replace helper functions in subclasses of TaskDlgFeatureParameters with a template function 2024-07-18 00:02:07 +02:00
wmayer cf6d8da448 PD: Make blockUpdate private class member 2024-07-17 20:09:53 +02:00
Syres916 a9d690d6d0 [Measure] Fix Lint Feedback 2024-07-17 18:18:13 +01:00
hlorus ba6fd2de39 Measure: Fix retrival of shape in measure geomtery handlers 2024-07-17 17:56:37 +02:00
hlorus 572235cff8 Measure: Resolve App::Link elements 2024-07-17 17:56:37 +02:00
hlorus bb7f84c32a Measure: Reduce boilerplate code by adding some helper methods 2024-07-17 17:53:12 +02:00
Chris Hennes c8046b1c60 Sketcher: Fix crash on recompute with points
Fixes #15154.
2024-07-17 10:25:22 -04:00
Reqrefusion 2495a10f54 Some love 2024-07-17 10:04:31 -04:00
Syres916 23de5b7083 [Measure] Correctly restrict availability 2024-07-17 14:43:09 +01:00
PaddleStroke e4c707b989 Sketcher: Rotate: correct the name of the checkbox 2024-07-17 00:12:24 -05:00
PaddleStroke e56f4a8c1a Assembly: Fix edit mode to allow users to transform the assembly. 2024-07-16 23:44:00 -05:00
Chris Hennes ce4b24029f Merge pull request #15382 from Syres916/Fix_Theme_ComboBox_Lookup
[Gui] Preferences - fix the theme combobox index lookup...
2024-07-16 23:26:47 -05:00
Chris Hennes a9b29269ec Merge pull request #14970 from kadet1090/use-freecad-icons-by-default
Gui: Use FreeCAD supplied icons by default
2024-07-16 23:21:24 -05:00
Chris Hennes f6d45db7eb Merge pull request #15194 from bgbsww/bgbsww-toponamingFix15145
Toponaming: Missing getSubObject code in PartDesign::Body
2024-07-16 23:20:24 -05:00
wandererfan 16f25ec4a2 [TD]translate line names at time of use 2024-07-16 14:03:48 -04:00
Yorik van Havre 4d29b50ef5 BIM: Fixed empty IFC decomposition - fixes #15363 2024-07-16 15:42:19 +02:00
Yorik van Havre de43943fd7 BIM: Fixed IFC import with None psets - fixes #15436 2024-07-16 15:42:03 +02:00
Pieter Hijma 44387a793b Core: Add missing Python interpreter locks 2024-07-16 11:57:36 +02:00
wmayer f0024a8930 JtReader: Fix include paths 2024-07-16 11:48:07 +02:00
Roy-043 55b6dd71e5 BIM: Fix Wavefront OBJ color export
Fixes #15429.

Related #10906.
2024-07-16 10:15:08 +02:00
Roy-043 80fd7e3af2 BIM: Arch_Fence add missing recompute 2024-07-16 10:14:36 +02:00
Chris Hennes 0278bd8f27 Gui: Add missing include to PCH 2024-07-15 22:35:38 -05:00
Chris Hennes e186ae9c6f Merge pull request #15376 from wwmayer/issue_15369
Gui: Allow to set MSAA 4x option
2024-07-15 21:06:46 -05:00
David Carter 810f34ea11 Material: Update translation paths
Correct issue where the translations were being generated from the
wrong source. All translatable files were moved to the MatGui library.
2024-07-15 20:59:10 -05:00
MisterMaker 3a32ae9985 Stylesheet fixes (#14749) 2024-07-15 16:26:28 -05:00
Syres916 6669aa55f7 [Gui] Apply requested changes 2024-07-15 20:17:58 +01:00
Kacper Donat dc6456caf9 Gui: Use FreeCAD supplied icons on Linux by default
Fixes: #14968
2024-07-15 21:16:24 +02:00
Pesc0 0e5690d732 Rename variables and clean method 2024-07-15 12:50:30 -04:00
PaddleStroke 29889bfd9a Core: Image taskbox : close if document is closed. 2024-07-15 11:33:24 -05:00
Chris Hennes 10ce67da0d Merge pull request #15315 from Ondsel-Development/RFC_shiboken6fix2
GUI: Work around Shiboken 6 bug for CallTips
2024-07-15 11:32:00 -05:00
Pieter Hijma 6f19ac0c32 Fix version numbers
Co-authored-by: Chris Hennes <chennes@pioneerlibrarysystem.org>
2024-07-15 18:29:10 +02:00
Adrián Insaurralde Avalos b49aca5d55 remove qtxmlpatterns from cmake scripts 2024-07-15 11:29:01 -05:00
Kacper Donat caa141f8f3 Gui: Utilize XDG icon themes properly 2024-07-15 18:26:40 +02:00
PaddleStroke 4527112392 Sketcher: Dimension: Fix right click/esc so that it dismiss the dimension before exiting the tool. 2024-07-15 18:26:03 +02:00
Chris Hennes 8e376b52f2 Merge pull request #15172 from Ondsel-Development/varset-property-types
Gui: Handle various property types better in VarSet dialog
2024-07-15 11:24:46 -05:00
PaddleStroke 64c83f3588 Sketcher: Fix bug of auto-constraints icon not clearing up on mouseMove. 2024-07-15 11:23:03 -05:00
David Carter 03e60ccc6e Materials: Catch correct error
When the UUID is set to a non-existent material, it was Catching
Materials::ModelNotFound instead of Materials::MaterialNotFound
2024-07-15 11:11:18 -05:00
wmayer ac50594e3b Remove color bar from SoFCColorBarNotifier to decrease reference counter 2024-07-15 18:05:30 +02:00
wmayer 6a464d80e6 PyObject_CallObject returns new reference 2024-07-15 18:05:30 +02:00
Zheng, Lei bcea524177 Toponaming: Missing getSubObject code in PartDesign::Body and SketchObject::getSubObject 2024-07-15 11:59:15 -04:00
wmayer 6009072675 Core: Fix Python API name clash: do not expose the App::Part type to Python
Fixes #12539
2024-07-15 10:57:59 -05:00
Kacper Donat 284c42dc0a Gui: Reduce Transform Dragger size
Fixes: #13853
2024-07-15 10:57:19 -05:00
Kacper Donat ce6275e163 Gui: Fix background of non-alternate rows of Property View
This forces background to be rendered using `itemBackground` QProperty.

Fixes: #15263
2024-07-15 17:54:51 +02:00
Chris Hennes 15b6ded2aa Tools: Support Qt6 in updatecrowdin.py 2024-07-15 17:53:44 +02:00
PaddleStroke 47a506f82f Core: Tree: add canDragFromParents to reduce code duplicity. + Few small fixes 2024-07-15 17:53:02 +02:00
PaddleStroke 6088fdaa96 Assembly: Use canDragObjectToTarget in viewProviderAssembly 2024-07-15 17:53:02 +02:00
PaddleStroke 3e2bc7ad3d Core: Tree / ViewProvider : Add canDragObjectToTarget 2024-07-15 17:53:02 +02:00
PaddleStroke c70654733f Core: Tree.cpp: few syntax fixes 2024-07-15 17:53:02 +02:00
bgbsww 7daa22fcc7 Toponaming: Process mapped names during selection 2024-07-15 10:45:43 -05:00
Yorik van Havre ca8ce97695 BIM: Fix save tool - fixes #15362 2024-07-15 17:43:33 +02:00
Kacper Donat c1c41bd88f Gui: Ability to target new file buttons fia QSS.
This adds ability to target New File buttons via `#CreateNewRow >
QPushButton` selector.
2024-07-15 10:43:05 -05:00
Reqrefusion a76fdb4440 Dark Theme fix
Update TechDraw_GeometricHatch.svg

Centerline Dark fix

Some fix

Update TechDraw_GeometricHatch.svg
2024-07-15 10:40:53 -05:00
Chris Hennes 0918dfcf98 Merge pull request #15085 from wwmayer/issue_15068
Sketcher: Delete key in non-functional in macOS
2024-07-15 10:34:55 -05:00
Chris Hennes 39637a3fdb Merge pull request #15347 from bgbsww/bgbsww-toponamingFix14837
Toponaming: Restore code for instant sketch position updates
2024-07-15 10:23:24 -05:00
PaddleStroke 0cb9a44e4e Measure: Quickmeasure: disable for sketch in edit mode due to incorrect behavior. 2024-07-15 10:08:31 -05:00
bgbsww e6fbc6b447 Toponaming: Missing suppress property and code 2024-07-15 09:38:13 -05:00
Chris Hennes 2731b55100 Merge pull request #14688 from davesrocketshop/issue_14686
Materials: Set MaterialTreeWidget minimum size
2024-07-15 09:24:32 -05:00
Chris Hennes 97672e56c7 Merge pull request #14495 from hyx0329/bugfix/fem-binary-detection-in-PATH
Fem: fix searching 3rd-party binaries in system path
2024-07-15 09:22:25 -05:00
FEA-eng 2a460a0813 FEM: New frequency analysis icon 2024-07-15 12:06:22 +02:00
FEA-eng 73b0a3da46 FEM: Delete src/Mod/Fem/Gui/Resources/icons/fem-solver-analysis-frequency.svg 2024-07-15 12:06:22 +02:00
Pieter Hijma 1796818640 Gui: Add font data to VarSet dialog 2024-07-15 11:13:11 +02:00
luzpaz e216dc94ca Materials: Trim trailing newlines 2024-07-15 10:47:47 +02:00
Pieter Hijma 3d4f671c36 Gui: Handle property types better in VarSet dialog
This makes a distinction between types that cannot be instantiated and
types without an editor (editing values can be done in the property
view).  It adapts to DlgAddProperty.* using the same mechanism to filter
properties.
2024-07-15 09:38:29 +02:00
Chris Hennes 463b2d9451 Merge pull request #15010 from hlorus/measure_distance_components
MeasureGui: Add MeasureDistance X, Y and Z components back
2024-07-14 23:46:04 -05:00
PaddleStroke a1487106ab Sketcher: re-apply cursor of tool when clicking. 2024-07-14 22:35:07 -05:00
Chris Hennes 07f16394d1 UI: Fix repeated names in UI files 2024-07-14 22:34:37 -05:00
FEA-eng 557356c51e FEM: Fix error with custom material card (#15179)
* FEM: Update task_material_common.py

* [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-07-14 21:31:17 -05:00
Chris Hennes 2a60242724 Merge pull request #15167 from Ondsel-Development/sk_pref_default
Sketcher/Techdraw: add resetSettingsToDefaults to reset correctly dimension tool settings
2024-07-14 20:54:26 -05:00
PaddleStroke 01c2e45079 Assembly: update AssemblyExample.fcstd 2024-07-14 20:26:59 -05:00
PaddleStroke 3a17209733 Assembly: Prevent insertion of parent objects that cause dependency loop and crash. 2024-07-14 20:25:53 -05:00
Chris Hennes 4bb6d191b4 Merge pull request #15371 from yorikvanhavre/translations
Translations
2024-07-14 12:55:28 -05:00
wmayer 45a7d9ca91 Part: Fixes #15411: ColorPerFace test fails 2024-07-14 12:52:52 -05:00
wmayer 14ec1e6603 Measure: Fix memory leak in MeasureDistanceInfo
Fixes #15349
2024-07-14 15:21:47 +02:00
FEA-eng 9ffa5dac20 FEM: Update test_commands.sh 2024-07-14 15:21:00 +02:00
FEA-eng 857efe68b4 FEM: Update test_ccxtools.py 2024-07-14 15:21:00 +02:00
FEA-eng 2db2048538 FEM: Update manager.py 2024-07-14 15:21:00 +02:00
FEA-eng 8da6465795 FEM: Update CMakeLists.txt 2024-07-14 15:21:00 +02:00
FEA-eng deeb4adfca FEM: Rename mesh_thermomech_bimetall_tetra10.py to mesh_thermomech_bimetal_tetra10.py 2024-07-14 15:21:00 +02:00
FEA-eng bc718c6e63 FEM: Update and rename thermomech_bimetall.inp to thermomech_bimetal.inp 2024-07-14 15:21:00 +02:00
FEA-eng 012609969d FEM: Update and rename thermomech_bimetall.py to thermomech_bimetal.py 2024-07-14 15:21:00 +02:00
FEA-eng 977d284160 FEM: Add new icon 2024-07-14 15:20:08 +02:00
FEA-eng abefe1a122 FEM: Delete src/Mod/Fem/Gui/Resources/icons/FEM_CreateElementsSet.svg 2024-07-14 15:20:08 +02:00
FEA-eng 686741266a FEM: Update writer.py 2024-07-14 15:19:12 +02:00
luzpaz 8a14a7d6f0 Path (and PathSimulator): Trim trailing Newlines 2024-07-14 09:26:15 +02:00
luzpaz 9c6e78b5cb TD: Trim trailing newlines 2024-07-14 09:25:46 +02:00
luzpaz 25e8aacbe3 BIM: Trim trailing newlines 2024-07-14 09:24:22 +02:00
Pieter Hijma a4862b6819 Gui: Prevent invalid editors in VarSet dialog
In the VarSet dialog, we can create an editor after the name and type
has been determined.  However, if the name is changed after an editor
has been created, the editor is invalid because the underlying property
has been removed.  In that case, the function onNameDetermined() should
clean up the invalid editor and this happens in most cases.
Unfortunately, it cannot handle the case in which a click happens on the
invalid editor itself.  This click should result in onNameDetermined() but
since the editor is already invalid, onNameDetermined() is triggered too
late.

The current commit solves this by listening for every change in the name
of the property and handle the editors accordingly.
2024-07-13 22:51:46 -05:00
Pieter Hijma 7805c481b5 Core: Add a missing interpeter lock 2024-07-13 22:33:15 -05:00
Chris Hennes 2e39b4167f Merge pull request #15177 from shaise/Fix-Python-getElement
[TNP] Fix python get element. partially fixes #15095
2024-07-13 20:53:03 -05:00
PaddleStroke 1ee4042c49 Assembly: Insert link : Insert to origin if it is within view. 2024-07-13 20:16:55 -05:00
Chris Hennes de3579bf7c Merge pull request #15190 from hlorus/measure_dependency_violation
MeasureGui: Fix measure dependency violation
2024-07-13 19:56:23 -05:00
Roy-043 c7f712844e Gui: fix icon name conflict related to Std_ViewScreenShot
The image Std_ViewScreenShot.svg was not used in the GUI. The command Std_ViewScreenShot used a different icon. This caused a name conflict in the Wiki.
2024-07-13 19:32:14 -05:00
Roy-043 a08a77cc76 Gui: Minor cleanup related to obsolete Part_Measure tools 2024-07-13 19:31:51 -05:00
FEA-eng c91165976f FEM: Update DlgSettingsFemInOutVtk.ui 2024-07-13 19:31:24 -05:00
PaddleStroke d3a9b11599 Sketcher: Fix offset crash that was caused by coincident wires that were unconstrained. 2024-07-13 19:05:19 -05:00
Chris Hennes 9a51e2c6f1 Addon Manager: Linter cleanup 2024-07-12 19:06:38 -05:00
Chris Hennes d7d1a03fcf Addon manager: Reduce fetches from GitHub
Reduce the number of GitHub fetches when rebuilding the local addon cache by using a remote cache stored on FreeCAD's servers.

Intended to mitigate the Addon Manager hitting GitHub's rate limiters.

Addresses, but does not fully close, #15059
2024-07-12 19:06:38 -05:00
PaddleStroke 88d970f35e OndselSolver: update to fix warnings from @pieterhijma 2024-07-12 16:42:19 -05:00
wmayer b0676d0578 Tests: Fix warnings: unknown pragma ignored [-Wunknown-pragmas] 2024-07-12 21:53:53 +02:00
PaddleStroke 9868533d8d Sketcher: Fix undo of external creation not working. 2024-07-12 09:41:55 -05:00
Syres916 dbb7c6e5b8 [Gui] Preferences - fix the theme combobox index lookup...
...when the user has FreeCAD-themes (and no doubt other theme addons) installed.
2024-07-11 23:50:26 +01:00
wmayer cde1a6412f Gui: Ignore readability-convert-member-functions-to-static for Multisample::testSamples 2024-07-11 17:57:02 +02:00
wmayer c644736e75 Gui: Allow to set MSAA 4x option
Fixes #15369
2024-07-11 17:40:55 +02:00
wmayer 6c02b8f10f Gui: Use of Multisample class 2024-07-11 17:39:23 +02:00
wmayer 692d84a085 Gui: Add class Multisample to check supported MSAA modes 2024-07-11 16:40:55 +02:00
pre-commit-ci[bot] 6470f3b129 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2024-07-11 13:11:59 +00:00
Yorik van Havre 2c66c8a788 Merged crowdin translations 2024-07-11 15:07:17 +02:00
Yorik van Havre eeb78ac5cd Tools: fixed deprecated regex syntax in crowdin tool 2024-07-11 15:05:46 +02:00
Yorik van Havre 0a69f0d7c2 Updated ts files 2024-07-11 14:56:33 +02:00
Roy-043 ac2b65c37b Material: Change "Custom Appearance" to sentence case in ui files 2024-07-11 14:24:30 +02:00
Yorik van Havre 8a0604c491 BIM: more tests in IfcOpenShell tool - fixes #15147 2024-07-11 11:32:06 +02:00
Yorik van Havre 4e9e0f4111 BIM: Fixed wrong ui for ProjectManager tool 2024-07-11 10:47:30 +02:00
Chris Hennes 342116e614 Addon Manager: Eliminate use of Qt::WindowStaysOnTopHint
Fixes #14860
2024-07-10 22:26:14 -05:00
Chris Hennes 0800eea8d0 Addon Manager: Fix Python dependencies button
Fixes #15357.
2024-07-10 22:25:53 -05:00
Chris Hennes d838e44521 Addon Manager: Correct update button text regression (#15358)
* Addon Manager: Correct update button text regression

Fixes #13259.
2024-07-10 21:35:56 -05:00
Chris Hennes 9eeca1f6ad cMake: Fix LibPack3 install target DLL locations 2024-07-10 13:17:58 -05:00
bgbsww 65155936a6 Toponaming: Restore hiding of unused properties 2024-07-10 10:53:20 -04:00
Chris Hennes 6351313554 FEM: Add QStandardPaths to PreCompiled.h 2024-07-10 09:08:33 -05:00
hyx0329 3caabad54d Fem: fix ccx config section string used in UI code 2024-07-10 09:08:33 -05:00
hyx0329 b5ed48f564 Fem: fix and improve searching 3rd-party binaries 2024-07-10 09:08:33 -05:00
bgbsww 6025ebd4be Toponaming: Restore code for instant sketch position updates 2024-07-10 09:50:44 -04:00
Reqrefusion 52b4112a9a Update TechDraw_PageTemplate.svg 2024-07-10 09:35:44 -04:00
Reqrefusion 9783630d68 kadet's icon
Update TechDraw_GeometricHatch.svg

Update TechDraw_GeometricHatch.svg
2024-07-10 09:32:48 -04:00
Chris Hennes 051aae3f92 Gui: Add SoDecomposeVec3f.h to InventorAll.h 2024-07-10 08:28:50 -05:00
Chris Hennes c29cb8464d Correct typo 2024-07-10 08:08:15 -05:00
Yorik van Havre 41e5588e56 BIM: Added delay to ifc viewprovider drag and drop - fixes #15259 2024-07-10 15:01:21 +02:00
Yorik van Havre 5ae220b96d BIM: Fixed remaining warnings and popups - fixes #14428 2024-07-10 14:24:22 +02:00
Yorik van Havre c4e55e3855 BIM: fixed nativeIFC view provider - fixes #15259 2024-07-10 12:04:40 +02:00
Yorik van Havre 99aeb89ddb Translations: Fixed BIM translations 2024-07-10 11:14:02 +02:00
Yorik van Havre 855bdeb3fe BIM: Fixed IfcOpenShell imports - fixes #15285 2024-07-10 11:13:41 +02:00
FEA-eng fb6c84b717 Update DlgSettingsObjectColor.ui 2024-07-10 10:31:29 +02:00
FEA-eng 7c8259f702 Update PathJob.ui 2024-07-10 10:31:29 +02:00
FEA-eng 7cfdbd5a69 Update PathEdit.ui 2024-07-10 10:31:29 +02:00
FEA-eng 470b30c8c7 Update preferences-arch.ui 2024-07-10 10:31:29 +02:00
FEA-eng 27f87ec188 Update DlgPrefsTechDrawAdvanced.ui 2024-07-10 10:31:29 +02:00
FEA-eng fb47092750 Update DlgPrefsTechDrawColors.ui 2024-07-10 10:31:29 +02:00
FEA-eng a7fc36a1be Update DlgPrefsTechDrawDimensions.ui 2024-07-10 10:31:29 +02:00
FEA-eng f5cc495a23 Update DlgSettingsObjectColor.ui 2024-07-10 10:31:29 +02:00
FEA-eng 9979df4b44 Update DlgSettingsMeshView.ui 2024-07-10 10:31:29 +02:00
FEA-eng 4db9607233 Update DlgImportStep.ui 2024-07-10 10:31:29 +02:00
FEA-eng b1598c2625 Update DlgExportStep.ui 2024-07-10 10:31:29 +02:00
FEA-eng cb37bcc508 Update DlgSettingsUI.ui 2024-07-10 10:31:29 +02:00
PaddleStroke 3f47fe13a8 Update the comment describing PropertyXLinkSubHidden 2024-07-10 10:29:03 +02:00
PaddleStroke 31beda6f09 Core: Add App::PropertyXLinkSubHidden 2024-07-10 10:29:03 +02:00
Pieter Hijma 412ef693fd Gui: Distinct between locals and globals 2024-07-10 09:33:42 +02:00
wmayer 5b9b611f8e Core: In dialog to add property only list types that can be instantiated
Fixes #15159: Dialog for adding properties allows property types that give exceptions
2024-07-10 08:47:38 +02:00
PaddleStroke a3436c2d5f Assembly: Create joint: prevent errors on undo/ctrl-Z 2024-07-10 08:44:08 +02:00
wmayer 3f49779dae Gui: Extend TaskDialog
* Add TaskDialog::autoClosedOnDeletedDocument()
* Add option to automatically close task dialog when document is deleted
* Expose autoClosedOnDeletedDocument() to Python
* Expose autoClosedOnTransactionChange() to Python
* Change ControlPy::showDialog() to directly return the task dialog wrapper
* Change TaskView::slotDeletedDocument() to close task dialog if requested
2024-07-10 08:43:43 +02:00
bgbsww af1f7385d4 Toponaming: Comment out console warnings triggered by external geometry 2024-07-09 08:55:21 -05:00
lyphrowny e168c72769 [no ci] FEM: add reformatting commit to .git_blame_ignore_revs 2024-07-09 08:52:58 -05:00
pre-commit-ci[bot] b571f09c1c [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2024-07-09 08:52:17 -05:00
Yorik van Havre 32c9ed5493 Merged crowdin translations 2024-07-09 08:52:17 -05:00
Yorik van Havre 26624c2453 Updated ts files 2024-07-09 08:52:17 -05:00
wmayer fa2741fd29 Test: Add test to validate correct XML output of Content attribute 2024-07-08 21:18:56 -05:00
bgbsww 6ac5370cc4 Adjust PropertyTopoShape::Save code for correctness. 2024-07-08 21:18:32 -05:00
bgbsww 5568b40a07 Toponaming: Add missing TNP element name code; rough in more TNP tests (#14561)
* Add missing TNP element name code; rough in more TNP tests

* Update ElementNamingUtils.cpp

---------

Co-authored-by: Chris Hennes <chennes@pioneerlibrarysystem.org>
2024-07-08 18:43:42 -05:00
FEA-eng e97a957871 Update SectionCutting.ui 2024-07-08 17:20:30 -05:00
hasecilu d3a7dcbe96 Materials: Add tooltips to buttons
Having only `*`, `+` & `-` as reference is not intuitive. Tooltips help
users to know what each button does.

Also marked symbols as not translatable as they appear on CrowdIn.
2024-07-08 17:20:20 -05:00
FEA-eng a9ad3e7461 Assembly: Update Assembly.ui 2024-07-08 17:19:30 -05:00
luzpaz 9a1f487cdb Fix various typos throughout the codebase 2024-07-08 17:19:20 -05:00
FEA-eng 0bce5fccc5 FEM: Update DlgSettingsFemGeneral.ui 2024-07-08 17:19:06 -05:00
Yorik van Havre c30385ed3e Help: Added explaining note to preferences dialog (#15115)
* Help: Added explaining note to preferences dialog - fixes #14922

* Help: Fixed typos
2024-07-08 17:18:51 -05:00
Max Wilfinger 7d21d9edb8 Fix source string typos mentioned on Crowdin (#15261) 2024-07-08 17:18:31 -05:00
Syres916 cb12b639d1 [AddonManager] Fix transferTimeout AttributeError 2024-07-08 17:16:55 -05:00
FEA-eng de508e437d Remove QtStyle preference when applying Classic theme (#15168) 2024-07-08 13:44:08 -04:00
wmayer 8668d48b2d Sketch: Fix compiler warnings 2024-07-08 19:27:39 +02:00
PaddleStroke 5e4ab51c02 Sketcher: Bspline: Fix degree visibility, default value and combobox not updating with methode change. 2024-07-08 11:27:46 -05:00
Chris Hennes fe007b205b Merge pull request #14979 from Ondsel-Development/sk_ovp_switching
Sketcher: Dimension: Fix 2 bugs.
2024-07-08 11:26:39 -05:00
Yorik van Havre 7c3badce87 BIM: Fixed possible filename ambiguity in Layers - fixes #15038 2024-07-08 11:25:48 -05:00
wmayer 88fb44900e Mesh: Allow to measure distances with a mesh 2024-07-08 11:22:11 -05:00
Chris Hennes dd8a4cc435 Measure: Fix repeated element name in UI file 2024-07-08 12:20:15 -04:00
wmayer fadb607054 Tests: Make PD and Sketcher tests independent of user settings
The Refine property must be explicitly set as otherwise some tests will break because of different user settings
2024-07-08 11:19:36 -05:00
PaddleStroke b7c6ffe785 Sketcher: scale/translate: fix OVP warning if disabled 2024-07-08 11:13:29 -05:00
bgbsww f823f3fd8a Toponaming: Tweak test framework to allow leaving documents for examination 2024-07-08 11:12:45 -05:00
FEA-eng e09d8c58f7 Sketcher: Increase default width of dashed lines (#15075)
* Sketcher: Update SketcherSettingsAppearance.ui

* Sketcher: Update EditModeCoinManager.cpp
2024-07-08 11:06:55 -05:00
PaddleStroke 50228e5071 TechDraw: Fix 14038 and Refactor CommandCreateDims by adding execDim to reduce code duplicity. 2024-07-08 12:05:15 -04:00
Chris Hennes 4eb57fb50d Sketcher: Resolve unsafe combination of bool and int in | 2024-07-08 11:02:49 -05:00
marioalexis 0bc2717788 Fem: Check null shape in constraint bearing 2024-07-08 10:55:08 -05:00
wmayer 12f5f70757 Quarter: Update Quarter code
* Removes unused default constructors of the device classes
* Changes several doc strings
2024-07-08 10:54:41 -05:00
ppphp 51c6dbd3e3 fix unique ptr usage in sketch (#15008)
* fix unique ptr usage in sketch

* [pre-commit.ci] auto fixes from pre-commit.com hooks
2024-07-08 10:53:49 -05:00
Chris Hennes 24c7d3ef25 Sketcher: Switch SnapManager from Win-1252 to UTF-8 2024-07-08 17:51:33 +02:00
PaddleStroke cef87b5642 Sketcher: BSpline DSH: Fix crash: If you create new sketch, start bspline tool and change mode, it would crash. It's because it was doing a abortCommand before the command was opened. So it cancelled the create sketch command. 2024-07-08 10:50:33 -05:00
hlorus cd84304b67 Measure: Pass last object in subobject list to getTopoShape 2024-07-08 10:42:44 -05:00
PaddleStroke 6a309e889e Sketcher: BSpline: Fix crash when cancelled while only one point with autoconstraint. 2024-07-08 10:41:11 -05:00
wmayer 1eaf89b485 Sketcher: Handle PyException in createGeneratedAutoConstraints
Command::doCommand may throw an exception that isn't handled by the active sketch handler. This may leave it in an inconsistent state and can cause a crash later.

See #14945
2024-07-08 10:40:04 -05:00
PaddleStroke 6640815c4d Assembly: Enable Insert Component taskbox to grow when more items are added. 2024-07-08 10:39:07 -05:00
Chris Hennes 99d63a9693 cMake: Fix extra copy line for printsupport plugins 2024-07-08 08:44:18 -05:00
Chris Hennes c934a4bd64 cMake: Remove use of Core5Compat from Qt6 2024-07-08 11:59:09 +02:00
mosfet80 8d8ce96f8e [Mod:overlay] clean Overlay.cpp
Deleted dead code.
2024-07-08 11:58:51 +02:00
mosfet80 99983a86b8 [Mod] clean GLGraphicsView.cpp
Removed dead code
2024-07-08 11:58:13 +02:00
mosfet80 dfe0c5d4ee clean [Robot] Command.cpp
removed unnecessary code
2024-07-07 11:27:21 +02:00
wandererfan 4d90e1655a [TD]fix display of spreadsheet cells with no horiz alignment 2024-07-06 18:51:59 -04:00
Jookia 8e1476699f GUI: Work around Shiboken 6 bug for CallTips
Shiboken 6.4.0 to 6.8.0 and newer crash when using getAttr on their
objects. On these versions and newer, use a wrapper function to
call getattr.

Fixes #14101
2024-07-07 04:58:38 +10:00
wandererfan 03db773181 [TD]fix multiselect handling of non-geometry objects 2024-07-06 12:49:18 -04:00
wandererfan 3ddddc375c [TD]fix default for KeepLabel 2024-07-06 12:49:18 -04:00
wandererfan 7d8df6cd55 [TD]fix default line width on empty config 2024-07-06 12:49:18 -04:00
wandererfan d98aa70d0e [TD]fix camera/front buttons on Proj Group dialog 2024-07-06 12:49:18 -04:00
Max Wilfinger ef568314fd fix TechDraw .svg autofill and editable tags 2024-07-06 09:42:15 -04:00
FEA-eng f14498727b FEM: Update exportNastranMesh.py 2024-07-06 14:01:11 +02:00
wmayer 561e521817 MSVC: Fix warning C4005: 'NOMINMAX': macro redefinition 2024-07-05 17:04:43 +02:00
Shai Seger bf0b0cdf11 Merge branch 'FreeCAD:main' into Fix-Python-getElement 2024-07-05 16:45:36 +03:00
wmayer dd71f4d5db PD: Remove dead code from workbench class 2024-07-05 15:32:52 +02:00
wmayer 7ab2b92fc8 Gui: Don't show Python console by default
Fixes #15201
2024-07-05 14:56:37 +02:00
FEA-eng a77d6b8a38 PD: Update Workbench.cpp 2024-07-05 12:09:04 +02:00
hlorus 33802f48c4 MeasureGui: Insert measure command into menu & toolbar 2024-07-05 10:54:38 +02:00
wmayer 7a9fd501c3 PD: Reformat TaskThicknessParameters 2024-07-04 22:24:15 +02:00
wmayer 610e1d67ad PD: Refactor TaskThicknessParameters 2024-07-04 22:24:15 +02:00
wmayer 7c0ecac580 PD: Fix linter warnings in TaskThicknessParameters 2024-07-04 22:24:15 +02:00
wmayer 0af1ec2cf3 PD: Do not set hard-coded maximum for thickness parameter
Fixes #15140: Thickness value Task panel issue
2024-07-04 22:24:15 +02:00
wmayer aac8bdd7bc Fixes #14772: Random color problem 2024-07-04 22:23:10 +02:00
wmayer 3666215f8b Mesh: Do one import per line for the recorded macro 2024-07-04 22:22:28 +02:00
wmayer 535faeb297 Mesh: Use a lower threshold for the MeshPart_SectionByPlane command
See forum: https://forum.freecad.org/viewtopic.php?t=88734
2024-07-04 22:22:28 +02:00
wmayer 876e88f405 Gui: Fix crash in QuarterWidgetP::removeFromCacheContext
Fixes #https://github.com/FreeCAD/FreeCAD/issues/14988
2024-07-04 22:21:44 +02:00
wmayer f5a87bc620 Spreadsheet: Fix SheetPython::getViewProviderName() to return the correct type name
For more details see: https://forum.freecad.org/viewtopic.php?t=88642
2024-07-04 22:21:03 +02:00
wmayer 30d8a74ce7 Gui: Fix crash when trying to calibrate image after document is closed 2024-07-04 22:19:42 +02:00
wmayer 0e8752448b Start: Make the Start Page a passive view
Do not attach the Start Page to an existing document as otherwise weird behaviour can be observed:
1. Start FreeCAD
2. Open a project file or data file
3. Open the Start Page
4. Make a change to the document
5. Close the document. You won't be asked to save your change
6. In the tree view the document is still shown because the Start Page is attached to the document
7. Close the Start Page. Now you will be asked to save your change
2024-07-04 22:18:42 +02:00
wmayer 858e59fabf Sketcher: Fix format string in ExternalGeometryFacade::initExtensions()
The format string of the warnings were incorrect and caused an fmt::format_error exception
2024-07-04 22:05:22 +02:00
shai 2d1edacaa9 Add fixes suggested by @bgbsww 2024-07-04 19:53:09 +03:00
David Carter e04d29b950 Reduce Linter warnings 2024-07-04 11:49:45 -04:00
wmayer a8bbeac68e Core: In dialog to add property only list types that can be instantiated
Fixes #15159: Dialog for adding properties allows property types that give exceptions
2024-07-04 15:54:19 +02:00
hlorus 8ab537863a [MeasureGui] Move measure cmd and task into measure module
...to avoid core depending on modules
2024-07-04 14:56:49 +02:00
shai df002c1c7d Merge branch 'Fix-Python-getElement' of https://github.com/shaise/FreeCAD into Fix-Python-getElement 2024-07-04 11:49:45 +03:00
shai b08714116c Fix python shape setElement function. Partially fixes #15095 2024-07-04 11:48:44 +03:00
PaddleStroke 82f7749042 TechDraw: add DlgPrefsTechDrawDimensionsImp::resetSettingsToDefaults to reset correctly some settings. 2024-07-04 09:36:33 +02:00
Roy-043 a3cc73ce15 Draft: fix Draft_Shape2DView warnings
Fixes #15144.
2024-07-04 09:11:10 +02:00
PaddleStroke 09209436d2 Sketcher: add SketcherSettings::resetSettingsToDefaults to reset correctly some settings. 2024-07-03 18:33:57 +02:00
wmayer fdfffbcc9e TD: Fix DrawViewCollection::unsetupObject()
Assigning a null pointer to a std::string causes a failure
2024-07-03 09:07:17 -04:00
PaddleStroke d92742f9c6 Sketcher: Dimension: Prevent the use of Undo from crashing. 2024-07-02 15:48:47 +02:00
Jookia 04cc890fd0 StartView: Escape file paths when loading 2024-07-02 08:31:59 -05:00
Yorik van Havre 0f462500d9 BIM: Fixed ifcopenshell version detection 2024-07-02 15:24:45 +02:00
Yorik van Havre 9b390fa78e BIM: Check for pip when running IfcOpenShell update - fixes #14499 2024-07-02 15:24:45 +02:00
Yorik van Havre ba456aa925 BIM: Fixed bug in IfcExplorer tool - fixes #14422sdfg 2024-07-02 15:24:10 +02:00
Yorik van Havre e2e8f39ea9 BIM: Renamed file to avoid confusion with 0.21 BIM addon 2024-07-02 15:23:37 +02:00
Chris Hennes 7615c39824 Merge pull request #15051 from kadet1090/better-addon-manager-discoverability
Gui: Add information about custom themes to settings
2024-07-02 07:44:21 -05:00
Yorik van Havre 2a009589f9 Translations (#15107)
* Updated ts files

* Merged crowdin translations

* [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-07-02 12:21:53 +02:00
marcuspollio baaf586772 techdraw-PageDefault update 2024-07-02 11:27:54 +02:00
marcuspollio 1100794842 update following feedback 2024-07-02 11:27:54 +02:00
marcuspollio 7841225737 BIM: update some icons
Following recent changes in other WBs and also for better readability and consistency.
2024-07-02 11:27:54 +02:00
Roy-043 f82eef7533 Use the _finish function in case of cancel as well 2024-07-02 10:40:48 +02:00
Roy-043 5e95bb788a BIM: Fix BIM_Box command
Fixes #14823.

Depending on the order and location of the picked points, the Placement of the Box could be unexpected. The Height value was always positive if points were picked, a negative Height entered in the input box would lead to errors.

Additonally:
* Avoided some code duplication.
* Added a proper transaction to make the command undoable.
2024-07-02 10:40:48 +02:00
Yorik van Havre c79a5665ec Fixed license 2024-07-02 10:02:10 +02:00
Yorik van Havre f3f01e2845 BIM: Refinements to BIM example file 2024-07-02 10:02:10 +02:00
Yorik van Havre 96803f34cb BIM: new example file - fixes #14583 2024-07-02 10:02:10 +02:00
PaddleStroke fa0fdf22cf Sketcher: Dimension: Fix constraint switching. Refactor a little bit by adding finishDimensionCreation to reduce code copies. 2024-07-02 09:49:47 +02:00
Reqrefusion edd605dd11 Hatch
Update TechDraw_GeometricHatch.svg
2024-07-01 23:01:38 -05:00
Turan Furkan Topak f1392567b0 [Icons]Revision of TechDraw Icons(Char) (#14878)
* Char

Some fix

Update TechDraw_AreaDimension.svg

Displacement and m correction.

* Update TechDraw_ExtensionArcLengthAnnotation.svg
2024-07-01 23:01:18 -05:00
Reqrefusion 8a762c7a6f lock
lock
2024-07-01 22:59:38 -05:00
Reqrefusion 31b3a375ed others
Update TechDraw_RefError.svg

Back old icon

Update TechDraw_ArchView.svg

add Highlight

page fix
2024-07-01 22:59:30 -05:00
Reqrefusion f763fd3820 posChain
Pixel alignment
2024-07-01 22:59:19 -05:00
Reqrefusion edc54a5cfb symbol
Fix

symbol
2024-07-01 22:59:06 -05:00
aiksiongkoh c7bcb706ed Update solver (#15021)
* OndselSolver update to solve backhoe issues.

* Update OndselSolver gear radii zero fix.
2024-07-01 21:36:42 -05:00
Chris Hennes 1fc6da959b Merge pull request #14926 from marioalexis84/fem-clean_task_constraint
Fem: Clean up TaskFemConstraint* classes
2024-07-01 11:30:18 -05:00
Chris Hennes 2411f9f3b3 Merge pull request #14461 from AjinkyaDahale/sk-fix-12592-bsp-by-knot-trim
[Part][Sketcher] Fix some B-spline trimming issues
2024-07-01 11:28:50 -05:00
Syres916 e977d76f00 Start: Add link to Addon Manager for Preference Packs 2024-07-01 18:27:40 +02:00
Kacper Donat 45dc70c51f Gui: Add information about custom themes to settings
Fixes: #14929
2024-07-01 18:27:23 +02:00
PaddleStroke cf5314919a Assembly: Change Object1/2 from strings to PropertyXLinkSub and Remove Element1/2 and Vertex1/2 2024-07-01 11:22:30 -05:00
Chris Hennes 5c83297e80 Merge pull request #14793 from lyphrowny/reformat_fem_src
FEM: Reformat fem .py sources
2024-07-01 11:19:29 -05:00
wmayer 3abd1989a9 PD: Rename duplicated test method
Fixes #14795: testPartDesignElementMapSketch: Duplicate test method name
2024-07-01 11:18:46 -05:00
FEA-eng b6e301714d FEM: New Elmer solver icon (#15070)
* FEM: Delete src/Mod/Fem/Gui/Resources/icons/FEM_SolverElmer.svg

* FEM: new Elmer solver icon
2024-07-01 11:15:01 -05:00
hlorus 3389251599 MeasureGui: Use SoFrameLabel to display delta dimensions in MeasureDistance 2024-07-01 18:14:33 +02:00
hlorus 29a7fdec1b MeasureGui: Add colon after symbol of delta dimensions 2024-07-01 18:14:24 +02:00
MisterMaker 6cdb38f975 (GUI) Delete dark behave. (#14827) 2024-07-01 11:11:00 -05:00
Reqrefusion f703e8b3f9 Thread
Some Pixel fix
2024-07-01 11:09:06 -05:00
Reqrefusion fa9c62b57a Vertex
Ensuring compatibility between them and with sketcher
2024-07-01 11:08:30 -05:00
Reqrefusion ccd1b853eb view
kader wishes
2024-07-01 11:08:22 -05:00
Reqrefusion 50b243cd15 Line lengths
New take
2024-07-01 11:08:15 -05:00
Reqrefusion bbacedbc27 Dimensions
Mitigation

Update TechDraw_HorizontalExtentDimension.svg

for consisty with sketcher

Update TechDraw_AreaDimension.svg
2024-07-01 11:07:31 -05:00
Reqrefusion 668905783c Centerline
Update TechDraw_2PointCenterline.svg
2024-07-01 11:04:32 -05:00
Reqrefusion fb9fe655c8 blue
Update TechDraw_LeaderLine.svg

Update TechDraw_Midpoints.svg

Compatibility with Skecher

Update TechDraw_Symbol.svg
2024-07-01 11:04:11 -05:00
FEA-eng 2abe477651 Sketcher: New carbon copy icons (#15074)
* Sketcher: Delete src/Mod/Sketcher/Gui/Resources/icons/geometry/Sketcher_CarbonCopy.svg

* Sketcher: Delete src/Mod/Sketcher/Gui/Resources/icons/geometry/Sketcher_CarbonCopy_Constr.svg

* Add new carbon copy icon

* Add new carbon copy constr icon
2024-07-01 11:00:07 -05:00
Reqrefusion 1e00c0b9d1 LineAttributes 2024-07-01 10:58:40 -05:00
wmayer d64bf15f8a Core: Update color bar when changing preferences
This solves one part of issue #10717
2024-07-01 10:55:21 -05:00
Chris Hennes 0a39ab952d Merge pull request #14738 from Ondsel-Development/asm_limits
Assembly: Limits: Set one checkbox for each limit.
2024-07-01 10:54:19 -05:00
hlorus 84d3669888 MeasureGui: Paint icons in textcolor 2024-07-01 17:51:51 +02:00
Max Wilfinger e490531510 Activate Part/Part Design check and refine preferences by default (#14406)
* Activate Part/Part Design check and refine preferences by default

* added bool in .ui

* Update tests

* Fix Sketcher tests
2024-07-01 10:50:42 -05:00
Chris Hennes 71976129ee Merge pull request #14455 from kadet1090/toolbar-dragging
Gui: Add dragging support for custom ToolBarAreas
2024-07-01 10:49:27 -05:00
Chris Hennes 04020a70ee Merge pull request #14790 from Ondsel-Development/asm_bom_2
Assembly: BOM follow up
2024-07-01 10:47:14 -05:00
Syres916 df27c24deb [Gui] Preferences - Workbenches add text to advise how to sort...
...alphabetically
2024-07-01 10:45:36 -05:00
Furgo ba51408a71 Simplify comboview/treeview choice with natural language 2024-07-01 10:44:49 -05:00
Furgo 3ebba6ac0a Remove unavailable Tree view mode option from tooltip 2024-07-01 10:44:49 -05:00
Kacper Donat 05aaf0ed48 Preferences: Reorganize UI and Theme pages in Display group
This changes current "Display/UI" pages to "Display/Advenced" as most of
settings there were pretty technical. These settings are not removed as
it is hard to decide which one should be removed and which one should
stay and we are too close to UI freeze.

Settings that should be obviously kept were moved to new "Display/UI"
section which now includes also options from previous "Display/Theme".

Fixes: #14412
2024-07-01 10:41:30 -05:00
Yorik van Havre 53dde493a9 BIM: Adeed missing menu entries - issue #14087 2024-07-01 10:38:37 -05:00
hlorus 6257fe266c MeasureGui: Show delta symbol in front of component dimensions 2024-07-01 08:25:03 -05:00
hlorus a1316567d2 MeasureGui: Optionally show delta components in VPMeasureDistance 2024-07-01 08:25:03 -05:00
hlorus e396f0c9c8 MeasureGui: Add globalSeparator to VPMeasureBase
This allows annotations in global space
2024-07-01 08:25:03 -05:00
hlorus ed8c495103 MeasureGui: Add back DimensionLinear node kit 2024-07-01 08:25:03 -05:00
hlorus 84ca0bfda4 Measure: Add X, Y and Z component properties to MeasureDistance 2024-07-01 08:25:03 -05:00
Reqrefusion 92541f569d proj 2024-07-01 08:17:35 -05:00
Reqrefusion e4a87526fd section 2024-07-01 08:17:23 -05:00
Reqrefusion bb87c79a02 Stack 2024-07-01 08:17:11 -05:00
Reqrefusion 5c999c5e99 tree 2024-07-01 08:16:42 -05:00
Reqrefusion 28338396ab Insert 2024-07-01 08:14:44 -05:00
Reqrefusion f17f515b11 Update TechDraw_Dimension_Pointer.svg
Update TechDraw_Dimension_Pointer.svg
2024-07-01 08:14:14 -05:00
Reqrefusion a7003ebe37 Decimal 2024-07-01 08:14:02 -05:00
Reqrefusion e6069cddc9 Chamfer 2024-07-01 08:13:37 -05:00
Reqrefusion 84ef75944b chain 2024-07-01 08:13:26 -05:00
Reqrefusion d36a20812e Cascade-Coord 2024-07-01 08:12:45 -05:00
wmayer 9d6b1961bd TD: Fix Delete key in tech draw view 2024-07-01 12:39:05 +02:00
wmayer e07deec7f3 Material: Fix Delete key in material editor 2024-07-01 12:33:46 +02:00
wmayer eeaca2af88 Gui: Fix Delete key in parameter editor 2024-07-01 11:53:53 +02:00
wmayer fe89807f53 Sketcher: Delete key in non-functional in macOS 2024-07-01 11:51:14 +02:00
wmayer 554310a6ba Core: Refactor SoFCColorGradient and fix linter warnings 2024-06-30 19:16:33 +02:00
wandererfan bc51b1ac23 [TD]fix handling of company name in template fields 2024-06-30 09:32:20 -04:00
wandererfan f53fd6d474 [TD]show autofill value in dialog 2024-06-30 09:32:20 -04:00
Chris Hennes 20f5e8f662 Merge pull request #14994 from bgbsww/bgbsww-toponamingBaseFeatureTNP
Toponaming: support base feature in body correctly.
2024-06-29 19:00:32 -05:00
wmayer dcc08c81f1 Part: Fixes #15027: ShapeAppearance does not handle transparency per face correctly 2024-06-29 18:48:53 -05:00
Chris Hennes 5c3ec1f422 Gui: WorkbenchSelector linter cleanup 2024-06-29 18:15:52 -05:00
bgbsww e51b1d98b5 Addons: tweak gui_mocks dialog timing to avoid leaving windows after … (#15022)
* Addons: tweak gui_mocks dialog timing to avoid leaving windows after testing.

* [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-06-29 18:14:37 -05:00
bgbsww d65ee84ff2 Cleanup 2024-06-28 22:24:30 -04:00
Chris Hennes f28394a376 cMake: Make a failure to import Pivy non-fatal 2024-06-28 19:29:53 -05:00
bgbsww d9ba737132 Toponaming: Bugfix #14952 2024-06-28 19:29:26 -05:00
Chris Hennes 3b8f615f7a cMake: Fix ENDIF() and clean up formatting 2024-06-28 13:50:30 -05:00
PaddleStroke e7699b531e Assembly: Gears: Fix crash if user selected first elements before triggering tool. 2024-06-28 12:07:11 -05:00
pre-commit-ci[bot] 54920e6611 Review cleanups 2024-06-28 11:57:43 -05:00
bgbsww a674729dd3 Toponaming: Cleanups 2024-06-28 11:57:43 -05:00
Zheng, Lei 7a4bc95d47 Toponaming: Transfer in missing Code for BaseFeatures and Sketches 2024-06-28 11:57:43 -05:00
bgbsww 47f94afcba Toponaming: Add tests for subshaoebinder, attachment problems. 2024-06-28 11:57:43 -05:00
Jacob Oursland 4d6b738062 Conda: pin VTK to 9.2.6. 2024-06-28 11:53:19 -05:00
Pieter Hijma 01874ca898 Core: Fix a missing Python interpreter lock
ReportView has a missing Python interpreter lock.  It is not breaking
FreeCAD in general but it is deemed a bug nonetheless.  See the issue.
2024-06-27 08:02:15 -05:00
Chris Hennes 8f32cab1d6 Addon Manager: Allow widget expansion in Qt6 2024-06-27 08:00:35 -05:00
Chris Hennes 2d2b6a31c7 Addon Manager: Fix Qt6 redirect-following code
Also fixes data type problems with variable declarations in __init__
2024-06-27 07:58:56 -05:00
PaddleStroke 632780ce35 Assembly: Create Joint limit: Moving objects updates the spinboxes values if they are disabled. 2024-06-27 09:10:38 +02:00
PaddleStroke a0c4a273ba Assembly: Enable moving objects while making joints. 2024-06-27 09:10:38 +02:00
PaddleStroke 40feca037c Assembly: Create joint : Reduce heigth of list widget. 2024-06-27 09:10:38 +02:00
PaddleStroke bba868912b Assembly: Create Joint : fix untranslated strings. 2024-06-27 09:10:37 +02:00
PaddleStroke 0a056923cb Assembly: Limits: Set one checkbox for each limit. 2024-06-27 09:10:30 +02:00
Chris Hennes 3b304e5b1a Merge pull request #14536 from CalligaroV/toponaming-Part-makeElementWires-from-LS3
Part/Toponaming: makeElementWires - import from LS3 fork
2024-06-26 18:22:21 -05:00
Chris Hennes 5f094a48a9 Gui: Remove unused ref to GL context 2024-06-26 11:53:18 -05:00
Roy-043 d2b7bda65f Measure: Prefs: add unit to DefaultFontSize (px) and title in sentence case 2024-06-26 11:52:35 -05:00
Chris Hennes 6c41f92980 TNP: Update test to use AttachmentSupport 2024-06-26 10:46:36 -05:00
Chris Hennes 89698f647b Switch back to emplace_back 2024-06-26 10:46:36 -05:00
Syres916 49e214729c Part/Toponaming: makeElementWires
* Added tests developed by Syres916
2024-06-26 10:46:36 -05:00
CalligaroV 8def1e94dc Part/Toponaming: makeElementWires
* Updated tests

Signed-off-by: CalligaroV <vincenzo.calligaro@gmail.com>
2024-06-26 10:46:36 -05:00
Zheng, Lei dfb4bb2070 Part/Toponaming: makeElementWires
* restored original definitions of makeElementWires methods
2024-06-26 10:46:36 -05:00
PaddleStroke 2114da3bbb Assembly: Limits: Set one checkbox for each limit. 2024-06-26 17:06:02 +02:00
marcuspollio 8d3f07c1f7 BIM: update Glue icon (#14821)
* BIM: update Glue icon

* BIM: update Glue icon

* Improve readability

* Update following feedback
2024-06-26 14:15:30 +02:00
Chris Hennes 6fa8e4ccfb Merge pull request #14934 from Ondsel-Development/asm_insert_asm
Assembly: Insert Component: Fix assembly not appearing
2024-06-25 11:03:16 -05:00
Chris Hennes 241daabda4 Merge pull request #14898 from bgbsww/bgbsww-toponamingSaveRestoreElementMaps
Toponaming: Fix save and restore of elementmaps
2024-06-25 09:58:59 -05:00
PaddleStroke fd64f38998 Assembly: Insert Component: Fix 'Joint Group' being listed even though it's empty. It's because we were using OutList instead of claimChildren. 2024-06-25 16:37:31 +02:00
PaddleStroke e49f74aed9 TechDraw: Snap: disable snap if ALT is pressed. 2024-06-25 09:16:51 -05:00
Chris Hennes 87154d75a8 Merge pull request #14908 from Ondsel-Development/asm_sub_fix
Assembly: Fix link to external sub assemblies issues.
2024-06-25 09:15:52 -05:00
PaddleStroke 8913e3ffdc Assembly: Do not attempt to drag grounded objects. 2024-06-25 09:14:59 -05:00
PaddleStroke 5e14435e02 Assembly: Fix a bug with presolve. Presolve should not happen when there's a loop of joints. 2024-06-25 09:12:50 -05:00
Kacper Donat d57f7a4a8d Gui: Use our own ToolBar class in all places 2024-06-25 11:39:54 +02:00
Zheng, Lei dcfe3e8868 Gui: Add dragging support for custom ToolBarAreas
This adds dragging support for toolbars placed in custom toolbar areas.
It is achived by creating our own custom ToolBar class that handles
logic of providing custom gripper. This is required because Qt hides
gripper when toolbar is not direct child of the main window which cannot
be overriden. Custom class should allow us to create more capable
toolbars in the future so it should be great addition on its own.

Co-Authored-By: Kacper Donat <kacper@kadet.net>
2024-06-25 11:39:51 +02:00
PaddleStroke 62cc8fc944 Core: ViewProvider: Add claimChildrenRecursive 2024-06-25 11:34:43 +02:00
PaddleStroke b31f5fce2d Assembly: Insert Component: Fix comparing names instead of comparing objects 2024-06-25 10:37:50 +02:00
Chris Hennes f310d2bd67 FEM: Remove unused members 2024-06-24 20:44:53 -05:00
marioalexis 6c0f3bde92 Fem: Use base class open and reject methods in constraint task panels 2024-06-24 22:03:07 -03:00
marioalexis 0361543cfb Fem: Set Scale in TaskFemConstraint base class 2024-06-24 22:03:07 -03:00
Jookia 7aa7b741ea pre-commit: Pin versions 2024-06-24 19:43:55 -05:00
jkvfc 75fc19ea1c CAM: Set new reference point for default slitting saw tool - fix #14759 2024-06-24 17:18:58 -05:00
Roy-043 308013fb97 Gui: Tree.cpp make some gui texts more consistent
The gui texts for "Show description" and "Show internal name" were inconsistent.

"Show description column" -> "Show description"

"Show an extra tree view column for item description. -> "Show a description column for items."
2024-06-24 11:29:05 -05:00
Kacper Donat 032545924f Gui: Change QStyle only with theme
It fiexes performance issues on applying preferences that happens due to
forcing Qt style which is quite slow operation.
2024-06-24 11:28:13 -05:00
Ajinkya Dahale 333ca836c0 [Sketcher] Delete point-on-object on trimmed portion
This could cause undesirable shape change, especially in B-splines.
2024-06-24 21:56:58 +05:30
Ajinkya Dahale de61b9dc9f [Sketcher] Fix some issues with trimming splines
1. Transfer point-on-object to the correct resulting curve: Currently the
constraint remains on the "start" curve created after the trim.
2. Expose internal geometries of both resulting B-splines.
2024-06-24 21:56:58 +05:30
Ajinkya Dahale 908f1a9cf3 [Part] Do not assume default period in B-spline 2024-06-24 21:56:58 +05:30
Ajinkya Dahale 16cc6bf56a [Part][test] Add tests for GeomBSplineCurve::Trim() 2024-06-24 21:56:58 +05:30
Ajinkya Dahale 7c15affce6 [Sketcher] Rearrange directives to appease syntax highlight
Spacemacs doesn't handle the braces flow very well. This commit can be dropped
if necessary.
2024-06-24 21:56:58 +05:30
Chris Hennes d01ce32a1f Update for LibPack3 (#10337)
* cMake: Add base support for LibPack3

Minor changes to FreeCAD source code to support compiling with Qt 6.5 on MSVC,
and changes to cMake setup to support the new Libpack.

* NETGENPlugin: Fix compilation with MSVC and OCCT 7.8

* Material: Switch to Wrapped_ParseTupleAndKeywords for /fpermissive- on MSVC

* Base: Prevent accidental definition of MIN and MAX by MSVC

* cMake: Prevent accidentally finding an old LibPack

* Material: Wrap another ParseTuple call

* OCCT: Modify includes for 7.8.x

* Part: Change TNP code to use Wrapped_ParseTupleAndArgs

* Spreadsheet: Workaround for MSVC macro pollution

* Mesh: Workaround for MSVC macro pollution

* Base: Remove extra MSVC flag (moved to CMake)

* Tests: Fix compiling with /permissive-

* FEM: Fix Qt warnings about duplicate element names

* cMake: Ensure major version numbers are set

* Address review comments.

* cMake: Further tweaks for LibPack3

* cMake: Modify specification of compiler flags for MSVC

* Main: Remove QtQuick testing code

* cmake: Find Boost before SMESH (which uses it)

* Fixes for LibPack2

* cMake: Another try at importinhg VTK cleanly
2024-06-24 18:25:05 +02:00
Syres916 44e8f91085 [PartDesign] Fix thread depth level not enabled unless clicked 3 times 2024-06-24 11:19:06 -05:00
Chris Hennes 6f277af10a FEM: Remove set but unused variable 2024-06-24 18:17:11 +02:00
Chris Hennes ded5c63667 Addon Manager: Linter cleanup 2024-06-24 18:16:10 +02:00
marioalexis 464a50d60e Fem: Clean up constraint view providers 2024-06-24 11:15:14 -05:00
Chris Hennes 1ba5f02129 Merge pull request #14766 from wwmayer/import_options
Import: Avoid modal dialog inside ImportGui.open()
2024-06-24 11:10:31 -05:00
Syres916 8bf54ad82f [Sketcher] Correct default OVP and Geometry Creation colors... (#14763)
* [Sketcher] Correct default OVP and Geometry Creation colors

* [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-06-24 11:08:28 -05:00
Patryk Skowroński fefd3851ac Spaceball settings tabs removal from the Customize panel (#14589)
* Removed Spaceball tabs for NavLib integration

* Added missing CMake variable for MacOS/Linux platform

---------

Co-authored-by: Patryk Skowroński <pskowronski@3dconnexion.com>
2024-06-24 11:06:25 -05:00
Robert Schiele 8465ea881a implement FORCE_BOOST_PY_SUFFIX
On some systems the boost-python suffix is not exactly as the code
currently expects. To avoid getting even more guessing in the CMake
files about how exactly the python component is named in the boost
installation we introduce a variable FORCE_BOOST_PY_SUFFIX that can
enforce a specific suffix. If the variable is not set the behavior is as
before.
2024-06-24 11:02:41 -05:00
Chris Hennes df6b44644c Merge pull request #14833 from Jookia/RFC_testfixes
Tests: Fix some minor test failures
2024-06-24 11:01:29 -05:00
Chris Hennes feafecef98 Merge pull request #14592 from kadet1090/tabbar-fixes
Gui: Workbench TabBar - fix scroll and icon-only paddings
2024-06-24 10:58:57 -05:00
Roy-043 e495e00084 Fix EngineBlock.FCStd example file
The EngineBlock.FCStd example file contained a corrupt Points file. A new file was created by opening the V0.17 version of the FCStd file, saving that file, and then copying that Points file into the V0.22 FCStd file.

It's a very OLD example BTW. See also #14583.

To check the problem recompute the original V0.22 FCStd file.
Result:
```
pyException: Traceback (most recent call last):
  File "D:\BKG_Tmp\FreeCAD_0.22\Mod\Draft\draftobjects\bspline.py", line 113, in execute
    spline.interpolate(obj.Points, PeriodicFlag = True, Parameters = self.knotSeq)
<class 'Part.OCCError'>: Standard_ConstructionError
20:56:32  BSpline001: Standard_ConstructionError
2024-06-24 10:55:58 -05:00
Turan Furkan Topak bd9d911ca9 [Icons]Core Icon Revision (#14154)
* Core Icon Revision

Update utilities-terminal.svg

Update button_add_all.svg

pixel alignment

Pixel alignment was performed for the specified icons.

* Changes requested by Obelisk

* Return old icons
2024-06-24 10:54:58 -05:00
PaddleStroke 5dfb708d7d Assembly: jointObject : handle case where gui_doc.ActiveView is None. 2024-06-24 17:52:29 +02:00
PaddleStroke 53d20dc7f0 Assembly: Fix problem with external link to sub-assemblies. 2024-06-24 17:52:29 +02:00
PaddleStroke 5c3eb4d310 Assembly: BOM: Add help button. Make auto-generated columns bold. 2024-06-24 17:51:16 +02:00
PaddleStroke fc069db355 Assembly: ViewProviderBom: Use runCommand instead of C API 2024-06-24 17:51:15 +02:00
PaddleStroke a45d379d22 Spreadsheet: ViewProviderSpreadsheet: define some variables. 2024-06-24 17:51:15 +02:00
xtemp09 f53c827f94 Fix the crash when closing a document
Closes #14189. This commit partially reverts
d15c7d0673 and
fb37201299.
2024-06-24 10:49:27 -05:00
Chris Hennes e60d43fcdc Merge pull request #14386 from maxwxyz/sketcher-draw-style
Sketcher: Changes override draw style when entering sketch edit mode.
2024-06-24 10:48:19 -05:00
Adrián Insaurralde Avalos 114166a0e3 PD: improve hole dialog layout (#14031) 2024-06-24 10:44:13 -05:00
PaddleStroke 4e4201f033 Core: Tree: Remove !vp->canDragAndDropObject(obj) that made no sense. And remove the auto switching to 'CopyAction' 2024-06-24 10:42:49 -05:00
mosfet80 36b9b58eb3 [MOD:PART] removed unused parameter (#14252)
d variable are never used

Co-authored-by: Chris Hennes <chennes@pioneerlibrarysystem.org>
2024-06-24 10:41:39 -05:00
Chris Hennes 926fd370b1 Merge pull request #14079 from Ondsel-Development/sk_bspline_ovp
Sketcher: BSpline DSH: implement OVP/widget
2024-06-24 10:38:15 -05:00
CalligaroV 4a486b21ed Sketcher: fix external edges selection
* fix selection from Sketcher Task Panel
 * fix selection from 3D View
 * Synchronize selection between Task Panel and 3D View

Signed-off-by: CalligaroV <vincenzo.calligaro@gmail.com>
2024-06-24 10:35:54 -05:00
Roy-043 13296ccfc2 BIM: fix BIM_Setup unit system issue
Fixes #14675.

Note that I would prefer to use the FEM unit system (always mm). BIM_Setup does not support that, and this PR does not change that.
2024-06-24 15:42:27 +02:00
Yorik van Havre 727ff9a062 BIM: Simplificed BimViews.getTreeViewItem - fixes #14321 2024-06-24 15:38:34 +02:00
Roy-043 4d729871d3 BIM: fix SwitchWB preference by switching to BIM WB
Fixes #14680.
2024-06-24 10:43:08 +02:00
Roy-043 977b20d603 Draft: remove code related to obsolete Std_MeasureDistance objects
The Draft_Dimension command could convert Std_MeasureDistance objects. These have recently become obsolete. This PR removes the related code.
2024-06-24 10:31:03 +02:00
Roy-043 da1b81ceb1 Draft: Remove Draft_Fillet chamfer recalculation
If two straight edges were selected the chamfer distance would be recalculated so that the length of the straight segment would be equal to `r` (the radius entered by the user). But this was, and is, not done if one or both edges are arcs.

By removing the recalculation code the endpoints of the straight chamfer edge now always match the endpoints of the fillet arc that would be created for the same radius. This also matches the fillet/chamfer behavior in for example Part and Sketcher.
2024-06-24 10:08:45 +02:00
pre-commit-ci[bot] ef6cd173eb [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2024-06-24 03:34:21 +00:00
bgbsww 3c3709cb5d Toponaming: Fix save and restore of elementmaps 2024-06-23 23:33:12 -04:00
Max Wilfinger d2491541e1 Rename OVP preference options 2024-06-23 12:29:19 -05:00
wandererfan 6fd73487c7 [TD]allow template fields to re-apply autofill 2024-06-23 09:48:25 -04:00
wandererfan 4d6fbac1a5 [TD]allow manual update of autofill fields 2024-06-23 09:48:25 -04:00
wandererfan 5723180e43 [TD]correct source of autofill fields 2024-06-23 09:48:25 -04:00
wandererfan 7b71753214 [TD]clean up editable field length and click area 2024-06-23 09:48:25 -04:00
wandererfan eff32fbba8 [TD]fix wrong xml namespace in some templates 2024-06-23 09:48:25 -04:00
lyphrowny cc8a0c529c FEM: remove trailing spaces and newlines when writing input files for solvers 2024-06-23 16:27:20 +03:00
lyphrowny 4e439b8992 FEM: include fem .py sources in pre-commit 2024-06-23 16:27:19 +03:00
lyphrowny cbea6b6094 FEM: reformat codebase 2024-06-23 16:26:36 +03:00
bgbsww 4c3fc869fe Toponaming: Check for selection mapped element name 2024-06-22 17:10:54 -05:00
Chris Hennes a44f5e36fa Merge pull request #14771 from marioalexis84/fem-python_base_class
Fem: Create own base class for Python objects - fixes #14637
2024-06-22 13:13:14 -05:00
jffmichi c47e0ec507 Path: replace import of PySide2 with PySide 2024-06-22 08:17:16 -05:00
sliptonic 00bdb354b3 fix regression with adding TC to job 2024-06-22 08:16:33 -05:00
sliptonic 18a23b8260 Fixing 'red ink' bugs in CAM
fixes:  https://github.com/Ondsel-Development/FreeCAD/issues/93
fixes https://github.com/Ondsel-Development/FreeCAD/issues/87
fixes https://github.com/Ondsel-Development/FreeCAD/issues/88


fix threadmilling error if not proper tool
fix vcarve error if no proper tool
fix probe error if no proper tool
fix deburr error if no base geometry
Fix adaptive op error if no base geometry
2024-06-22 08:16:33 -05:00
sliptonic 45439f0a36 fixes #14765 (#14814) 2024-06-22 08:15:25 -05:00
Chris Hennes f294a5efc5 Gui: Silence unused variable 2024-06-22 08:29:27 +02:00
marioalexis 932c73f0de Fem: Remove selection observer - fixes #14001 2024-06-21 19:28:12 -05:00
marioalexis 32029a1488 Fem: Create own base class for Python Material objects 2024-06-21 19:26:18 -05:00
marioalexis a5b0cab900 Fem: Create own base class for Python Mesh objects 2024-06-21 19:26:18 -05:00
marioalexis eb73c8e20f Fem: Create own base class for Python Element objects 2024-06-21 19:26:18 -05:00
marioalexis 60e782223b Fem: Avoid unnecessary method overriding 2024-06-21 19:26:18 -05:00
Chris Hennes 83a268881d Addon Manager: Remember scroll position on Back (#14753)
* Addon Manager: Remember scroll position on Back

* Addon Manager: Linter cleanup
2024-06-21 14:53:56 -05:00
wmayer 4d492c0b83 Import: Simplify handling of Resource_FormatType
The type Resource_FormatType already exists since 2015. So, its usage doesn't require pre-processor macros everywhere.
2024-06-21 12:00:38 -05:00
wmayer 985579bced Import: Move options handling to ImportGui.importOptions
Currently a modal dialog is used directly in ImportGui.open()/ImportGui.insert() that makes it impossible to use the functions in a
script because they will be blocked
2024-06-21 12:00:38 -05:00
wmayer 4219aaef99 Core: Support of import options 2024-06-21 12:00:38 -05:00
lyphrowny 5f761c758e Add myself as a contributor 2024-06-21 11:54:58 -05:00
Jookia ca3bcfe6da Tests: Specify QtWidgets.QDialogButtonBox.Close explicitly
This seems needed for PySide6 on my system.
2024-06-21 11:10:16 -05:00
Jookia df4a4591d2 Tests: Use assertEqual instead of assertEquals
This causes some test failures on my system at least.
2024-06-21 11:10:16 -05:00
Kacper Donat d1535e7827 Gui: Disable changing workbench on tab bar scroll
Fixes: #14164
2024-06-21 10:55:00 -05:00
Kacper Donat 3684dc6560 Gui: Display workbench icon in the middle for icon-only
It ensures that for icon-only style it is displayed in the middle and
empty text is not accounted while calculating tab size hint. Custom
styles may need to target `QTabBar[style="icon-only"]` to apply specific
fixes like disabling padding.

Fixes: #14282
2024-06-21 10:55:00 -05:00
PaddleStroke 3942d13cab Assembly: Remove unecessary import that was breaking ubuntu CI. 2024-06-21 10:18:19 -05:00
bgbsww 9b547bb90f Only adjust found element names 2024-06-20 16:10:39 -05:00
wmayer 2f8382ae59 MSVC: Fix compiler warnings
* avoid redefines in Assembly
* explicit cast from size_t to int
* remove unused variables
* avoid implicit cast from double to float
* in test cases replace EXPECT_FLOAT_EQ with EXPECT_DOUBLE_EQ or EXPECT_NEAR when doubles are used
2024-06-20 15:42:16 -05:00
wandererfan d2be7f7d89 [TD]fix weld symbol position 2024-06-20 09:08:32 -04:00
Yorik van Havre e3fa5ed679 BIM: Added square and rectangular profiles to pipes 2024-06-20 14:09:06 +02:00
Yorik van Havre e17301b36c BIM: IFC: Export non-solids as Breps 2024-06-20 14:06:22 +02:00
Yorik van Havre 62d4f3ae0b BIM: Fix Copy tool stealing copy mode 2024-06-20 14:06:01 +02:00
Roy-043 2aa7296cc6 Draft: Add type check to Draft_Join
Add a type check for the selected objects. All must be Draft Wires.

Fixes #14727.
2024-06-20 14:05:21 +02:00
Lukas Schattenhofer 8a07f71c28 BIM: ArchComponent Only counts planar surfaces as vertical areas 2024-06-20 14:03:23 +02:00
Roy-043 1ba341194e Draft: Fix 2 issues to make Draft_Fillet handle arcs properly
Fixes #11435

Draft_Fillet could already handle arcs, provided they were not Draft_Arcs. The `_extract_edge` function in make_fillet.py had a strange logic, and could also return a wire which would result in problems later.

Another issue was that the `fillet` function in fillets.py did not handle the order of the edges correctly if one of the edges was an arc and the other a straight edge. The arch had to be selected first to prevent this error.
2024-06-20 14:00:42 +02:00
Roy-043 5a05739197 BIM: Fix base edge direction for Arch_Stairs
Fixes #14377

If the base edge of a stairs has a delta Z, the start point must have lowest Z. The `makeStraightStairsWithLanding` code fails otherwise.

Using `edge = Part.LineSegment().toShape()` is not the most efficient, but matches the pattern used elsewhere in the code.
2024-06-20 13:57:19 +02:00
Roy-043 8f1e415eac Draft: Fix onChanged in view_point.py
Fixes #14804

Added (also don't make sense for a point object):
* AngularDeflection
* DrawStyle
* Pattern
* PatternSize

Removed:
* DiffuseColor (property no longer exists)
* LineMaterial (already hidden by default)
2024-06-20 13:46:00 +02:00
wmayer f6e67a009d Fix several compiler warnings
* -Wmaybe-uninitialized
* -Wunused-parameter
* -Wunused-variable
* -Wnonnull
* -Wstringop-truncation
* -Wstringop-overflow
2024-06-19 21:14:23 -05:00
wmayer d1d2b730ef Gui: Move ToolBarAreaWidget to its own files
Since ToolBarAreaWidget is not a private class any more move its declaration and definition to their own source files.
2024-06-18 18:42:18 -05:00
Chris Hennes e3509a37d1 Merge pull request #14773 from wwmayer/fix_fem
FEM: Fix linking errors & clean-up code
2024-06-18 18:41:01 -05:00
wmayer 57489af043 Fem: Clean-up code 2024-06-18 19:58:16 +02:00
wmayer b7e0313591 Fem: Refactor DefineNodesCallback and DefineElementsCallback
Refactor the two methods to reduce code duplication.
2024-06-18 18:48:14 +02:00
wmayer 47a9ec8481 FEM: Fix linking errors
The static members of FemSetElementNodesObject are not defined in Fem but FemGui which the MSVC compiler doesn't like.
Furthermore it's a code smell to make them public and static and they are not even used by the class itself.
2024-06-18 18:14:10 +02:00
wmayer 6c0f42bb15 Fem: Fix copyright notices
Do not clutter copyright notices with changes made to a file. That's the task of the VCS
2024-06-18 18:01:22 +02:00
wmayer 1ccb74f141 PD: Fix crash in ViewProviderBody::unifyVisualProperty
Make sure that the view provider of a body feature provides the requested property
2024-06-18 10:41:41 -05:00
Chris Hennes a36a60d29d Fem/Sketcher: Fix missing PreCompiled.h files 2024-06-18 08:05:32 -05:00
wandererfan 2ca9b6ef80 [TD]fix scene and tree selection sync 2024-06-17 19:31:56 -04:00
wmayer 27c61ef137 FEM: Fix several issues
* Move global (non-static) variables into anonymous namespace to avoid possible linking issues that may cause UB
* Fix compiler warnings
* Do not reinvent the wheel and use boost::to_upper_copy instead of own implementation
2024-06-17 19:57:04 +02:00
PaddleStroke 4a11652263 Assembly: InsertLink: Use doc.Label instead of doc.Name because of bug of doc.Name not updating when file is saved. 2024-06-17 11:33:28 -05:00
Chris Hennes 4454275146 TD: Use new Qt6.5 interface for setContent (#14543) 2024-06-17 11:33:15 -05:00
Ladislav Michl 025210845f Part: Fix AttachmentSupport when loading files from previous versions
Commit a8ae56e06a ("Part: Rename AttachExtension::Support property to
AttachmentSupport...") provided code to convert property name when loading
files saved with previous versions. Unfortunately 84ae6b9b7b
("Toponaming: bring in missing code fragments in Part") was based on
at the time obsolete code which did not contain before mentioned tweak,
so AttachmentSupport ended unassigned.

Fixes: 84ae6b9b7b ("Toponaming: bring in missing code fragments in Part")
2024-06-17 11:32:13 -05:00
bgbsww 2d22e7a21a Toponaming: Fix crash with invalid external geometry 2024-06-17 11:31:04 -05:00
xtemp09 3ab53aba3d Fix crash described in 14370 (issue comment)
The crash occurs because
PartDesignGui::TaskDressUpParameters::setSelection was invoked with
nullptr.
2024-06-17 11:27:07 -05:00
sliptonic e755fc1a5a Machining model and materials (#14460)
* Machining model and materials

Adds a few machinability material model
and a couple materials.  There's a button in the job dialog
to assign a material.

The sanity report is updated to display the surface speed for assigned materials

* improving the machinability model

* Introduce MaterialConstant for the machinability model

This constant is required to calculate the actual specific cutting force
from the normalized value. It determines how the actaual value varies
when the actual chip thickness gets further away from the normalization
point.

* Rename some machinability properties

- SpecificCuttingForce becomes UnitCuttingForce to clearer differentiate
between normalized and actual specific cutting force. The term unit
cutting force is used less often in literature, but
NormalizedSpecificCuttingForce as property name is too long for my taste.
- MaterialConstant becomes ChipThicknessExponent, as "material constant"
is just too generic for our context. In literature, this constant is most
often just used as the symbol m_c.

---------

Co-authored-by: Jonas Bähr <jonas.baehr@web.de>
2024-06-17 11:25:55 -05:00
Roy-043 246aa8e1eb Draft: Draft_Hatch put focus on task panel
To make using Esc work properly the task panel should have the focus.
2024-06-17 11:25:01 -05:00
Roy-043 f2d3cf701a Draft: Draft_Split put focus on 3D view
To make using Esc work properly the 3D view should have the focus.
2024-06-17 11:24:36 -05:00
FEA-eng 4882a33d46 Update shape2dview.py 2024-06-17 11:22:18 -05:00
FEA-eng f5ebafcebb Update DlgPreferences.ui 2024-06-17 11:21:26 -05:00
mosfet80 9db4eb6621 [MOD] JtReader.cpp clean (#14624)
* [MOD] JtReader.cpp clean

clean

* [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-06-17 11:20:34 -05:00
marioalexis 767bbb8436 Fem: Fix height of reference list widget in spring constraint task panel 2024-06-17 11:18:00 -05:00
Jolbas 0290a8759a Part: Handle zero scale in TopoShape::_makeTransform
With this commit the TopoShape::_makeTransform() use makeGTransform() if scale is zero to avoid crash. Fixes #14562
2024-06-17 11:17:27 -05:00
PaddleStroke 3fa0b68878 Assembly: Implement Bill Of Materials (#14198)
* Assembly: Implementation of BOM

* Assembly: BOM: make it possible for BOM to be made without an assembly.
2024-06-17 11:16:32 -05:00
Syres916 60a0e70882 [Part] Attachment Editor correct Python 2 reference 2024-06-17 11:14:01 -05:00
Chris Hennes 4c907d4318 Merge pull request #14681 from Roy-043/BIM-fix-extrusion-vector-scaling-for-IFC-export
BIM: fix extrusion vector scaling for IFC export
2024-06-17 11:12:30 -05:00
wmayer 41b1fdcb84 PD: Fixes issue #14598: FreeCAD crashes on Undo 2024-06-17 11:11:12 -05:00
Chris Hennes 1041e74e69 Merge pull request #11492 from mac-the-bike/erase-version-4
Version 4 of the Erasing Elements Code
2024-06-17 11:10:26 -05:00
Chris Hennes c726198106 Merge branch 'main' into erase-version-4 2024-06-17 11:10:12 -05:00
Mihail Dumitrescu 77eedb84f8 Fix importing arcs and elliptical arcs as external geometry.
Fix importing elliptical arcs issue #8700.
Fix importing arcs into sketches in the case where they project as elliptical arcs.
Fix a discontinuity that happens when an external arc projects down to a segment. The segment end points should not jump around if the projection angle changes from 89.9 to 90 degrees.
When handling external geometry compare points for equality in a consistent way and remove some dead code.
2024-06-17 11:04:52 -05:00
Chris Hennes 99c30da736 Merge pull request #14388 from Ondsel-Development/core_rootObjects
Core: Add Gui::Document::getTreeRootObjects() Fixes #14373
2024-06-17 11:04:18 -05:00
PaddleStroke 4683fd97b5 QuickMeasure: fix large selection slow down. 2024-06-17 11:02:53 -05:00
Chris Hennes a900d21c61 Merge pull request #14612 from Ondsel-Development/asm_dist_fix
Assembly: Fix bug of distance joint between point and circle
2024-06-17 11:01:29 -05:00
marioalexis 3d7d5ab785 Fem: Remove dependency of calculix solver classes on user parameters - fixes #13383 2024-06-17 10:58:57 -05:00
PaddleStroke 55dd8076cc Assembly: deleting a component deletes its joints. 2024-06-17 10:58:11 -05:00
marioalexis f8027a16d0 Fem: Force z=0 for plane stress, plane strain and axisymmetric elements in writeABAQUS - fixes #12875 2024-06-17 10:57:31 -05:00
Alexandre Prokoudine a98d7eb288 Adjust names of two Sketcher tools to make their functions discoverable
Users report that they have a hard time figuring out that 'Array transform' does
movement/translations, and 'Polar transform' does rotation. Hence this
adjustment of their user-visible names.
2024-06-17 10:57:10 -05:00
Chris Hennes d45cf8507b Merge pull request #13810 from hlorus/replace_measuredistance
Integrate Std_MeasureDistance into unified measurement facility
2024-06-17 10:55:40 -05:00
hlorus a2f331e0d2 Measure: Fix MeasureLength failure when measuring circles/arcs 2024-06-17 11:52:38 -04:00
Chris Hennes 879b71cbc3 Merge pull request #14608 from Ondsel-Development/asm_del_obj
Assembly: Makes sure deleting assembly deletes the joints and views
2024-06-17 10:49:58 -05:00
Chris Hennes 364deccffb Merge pull request #14503 from wwmayer/vp_texture_ext
Gui: Move texture handling to ViewProviderTextureExtension
2024-06-17 10:49:10 -05:00
Chris Hennes c901a2232f Merge branch 'main' into vp_texture_ext 2024-06-17 10:48:45 -05:00
Kuzemko Alexsandr bf8e8b9157 Select code page during STEP Import (#14416)
* [STEP Import]
Added the ability to select the encoding of the source file when importing.
Requires OCCT version 7.8.0 and higher

* fix compile error for OCCT < 7.8.0

* Also hide label "CodePage" for OCCT < 7.8.0

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

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

* Fix error

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

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

* Fix error on Ubuntu 20-04

* Fix error on Ubuntu 20-04

---------

Co-authored-by: Kuzma30 <kuzemkoa@gmail.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-06-17 10:47:28 -05:00
FEA-eng f413f5d6d0 Preselection preference text improvement (#14579)
* Update CommandView.cpp

* Update DlgSettingsSelection.ui
2024-06-17 10:40:03 -05:00
marioalexis 9774cd5750 Fem: Write reaction force from rigid body nodes - fixes #14558 2024-06-17 10:38:39 -05:00
Kacper Donat 5328ca828f Gui: Split declaration and definition of ToolBarAreaWidget
In order to support targeting ToolBarAreaWidgets via the QSS we need to
make it a proper QObject using Q_OBJECT macro, which must be placed in
header files.
2024-06-17 10:38:12 -05:00
Chris Hennes 5dad1ef528 Merge pull request #14393 from NomAnor/visibility-icon
Change visibility icon default to enabled and tweak visuals
2024-06-17 10:36:35 -05:00
David Carter 276d189254 Materials: Material selector doesn't have minimum size set
Add properties for setting a minimum size with reasonable defaults.
Notify the user when the tree is expanded or contracted to allow
for container resizing.
2024-06-17 11:30:01 -04:00
Yorik van Havre 078dad7fab BIM; Removed BIMBots - issue opensourceBIM/BIMbots-FreeCAD#2 2024-06-17 10:00:53 -05:00
PaddleStroke 177673a056 Sketcher: BSpline DSH: implement OVP/widget 2024-06-17 16:52:24 +02:00
wmayer 80670094eb Clean-up code and improve formatting 2024-06-17 16:30:25 +02:00
wmayer dafdb2c1f2 Core: Improve PropertyMaterialList::readString 2024-06-17 16:30:25 +02:00
Chris Hennes 5e1ac1a2c7 Merge pull request #14731 from Syres916/BIM_QtSvgWidgets
[BIM] Fix QSvgWidget is not a child of QtSvg in PySide6
2024-06-17 09:22:38 -05:00
Roy-043 84eb1b2f11 Remove superfluous QtSvg import from ArchWindows.py 2024-06-17 16:05:45 +02:00
Syres916 f50d8abeb0 [BIM] QSvgWidget is not a child of QtSvg in PySide6 2024-06-17 08:06:03 +01:00
Syres916 dd5e21989e [BIM] QSvgWidget is not a child of QtSvg in PySide6 2024-06-17 08:03:23 +01:00
wmayer 8f6798fcc1 PD: Fix Qt warning at runtime
QListWidget::item is not declared as Q_SIGNALS and thus cannot be used as sender in QObject::connect()
2024-06-16 22:21:01 -05:00
David Carter 417ca72977 Materials: Render Transparency
Under certain conditions an objects transparency would no be updated.

fixes #14568
2024-06-16 22:20:06 -05:00
wmayer 32830c0680 Gui: Fix comparison of argument of clicked() with StandardButton
Fixes #14639: Comparison between integers and StandardButton fails for Python task dialogs with PySide6
2024-06-16 22:18:58 -05:00
wmayer 2b52bed558 Gui: Fix possible crash when using Shiboken::Enum::getValue
Fixes #14156
2024-06-16 22:18:58 -05:00
MisterMakerNL 4c9b578e4c Delete CMakeSettings.json
always gets in
2024-06-16 22:18:20 -05:00
MisterMakerNL 4bbff00727 fix for lag 2024-06-16 22:18:20 -05:00
MisterMakerNL 78a25c53c8 Update CMakeLists.txt
I used the wrong names, so it didn't work.
I did tested it and it did worked once, not sure what happend.
2024-06-16 22:18:20 -05:00
Ben Hagen c53cc8ea23 macOS: Add symlink to /Applications and use bigger icons 2024-06-16 22:17:44 -05:00
bgbsww 8e4c96d23b Toponaming: fix secondElementSelection and SelectionView 2024-06-16 22:15:11 -05:00
wmayer ed672c5cd9 MSVC: Fix crash with std::mutex
See https://stackoverflow.com/questions/78598141/first-stdmutexlock-crashes-in-application-built-with-latest-visual-studio
2024-06-16 19:45:16 -05:00
wandererfan 6b84b65841 [TD]fix segfault on confused selection
- failure in DrawDimHelper when both 2d & 3d geom selected
2024-06-16 13:15:19 -04:00
Federico Gallo Herosa b565e72b92 Accidental symbols (+) out of place
Notice there is a recent similar fix: 2ad397e18e
2024-06-16 17:01:05 +02:00
Roy-043 da2ae11ca0 Draft: revert #14206 to fix WP alignment (#14665)
#14206 was an intermediate solution. Now that  `Part.getShape` can handle the new `SubElementNames` it needs to be removed as it breaks the handling of subelements in links.
2024-06-16 16:53:02 +02:00
shai 2a6a3649af Added a fix to issue #14613: tool shapes not shown correctly 2024-06-16 08:27:04 -05:00
shai 382ca30d19 a possible fix for MacOS systems. Issue #14348 2024-06-16 08:27:04 -05:00
shai bd3f0893fd Fix issue #14513 - simulation of partially selected operations not working. 2024-06-16 08:27:04 -05:00
wmayer 2ad397e18e Core: Remove superfluous + operator 2024-06-16 07:53:50 +02:00
wmayer 6623b60528 Core: Make sure that PropertyMaterialList cannot become empty
The PropertyMaterialList is supposed to guarantee that it always has at least one element
2024-06-15 18:31:24 -05:00
Roy-043 f669ce6634 Ensure that the Dir vector is copied 2024-06-14 15:52:11 +02:00
Roy-043 af8da73ae3 BIM: fix extrusion vector scaling for IFC export
The Dir vector of Part Extrusions also needs to be scaled if obj.LengthFwd.Value is zero.

Forum topic:
https://forum.freecad.org/viewtopic.php?t=88121
2024-06-14 15:39:39 +02:00
Roy-043 30f7f26889 Removed WP related change 2024-06-14 10:41:35 +02:00
Roy-043 6a2eca41b3 BIM: Add IsActive to BIM_Text
Fixes #14586.
2024-06-14 10:41:35 +02:00
Roy-043 a02d4a3cff Draft: revert #14206 to fix WP alignment
#14206 was an intermediate solution. Now that  `Part.getShape` can handle the new `SubElementNames` it needs to be removed as it breaks the handling of subelements in links.
2024-06-14 10:41:35 +02:00
MisterMaker b205922c42 Default stylesheets revision + clean-up (#13772)
* Added the new QSS file with images

Added the new QSS file with images

* fixed some disabled colors to be the same everywhere.

* update

* big update fixed the scrollbars and lots more.

* small tweaks

* small fixes

* fixed groupbox in qsint

* Added light classic

This light theme is basicallyt exactly no-stylesheet.

* fixed the tabs

* fixed background reportview

* updated overlay stylesheets

* Added preference settings from Opentheme @obelisk79

* tabbar tweaks

* forgot the gradients on dark

* Overlay stylesheets clean-up +move icon to folder.

* removing old stylesheets

removing old stylesheets

* it was icons not icon, fixed it.

* updated cmake and package.xml

* to many spaces

* removing old theme's

* updated default overlay qss

* removed my settings files

* updated cfg files

* Bunch of fixes

I compiled it and didn't see any issues anymore. Could be some discussions about the new startpage thumbnails.

* fixed up double arrows and the correct logo!

* updated the work file for the icons

* Sets no-stylesheet overlay to a stylesheet.

* type in cmakelist

* type in filename

* oeps did set the dark theme

* Update OverlayManager.cpp

I removed a bit to much reverting this line

* fixed text color issue in Qsint on the light theme and dark background

* Update Light Theme + Dark Background.qss

Fine tuning the treeview it now works good for ligth theme and dark brackgrounds.

* removed prodark added back Behave dark overlay

@Syres916 I deleted the overlay qss behave dark by accident.
But you might want to check this PR out since it changes a lot.

I deleted Pro-dark since it was not updated and is outdated and it looks also a lot like the default dark.

* Update Light Theme + Light Background.qss

Fixes

* small fixes

small fixes

* remove ProDark

* Update CMakeLists.txt

* changed the thumbnails

Also removed teh dimensions in the filename since that got annoying real fast :)

* Updated other overlay stylesheets

* missing extension

* cleanup and some fixes to the overlay.

* Update Dark Theme + Light Background.qss

udpated the dark theme overaly with light background for all you maniacs who use this.

* Title bar fix for windows

This makes it so that it uses black title bar in windows if you have dark mode

* updated white background and some colors

* I think I fix merge issue now.

* Some cleanup on the thumbnails

* Create CMakePresets.json

* idk

* trying to fix conflicts

* removing old themes

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

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

* Some fixes for Qsint sketcher toolbars icons

* fixed merge issue with maingui

* trying to fix merge conflicts

* and removing again.

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-06-13 22:13:05 -05:00
wandererfan ca00ba8ce3 [TD]fix ActiveView image size 2024-06-13 19:25:29 -04:00
wandererfan b3b9614cbc [TD]disable crop fields if crop not checked 2024-06-13 19:25:29 -04:00
wandererfan 1e847e3c7b [TD]remove spurious error messages 2024-06-13 19:25:29 -04:00
PaddleStroke 4d15b8f66a Sketcher: Fix circle diameter OVP 2024-06-13 14:51:48 -05:00
PaddleStroke 22a98d81f0 Sketcher: - Give focus to the MDI so that keyboard events are caught after starting edit. Else pressing ESC right after starting edit will not be caught to exit edit mode.
- After tool handler is purged, give back focus to MDI to make sure VPSketch receive the keyboard event. Else if user start a tool, dismiss it with ESC, then press ESC again to exit edit mode it won't be detected.
2024-06-13 14:44:30 -05:00
PaddleStroke 8e1a1c1783 Core: GuiDocument testGetTreeRootObject 2024-06-13 15:51:22 +02:00
Furgo 4500d0fd07 Draft toggle grid as a toggle button to indicate grid visibility (#14452)
Makes the button for the Draft_ToggleGrid command act as a real toggle button to provide visual feedback of the grid visibility state.

---------

Co-authored-by: Syres916 <46537884+Syres916@users.noreply.github.com>
2024-06-13 15:31:29 +02:00
Roy-043 91c7d8bfc9 Draft: _get_shapes in shape2dview.py did not handle null shapes (#14646)
Null shapes do not have a ShapeType (strange IMO). The function did not take that into account.

Forum topic:
https://forum.freecad.org/viewtopic.php?t=88397
2024-06-13 15:27:47 +02:00
Roy-043 fc8f7eeea4 BIM: Fix Arch Panel imports (#14644)
Fixes #14585.
2024-06-13 15:26:06 +02:00
Roy-043 c8c2c52e3e BIM: minor icon cleanup (#14560)
* BIM: minor icon cleanup

* Removed icons used for 'experimental' tools. They are obsolete.
* Updated warning.svg to match .../src/Gui/Icons/Warning.svg
* Renamed Image_CreateImagePlane.svg to BIM_ImagePlane.svg to avoid overwriting the first icon in the Wiki.
* Removed ArchWorkbench.svg and preferences-arch.svg as they are also obsolete.
* To resolve a Wiki name conflict renamed BIM_Project.svg to BIM_ProjectManager.svg, and Arch_Project_IFC.svg to BIM_Project.svg.
2024-06-13 15:22:08 +02:00
Roy-043 7011a21372 BIM: Fix handling of Wall normal (#14540)
The `Part.makeLine()` code is unnecessary and also risky as length can be zero. See first image in #14524.
2024-06-13 15:20:25 +02:00
Roy-043 38a86238e1 BIM: Fix move BuildingPart error (#14539)
Fixes #14524.
2024-06-13 15:18:23 +02:00
PaddleStroke a0683cce88 OndselSolver: Update solver 2024-06-13 09:02:02 +02:00
wmayer 05e64ee173 Test: make test for STEP import independent of user settings
If the option 'Enable STEP compound merge' is active the test would fail
2024-06-12 20:19:49 +02:00
James Waples 7e62d07538 CAM: Rename CW/CCW to Climb/Conventional for consistency (#14364)
* Find and replace CW/CCW with Climb/Conventional

* Find and replace CCW/CW in CAM tests

* Find and replace in some UI files
2024-06-12 10:48:57 -05:00
wmayer 9b198c7704 MSVC: Fix warnings and build failure 2024-06-12 10:36:58 -05:00
PaddleStroke e6b18dc381 Sketcher: polygone DSH, typo fix 2024-06-12 10:57:43 +02:00
PaddleStroke 974f57cf94 Core: Add Gui::Document::getTreeRootObjects() 2024-06-12 10:57:24 +02:00
PaddleStroke 26a9a67edd Assembly: Fix bug by replacing const char* by std::string for variables that need to be swapped. 2024-06-12 10:57:16 +02:00
pre-commit-ci[bot] 5c2feabe24 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2024-06-12 08:40:22 +02:00
mosfet80 d468a7a631 [Main] MainPy.cpp clean
remove unused code
2024-06-12 08:40:22 +02:00
mosfet80 a6937d8d26 [MOD] clean Finite.cpp (#14476)
removed dead code
2024-06-11 12:31:10 -05:00
hlorus cda7a20e04 MeasureGui: Show measurement if it doesn't track any subjects 2024-06-11 17:57:01 +02:00
hlorus 71505c3b40 Measure: Migrate old App::MeasureDistance to new type 2024-06-11 17:57:01 +02:00
hlorus bb7aa6ac74 Remove Std_MeasurementSimple 2024-06-11 17:57:01 +02:00
hlorus b42c3aade0 Remove Std_MeasureDistance 2024-06-11 17:57:01 +02:00
hlorus 96fba15cb1 [Measure] Add MeasureDistanceDetached 2024-06-11 17:57:01 +02:00
hlorus 039242b964 [Measure] Make VP MeasureDistance only depend on properties 2024-06-11 17:57:01 +02:00
PaddleStroke 9fad901fa8 Assembly: Fix bug by replacing const char* by std::string for variables that need to be swapped. 2024-06-11 12:11:16 +02:00
wmayer b4c5a6d5ba Fix several regressions:
+ improve PropertyMaterialList::readString
+ fix transparency handling in ViewProviderPartExt
+ do not register the private member '_diffuseColor' as property because it would be exposed to the
  public where it can be modified
+ fix ViewProviderPartExt::finishRestoring() to correctly restore old project files
+ fix ViewProviderPartExt::setHighlightedFaces() to correctly show face colours if VBO is enabled
+ fix ViewProviderBoolean::updateData()
  fix ViewProviderMultiFuse::updateData()
  fix ViewProviderMultiCommon::updateData()
  fix ViewProviderCompound::updateData()
  fix ViewProviderFillet::updateData()
  fix ViewProviderChamfer::updateData()
  that all set invalid transparency values
+ Filter ShapeAppearance in ViewProviderBody::unifyVisualProperty
  because body features usually have different number of faces than the body itself
+ manually fix some bad looking auto-formatted code
+ clean up code and remove duplicated code
2024-06-11 11:58:32 +02:00
wmayer a58eebd903 Gui: Move texture handling to view provider extension
It should be avoided to add all stuff to the base class when it's only needed in one sub-class
2024-06-11 11:55:44 +02:00
wmayer dd816a635c Fix several compiler warnings
* variable 'xAngle' is used uninitialized whenever 'if' condition is false [-Werror,-Wsometimes-uninitialized]
* variable 'yAngle' is used uninitialized whenever 'if' condition is false [-Werror,-Wsometimes-uninitialized]
* variable 'zAngle' is used uninitialized whenever 'if' condition is false [-Werror,-Wsometimes-uninitialized]
* unused variable 'base' [-Werror,-Wunused-variable]
* unused variable 'extrude' [-Werror,-Wunused-variable]
2024-06-11 11:42:12 +02:00
PaddleStroke d0264d6bb0 Assembly: Deletes exploded view deletes the moves objects. 2024-06-11 10:29:46 +02:00
PaddleStroke 27f03e8edf Assembly: Makes sure deleting assembly deletes the joints, the exploded views and the view group. 2024-06-11 10:09:57 +02:00
Kacper Donat 1f35398d5a Gui: Fix use of no longer existing DiffuseColor property 2024-06-10 19:40:48 -05:00
PaddleStroke b463846bea Assembly: Add validation step during dragging to ignore steps where grounded objects moved. 2024-06-10 11:35:04 -05:00
Kuzemko Alexsandr aca353d7c5 Displaying internal names in the tree view (#14237)
* Displaying internal names in the tree view

* Change "Hide extra column" to "Hide Description"

---------

Co-authored-by: Kuzma30 <kuzemkoa@gmail.com>
2024-06-10 11:31:04 -05:00
Furgo 81324076af BIM: add missing imports for Arch_CutPlane (#14430)
* BIM: add missing imports

* BIM: import correct module for cutComponentwithPlane

* Move PySide imports inside class methods
2024-06-10 11:27:25 -05:00
Chris Hennes 7c7b6ce146 Base: Support virtual environment in Py>=3.11 2024-06-10 11:26:09 -05:00
Chris Hennes d8d75ca896 Base: Fix compiler warning 2024-06-10 11:23:40 -05:00
DeniseBryson 73c6415878 ArchSpace - Correct computed dimensions (floor area and perimeter length) (#14211)
* Arch: Improved ArchComponent.computeAreas function

All non vertical faces get projected now. Changed Part.Wire to DraftGeomUtils.findWires

* Arch: Removed Area property and add AreaCalculationType to Space object

The horizontal area and its perimeter are now calculated in two different ways. Eiter at the centre of mass or as a projection on the XY-plane. The results are filled in the filed horizontal area and perimeter in the Component section.

* BIM: Added property Area for Spaces again
2024-06-10 11:22:51 -05:00
Florian Foinant-Willig 0b4e01047f Fix can't pad a sketch on datum plane (#14397)
* Fix can't pad a sketch on datum plane

* Add a unit test for Pad a sketch on datum plane
2024-06-10 11:21:32 -05:00
Florian Foinant-Willig 430594ef81 Fix SubElements selection for PropertyLinkSubList 2024-06-10 11:20:37 -05:00
wmayer 133d13bf7f Fix a couple of language change issues
When changing the language in the preferences dialog without closing it then a few things are not re-translated
2024-06-10 11:19:37 -05:00
Chris Hennes 472493f876 Merge pull request #14353 from marioalexis84/fem-constraint_transform
Fem: Cleanup ViewProviderFemConstraint and update constraint transform
2024-06-10 11:18:57 -05:00
Chris Hennes e79ed3be95 Merge pull request #14507 from Rexbas/gesture-rotation-mode
Gui: Fix Gesture navigation rotation mode
2024-06-10 11:14:18 -05:00
PaddleStroke 48cfc90049 Assembly: Add preference to enable debug files of dragging 2024-06-10 11:13:12 -05:00
bgbsww d467236564 Guard all uses of basic_random_generator for thread safety 2024-06-10 11:10:57 -05:00
PaddleStroke 833e9cc8ab Sketcher: Fix default value of dimConstrDeactivatedColor 2024-06-10 11:09:36 -05:00
Syres916 245e66ed3a [Gui] Fix BehaveDark StatusBar Flickering Border...
...and sync tooltip colours and size
2024-06-10 11:08:44 -05:00
mosfet80 62279d083d [mod] clean (#14378)
* [mod] clean

* [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-06-10 11:07:14 -05:00
Chris Hennes faddc780c3 Merge pull request #14433 from kadet1090/feature-ui-for-up-to-shape
GUI: Add UI for Up To Shape feature
2024-06-10 11:06:25 -05:00
Kacper Donat b68da9d844 GUI: Add UI for Up To Shape feature
Add UI for Up To Shape feature and overall refactor of Pad / Pocket.
2024-06-10 18:05:21 +02:00
Kacper Donat 3f6f8c0172 Gui: Refactor DressUp VP to use setHighlighted*
This refactors DressUp VP a bit so it does no longer store original copy
of original faces colors to properly support selection, but uses
highlight methods provided by the base class. It simplfies code a bit
and ensures coherent behavior.
2024-06-10 18:05:21 +02:00
wmayer 954d2c1ac3 Gui: Refactor DlgMaterialPropertiesImp
Because a PropertyMaterialList property is used now it makes no sense any more to pass a list of view providers to the dialog
as it's impossible to set the material at a certain index.
Therefore the dialog has been simplified and setting the material property must be done by the calling instance.
2024-06-10 10:50:46 -05:00
Chris Hennes 3df1095580 Merge pull request #14477 from mosfet80/patch-7
Update issue-metrics to v3
2024-06-10 10:50:11 -05:00
Adrian Insaurralde Avalos a4ac8282ed Unpin pcl on conda devenv and update to use libboost-devel 2024-06-10 10:49:09 -05:00
Mihail Dumitrescu 417e6559b4 Add ParallelPlane attachment mode.
It results in an attachment similar to ObjectXY but with the XY plane translated to pass through a selected vertex.

It is most useful to place sketches: pick a plane (XY, XZ, YZ) or another sketch then select a vertex to automatically translate the sketch in the Z-direction. In contrast to the Translate mode it does not change the origin.
2024-06-10 10:47:00 -05:00
Max Wilfinger ac21dadc97 Change splashscreen text color to the new logo blue from the guideline 2024-06-10 10:43:45 -05:00
Chris Hennes 5b3b293811 Merge pull request #14417 from marioalexis84/fem-constraint_body_heat_source
Fem: Add body heat source to CalculiX writer - fixes #11650
2024-06-10 10:38:26 -05:00
FEA-eng f5486bca3e Part: Add Sketcher_NewSketch to Part toolbar (#14318)
* Update Workbench.cpp

* Part: Update InitGui.py
2024-06-10 10:36:39 -05:00
Emmanuel Obrien a7e1760bfb Speedup sketcher item selection
Selecting lots of elements in the sketcher slows down quadratically because we were redrawing the entire element list widget for each element.
2024-06-10 10:35:32 -05:00
PaddleStroke ba0ff0db5e Techdraw: area dimension: fix scale issue. 2024-06-10 08:28:36 -04:00
Syres916 3b4598ce04 [AddonManager] Fix Error on Existing Python Additional Packages Folder (#14522)
* [AddonManager] Fix Error on Existing Python Additional Packages Folder

...this is more likely to occur since the BIM workbench integration and new users installing ifcOpenShell by pip before running AddonManager.

* [AddonManager] Correct boolean
2024-06-07 14:30:42 -05:00
bdieterm ea68c5e88c Core: fix import of FreeCAD in a Python 3.12 interpreter
Importing FreeCAD as a module in a normal Python interpreter (e.g. /usr/bin/python3) stopped working with Python 3.12 (but works normally with Python 3.11). When executing "import FreeCAD as App", the interpreter crashes with "Fatal Python error: PyImport_AppendInittab: PyImport_AppendInittab() may not be called after Py_Initialize()".
The check that causes the error message and abortion was introduced in Python 3.12 via
https://github.com/python/cpython/commit/7f3a4b967cfb1596a3fda6c34f900f8586b16700
(and a typo in the error message fixed via)
https://github.com/python/cpython/commit/35dd55005ee9aea2843eff7f514ee689a0995df8
2024-06-07 12:19:45 -05:00
wandererfan 5ca6eab922 [TD]fix incorrect section lines with expression link 2024-06-07 10:19:13 -04:00
wandererfan c5981b07b6 [TD]Change template svg_namespace to www.freecad.org
- was www.freecadweb.org
2024-06-07 10:18:42 -04:00
Kacper Donat 62463fa0bd Gui: Add QtStyle user parameter
This allows theme developers to set proper Qt style.
2024-06-06 22:26:21 -05:00
hlorus 433dcec0be MeasureGui: Don't resolve selection objects in TaskMeasure
Fixes #14332
2024-06-06 22:24:30 -05:00
Jonas Bähr 4f3f692fca App: add readline-based tab-completion
When executing FreeCAD in interactive console-mode, the init-script tries
to load readline for a better input experience and enables tab-completion.
This code is neither executed when running in GUI mode, nor when the
console is not itneractive, e.g. when reading a script from stdin.

Note that readline is not available on Windows, so we ignore import errors
for now. With pyreadline3 there may be an alternative for Windows, but I
cannot verify this on my setup.
2024-06-06 21:56:18 -05:00
Max Wilfinger 6acf3ca401 Updated icons according to DWG feedback 2024-06-06 21:41:50 -05:00
Roy-043 7496eb94f8 Draft: Fix two Layer warnings (#14506)
There are two unnecessary Layer warnings:
1. A 'might break' warning when deleting an object nested in a layer.
2. An 'out of scope' warning for objects also nested in f.e. a Std_Part.

To avoid them the Group property type was changed to `App::PropertyLinkListHidden`.
2024-06-06 15:53:49 +02:00
Syres916 7dbebbbb08 [BIM] Add fallback installation for Python 3.10, 3.11 & 3.12 systems 2024-06-06 14:47:17 +02:00
Roy-043 3ef99e8b83 BIM: Update WP commands
Update the BIM WP commands to use the new Draft code. This ensures correct GUI behavior.

This also fixes the BIM_SetWPSide command which would align to the left side instead of the right side. The right side matches the behavior of Draft_SelectPlane and also the icon of the command.
2024-06-06 14:08:21 +02:00
Roy-043 5935cba69a BIM: Fix BimImagePlane.py imports 2024-06-06 14:07:39 +02:00
paullee bc46d4fc39 [ArchWall] Add switch 'ArchSketchData' to use ArchSketch Data or not 2024-06-06 14:04:14 +02:00
paullee b3ac1d9c85 [ArchWall] Disable Input (ReadyOny) if Base (ArchSketch) Provided
To avoid confusion, attributes e.g. Align, Width, Offset, Override (Align/ Width/ Offset)
would be disabled, if Base object is ArchSketch which provided the above information

FC Forum Discussion :  https://forum.freecad.org/viewtopic.php?t=87721&start=30#p763761
2024-06-06 14:04:14 +02:00
marioalexis 108a66f960 Fem: Add license to constraints symbol files 2024-06-05 13:12:25 -03:00
marioalexis f17ad4f143 Fem: Update constraint transform 2024-06-05 13:12:25 -03:00
marioalexis 536a2b0aad Fem: Move functions to Tools class 2024-06-05 13:12:25 -03:00
marioalexis b93274ceef Fem: Cleanup ViewProviderFemConstraint class 2024-06-05 13:12:25 -03:00
Chris Hennes de9be04249 Merge pull request #14491 from marioalexis84/fem-test_file_license
Fem: Set compatible license in test files - fixes #8894
2024-06-04 19:15:12 -05:00
Bas Ruigrok 0b8ac9e5b9 Gui: Fix rotation mode for MayaGesture style 2024-06-04 21:57:15 +02:00
Bas Ruigrok 0001879be0 Gui: Fix rotation mode for Gesture style 2024-06-04 21:57:15 +02:00
wmayer 36a7fd9be4 StartGui: Fix crash in GeneralSettingsWidget::onNavigationStyleChanged
It's not allowed to store the C string of a tmp. byte array as the pointer will become dangling and causes undefined behaviour
2024-06-04 20:24:01 +02:00
wmayer 9456df5a4b Fix compiler warnings 2024-06-04 20:23:19 +02:00
wmayer d12632f2ca Fix compiler warnings 2024-06-04 17:36:10 +02:00
marioalexis e3648061fd Fem: Set license for Python generated examples 2024-06-04 11:38:29 -03:00
marioalexis 609da5cf04 Fem: Set compatible license in test files - fixes #8894 2024-06-04 04:30:03 -03:00
Chris Hennes 681e8c9d2f Merge pull request #14485 from bgbsww/bgbsww-toponamingFixDressUpShadowSubs
Toponaming fix dress up shadow subs
2024-06-03 21:01:22 -05:00
bgbsww 20bcd7c8f4 Toponaming: defend against uninitialized elementMap in getElementHistory 2024-06-03 20:59:36 -05:00
bgbsww 96aa878b7e Toponaming: reformat code 2024-06-03 19:29:01 -04:00
mosfet80 da7306323d Merge branch 'FreeCAD:main' into patch-7 2024-06-03 18:43:45 +02:00
Shai Seger fc714933a7 CAM: Simulator: A fix for Issue #14369: Wrong drill operation simulation (#14401)
* remove redundant code

* Fix G8x drill sequence bug.  issue #14369

* fix bad simulation artifacts under Linux and QT. Issue #14369
2024-06-03 11:31:35 -05:00
wmayer d4325a6bd8 Part: Add FaceMakerMode of type PropertyEnumeration
This is added to conveniently change the face maker type of an extrusion object.

Hint: A new property is used to avoid to break project files when opening it with an older version.
2024-06-03 11:29:01 -05:00
Kacper Donat b840e1c992 Gui: Fix document tree background rendering with overlay (Qt6)
This aims to fix rendering of tree view items in Qt6. While I don't
belive that this is a good way to fix this, I am worried that it is the
only way to do ir.

BC BREAK: This change introduces artificial QTreeView widget that can be
targeted using QSS and can be used in the delegate for painting background of
items. `QTreeView::item` would now be used to render background for the
whole row, while each cell can be targeted using `#DocumentTreeItems`
selector.

More details on implementation:
https://stackoverflow.com/questions/78414383/qt6-disable-drawing-of-default-background-for-qtreeview-items/78421604#78421604

Fixes: #13760
2024-06-03 11:28:02 -05:00
Kacper Donat 10ec35abeb Gui: Fix rendering order of transorm gizmo
Transform gizmo (dragger) used SoAnnotation which disables GL_DEPTH_TEST
resulting in rendering elements in wrong order. This PR introduces new
coin node: So3DAnnotation that delays rendering and clears depth buffer before
drawing which results in proper order of elements. As this destroys
information in the depth buffer it is crucial to run this action after
the scene is rendered.
2024-06-03 11:27:22 -05:00
Florian Foinant-Willig 309dd6e30d PD Extrude up to multiple faces or shape 2024-06-03 11:26:19 -05:00
wmayer 04cf749a4a Part: Add AttacherEngine of type PropertyEnumeration
This is added to conveniently change the attacher type of a Part object.

Hint: A new property is used to avoid to break project files when opening it with an older version.

See also forum thread: https://forum.freecad.org/viewtopic.php?t=87891
2024-06-03 11:24:09 -05:00
David Carter 5bb5c2a9cf Materials: Inheritance API
API changes to inherit a material
2024-06-03 11:18:29 -05:00
VM4Dim 2df0f3631d Part: Not needed translation for STEP (file format name) 2024-06-03 11:16:26 -05:00
Kacper Donat 8def94e6f8 Gui: Update sketcher colors after file load
This commit introduces AutoColor property for sketches that when
enabled ensures that sketches are updated with the color of user
preference. It ensures that sketches from different users will be
still visible on different themes.

To ensure backward compatiblity migration strategy is to compute default
value for this property based on the color. If it is non-white (the
default value in FreeCAD) we assume that the change was inentional and
that it should be kept as-is turning automatic coloring off. In other
cases it is enabled by default.

Fixes: FreeCAD#13980
2024-06-03 11:15:36 -05:00
André Althaus 3d217feaa8 Fix visibility icon for link elements
The visibility of link elements must be set with setElementVisible.
This will first try to use that API otherwise it falls back to setting
the Visibility property.
2024-06-03 11:12:57 -05:00
Chris Hennes de599a9acb Merge pull request #14383 from Ondsel-Development/asm_invalid_limits
Assembly: Fix bad limits automatically
2024-06-03 11:06:50 -05:00
Chris Hennes 696196d8f0 Update translations 2024-06-03 11:04:42 -05:00
Yorik van Havre c5a350ce57 Tux: Detect and fix BIM addon (#14391)
* Tux: Detect and fix BIM addon - fixes #14072

* [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-06-03 11:03:11 -05:00
Max Wilfinger 92c1141147 Change transform tool task box icon and heading 2024-06-03 11:01:35 -05:00
PaddleStroke 10531f998a TechDraw: Snapping: Fix bug where distanceX dimensions would wrongly compare to all dimensions. 2024-06-03 11:58:58 -04:00
PaddleStroke 6082ef521d TechDraw: Dimension Snapping : Enable different types of dimensions to snap together. 2024-06-03 11:58:58 -04:00
PaddleStroke 298deb7199 TechDraw: Dimension: fix centering snapping. 2024-06-03 11:58:58 -04:00
PaddleStroke 8acc6c534a TechDraw: Smart dimension, fix initial selection by disabling Auto::Transaction 2024-06-03 11:57:33 -04:00
PaddleStroke 25172e42d9 TechDraw: QGVPage: remove copy paste useless leftover. 2024-06-03 11:57:33 -04:00
PaddleStroke 65b6f349bb TechDraw: Smart dimension: fix D shortcut that was wrongly assigned to radius. 2024-06-03 11:57:33 -04:00
PaddleStroke 61712c8a6b TechDraw: Smart dimension : fix radius/diameter command names 2024-06-03 11:57:33 -04:00
PaddleStroke ae3139e9f3 TechDraw: Smart Dimension: Fix cannot pan with middle mouse click. Fixes #14326 2024-06-03 11:54:37 -04:00
David Carter 6c149cdf95 Materials: Tree Widget selection change
Remove notification when a foldder is selected
rather than a material
2024-06-03 10:52:54 -05:00
Chris Hennes e11bafc715 Merge pull request #14337 from wwmayer/refactor_sketch_analysis
Sketch: Refactor SketchAnalysis
2024-06-03 10:49:30 -05:00
Max Wilfinger 898910209d Add Std_AlignToSelevtion to menu and context menu 2024-06-03 10:48:35 -05:00
Chris Hennes 64fbafe30e Merge pull request #12589 from NomAnor/pd-trans-body
Add a new mode to PD patterns that will transform the base feature's shape instead of the tool shapes
2024-06-03 10:46:33 -05:00
howie-j a4b97e29d6 Fixes #12384 2024-06-03 10:43:18 -05:00
MisterMakerNL f98d79b4af Changed the size back to 17px
Changed the size back to 17px because of https://github.com/FreeCAD/FreeCAD/issues/14037
2024-06-03 10:41:52 -05:00
Chris Hennes 11fa271eb5 Test: Support system GTest, and give warning if no submodule (#13662) 2024-06-03 10:40:35 -05:00
PaddleStroke 5610d226c3 MenuManager: modernize for loops 2024-06-03 10:40:05 -05:00
Pieter Hijma fc40c22ecc Core: Add VarSet support to expression dialog
This allows users to directly add properties to variable sets from
within the expression input dialog improving a workflow for
parameterized design.
2024-06-03 10:39:30 -05:00
Chris Hennes bb40f9cfc1 Merge pull request #13317 from Ondsel-Development/add-prop-varset
Core: Add properties to variable sets
2024-06-03 10:34:57 -05:00
Zheng, Lei 6474a44c87 Toponaming: update TaskDressUp addAllEdges 2024-06-03 11:22:55 -04:00
mosfet80 3c2a16eb54 Update issue-metrics to v3
https://github.com/github/issue-metrics/releases?page=2
2024-06-03 15:47:22 +02:00
wandererfan 6f0f3d3186 [TD]use light-on-dark preference for dark themes 2024-06-03 09:03:33 -04:00
Syres916 f8cb31ba0e [TechDraw] Improve visibility of TD preference icons in combo boxes...
...when using dark style sheets.
2024-06-03 09:03:33 -04:00
wandererfan 06f79b5ebd [TD]restore stretch on pref page widgets 2024-06-03 09:03:33 -04:00
wmayer 6fb7c51c18 App: Prepare for clang-format 2024-06-03 12:52:30 +02:00
wmayer fd7f6039b6 Main: Apply clang-format 2024-06-03 12:51:36 +02:00
marioalexis ac533ef3f1 Part: Rename ViewProviderPartExtPy class files 2024-06-03 12:48:15 +02:00
marioalexis 13f7b03d83 Fem: Improve constraint BodyHeatSource 2024-06-03 03:15:14 -03:00
bgbsww 77fc1de6c3 Toponaming: remove unused method with compile warnings 2024-06-02 18:55:13 -05:00
marioalexis 8ec0916efb Fem: Add body heat source to CalculiX writer - fixes #11650 2024-06-02 18:38:15 -03:00
wmayer 26714820cd Fix compiler warnings 2024-06-02 14:59:45 +02:00
André Althaus a0de73ab57 Change visibility icon default to enabled 2024-06-02 14:28:46 +02:00
André Althaus 4d6ad97836 Use a gray invisible icon for the tree 2024-06-02 14:22:45 +02:00
André Althaus d24a60f538 Gray out hidden items regardless of the visibility icon setting 2024-06-02 14:22:45 +02:00
André Althaus 81c6d7401b Increase space between visibility icon and normal icon
Adds PM_LayoutHorizontalSpacing betweenthe visibility icon and the normal icon.
2024-06-02 14:22:41 +02:00
André Althaus 8588537bff Account for margin in visibility icon click check 2024-06-02 14:22:09 +02:00
wmayer 859d47bac7 Measure: Fix exception handling
If a Base::Exception is thrown in Measurement::getShape() then it's handled by the catch(...) handler and
converted into a Base::RuntimeError. This behaviour hides the original Base::Exception.

Example:
Selecting a datum plane raises the error 'Measurement: Unknown error retrieving shape' because the
original Base::ValueError isn't forwarded.
2024-06-02 08:15:57 +02:00
bgbsww 669f2da362 Toponaming: fix bug with points in sketches 2024-06-01 22:57:31 -05:00
David Carter 8b5a3b1124 Material: Appearance Updates 2
Improves the use of the ShapeAppearance property for the Part workbench.

    removes DiffuseColor property
        adds Python compatibility using custom attributes
        transitions DiffuseColor to ShapeAppearance on open
    Improved UI elements for setting object appearance, and appearance per face
    Lays the foundation for future texture support
2024-06-01 19:57:16 -05:00
bgbsww 958d83ed06 Toponaming: Restore use of AttachmentSupport 2024-06-01 11:49:58 -05:00
wmayer 91aac05021 Fixes #14349: GeoFeature::getElementTypes causes undefined behaviour 2024-05-31 11:42:01 +02:00
wmayer 38d4fa3d6e tests: Add unit tests for getElementTypes() 2024-05-31 11:42:01 +02:00
Yorik van Havre 6ea5c7985c BIM: added missing items in utils menu 2024-05-31 10:10:18 +02:00
Yorik van Havre 64bc7e355f BIM: Reworked menus and toolbars 2024-05-31 10:10:18 +02:00
Yorik van Havre dd7a8c3eba Draft: Fixed ghosts vanishing when using mouse delay - issue #12624 (#14358) 2024-05-30 22:41:54 +02:00
Yorik van Havre f11b08bde5 BIM: Fixed import in importSHP - fixes #14261 (#14385) 2024-05-30 22:34:57 +02:00
Yorik van Havre a877b36b70 BIM: Fixed IsActive of BIM commands (#14384) 2024-05-30 22:33:43 +02:00
Max Wilfinger 4e8f3f0381 Added preference for disabling shaded override draw style when entering sketch edit mode.
Storing previous override draw style and applying it when leaving the sketch.
2024-05-30 21:07:30 +02:00
hoshengwei 79ada18d69 fix Native IFC Qt6 Support 2024-05-30 11:50:35 +02:00
Max Wilfinger 5c7d287f6b Changes override draw style when entering sketch edit mode. 2024-05-30 11:17:35 +02:00
hoshengwei e64a977398 fix BimView Qt6 Support (renew) 2024-05-30 10:52:41 +02:00
hoshengwei 127f9b3492 fix BimView Qt6 Support 2024-05-30 10:52:41 +02:00
PaddleStroke d5eacd7945 Assembly: Fix bad limits automatically. Fixes https://github.com/Ondsel-Development/FreeCAD/issues/61 2024-05-30 10:33:59 +02:00
PaddleStroke 47031f2d4e Assembly: Translate error 2024-05-30 10:33:19 +02:00
Ladislav Michl 0f6dbdb3d4 BIM: Move urls outside translated strings
Leaving urls outside translated strings prevents translations
from being updated on url change.
2024-05-30 09:39:01 +02:00
wmayer ffad1e0c34 Mod: Fix several compiler warnings 2024-05-30 08:55:11 +02:00
ii8 19dae94f01 Base: fix build on musl libc 2024-05-30 08:49:25 +02:00
wandererfan 7d6e9b19fb [TD]add style options for broken view 2024-05-29 14:12:13 -04:00
sliptonic 0e3057b28c contributors 2024-05-29 19:18:02 +02:00
Max Wilfinger fdbe24b277 Update templates to new FreeCAD icon. 2024-05-29 08:44:54 -04:00
wmayer 4185605d5e clang/gcc: Add build option FREECAD_WARN_ERROR to force to make warnings into errors 2024-05-29 13:37:07 +02:00
Roy-043 df68858765 BIM: change default for defaultWP to Top
Setting the WP to "Auto" is confusing for beginners. That is why this was changed to "Top" in the Draft WB. The same should happen in the BIM WB.
2024-05-29 11:40:48 +02:00
Florian Foinant-Willig 520f28687a Name myself in CONTRIBUTORS 2024-05-29 10:54:59 +02:00
David Carter 4f9b441604 Materials: Correct issue with UTF8 path
The YAML library is unable to open files with UTF8 paths
2024-05-29 10:54:03 +02:00
sliptonic 6469ec84fe fix color preference dialog (#14343) 2024-05-28 17:36:47 -05:00
wmayer ddfc21afc1 Sketch: Refactor SketchAnalysis
Refactor detectMissingPointOnPointConstraints()
2024-05-28 15:28:53 +02:00
wmayer 7e5b0d570a Sketch: Refactor SketchAnalysis
Refactor detectMissingEqualityConstraints()
2024-05-28 15:10:51 +02:00
obelisk79 88a5853657 Cam sim fix (#14275)
* Resolves missing include for GCC14 compilers

* Resolves build issues with Qt6 by removing unused include and function call.

* Revert "Resolves missing include for GCC14 compilers"

This reverts commit ad7fc0379dc1c0ae97120e1d89fe1fd8bbbe4c43.
2024-05-28 07:57:42 -05:00
phaseloop 888ffcf6d5 [CAM] VCarve improvements (#14093)
* Add stepDown setting to Vcarve Op

* fix UI issued, add finishing pass to Vcarve

* Improve step-down performance, add debugVoronoi()

* add debugVoronoi method

* Add movement optimization

* add CAM/Vcarve unit-tests

* Disable debugging mode

* Cache caller info in debug method

* Format code
2024-05-28 07:57:07 -05:00
wmayer 112c26cf1c Sketch: Refactor SketchAnalysis
Fix linter warnings
2024-05-28 14:43:46 +02:00
wmayer e0e2e01484 Sketch: Refactor SketchAnalysis
Refactor autoconstraint()
2024-05-28 14:28:07 +02:00
wmayer 1c03bc4eaa Sketch: Refactor SketchAnalysis
Refactor makeMissingEquality()
2024-05-28 14:19:58 +02:00
wmayer d5c92fee98 Sketch: Refactor SketchAnalysis
Refactor makeMissingVerticalHorizontal
2024-05-28 14:08:44 +02:00
André Althaus 917cebd66e Fix signal for Qt < 5.15 2024-05-28 13:48:48 +02:00
wmayer 5461d0d27f Sketch: Refactor SketchAnalysis
Refactor makeMissingPointOnPoint
2024-05-28 13:40:38 +02:00
wmayer bcc1a9ada5 Sketch: Refactor SketchAnalysis
Refactor detectMissingPointOnPointConstraints
2024-05-28 13:24:05 +02:00
wmayer 5982ac470e Sketch: Refactor SketchAnalysis
Move helper classes to anonymous namespace
2024-05-28 12:26:23 +02:00
paul 797f8f9cf3 [ArchWall] Add Offset per Edge Feature (#14277)
* [ArchWall] Add Offset per Edge Feature

ArchWall.py - Add Override Offset property & ground work for Multi-Layer Wall
Offsets.py - Add offset per edge support to ArchWall

Forum Discussion :
- https://forum.freecad.org/viewtopic.php?p=759634#p759634

* [ArchWall]  Fix bug found by unit test

'off' is no longer used, 'offsets' is used.
2024-05-28 10:39:21 +02:00
Roy-043 e47f29d012 BIM: fix missing translate function 2024-05-28 10:23:14 +02:00
Ladislav Michl 0b82e6e8ec BIM: Make buildPsets python3 friendly 2024-05-28 10:18:06 +02:00
Ladislav Michl 817167b424 BIM: Fix url to IFC on buildingSMART 2024-05-28 10:18:06 +02:00
Yorik van Havre f07857e8dc BIM: Fixed wall paramerers - fixes #14283 (#14315) 2024-05-28 09:51:52 +02:00
Roy-043 524b106ea8 Draft: fix _get_shapes in shape2dview.py (#14319)
Fixes #14312.

The `new _get_shapes` function could return the original object shape. This caused a problem if `sh.reverse()` executed.

Note that the file in the linked issue does not produce the error as it does not contain a shape with a negative volume.
2024-05-28 09:45:48 +02:00
Roy-043 8bcbeae68b Draft: Draft_Layer new Material handling (#13949)
Discussion: #13657.

This PR adds  the ShapeAppearance view property to Draft Layers.

The DefaultShapeColor is used for the DiffuseColor of the ShapeAppearance material. Other material properties are not based on the preferences when a layer is created.

The old ShapeColor and Transparency properties remain (ShapeColor as a hidden property) and are kept in synch with the ShapeAppearance. This is consistent with how ShapeAppearance is implemented in Core.

The gui_layers.py and make_layer.py files do not have to be changed. They manipulate the vobj via the mentioned old properties.
2024-05-28 09:45:05 +02:00
André Althaus cae23ddcc8 Replace combobox with radio buttons 2024-05-28 09:34:08 +02:00
obelisk79 3eb45b045c [UI] Logo Update (#14284)
* Updating instances of FreeCAD's old logo to reflect the new Logo

* updating additional instances of the Logo

* updating additional instances of the Logo

* Update logo for windows installer

* Update logo reference to /src/Gui/Icons/freecad.svg
2024-05-27 15:33:55 -04:00
wmayer e67502025d Sketch: Add test case for validating constraints 2024-05-27 19:15:18 +02:00
wmayer 948d747c6c Sketch: Add test case for deleting constraints with external geometry 2024-05-27 19:15:18 +02:00
wmayer e96ac0b1db Sketch: Add test case for degenerated geometry 2024-05-27 19:15:18 +02:00
wmayer cdec6dd1a2 Sketch: Fix TestSketchValidateCoincidents 2024-05-27 19:15:18 +02:00
Syres916 f52a039811 [Sketcher] Add new Fix Missing Coincident test 2024-05-27 19:15:18 +02:00
David Carter 1bcf8ac9dc Material: Material Filter API (#14292)
* Naterial: Material Filter API

Adds a material filtering function to the
MaterialManager Python object

* Remove whitespace
2024-05-27 12:00:39 -05:00
PaddleStroke cecb965f50 Assembly: Add 'Angle', 'Perpendicular' and 'Parallel' joints. 2024-05-27 11:59:06 -05:00
Kuzma30 32b55a6c1c Fix potential problems. https://forum.freecad.org/viewtopic.php?t=70256#p762073 2024-05-27 11:57:26 -05:00
Kuzma30 bb4ef6dae2 Use for predefined filename string its Label value 2024-05-27 11:57:26 -05:00
Max Wilfinger 9d0320198f Revert UI command change in Sketcher and PartDesign 2024-05-27 11:51:02 -05:00
dzid26 61e5c27065 Enforce OpenMP version 4.0 2024-05-27 11:44:05 -05:00
efferre79 4d4f3e6798 add horizontal scrollbar to startpage
On systems with legacy monitors the display might be not as large as needed to display completely the start page. In that case the user is forced to use the keyboard to scroll horizontally the start page.
2024-05-27 11:43:39 -05:00
PaddleStroke 6bbf61b1f2 Sketcher: Fix copy of geo constrained to axis. Fixes #14233 2024-05-27 11:37:33 -05:00
David Carter 7d3f6e2ad1 Materials: Editor UI enhancements
When creating a new material, assigning the basic
rendering model to the material resulted in an all
black color. This will now be assigned the default
color as specified in the preferences.

The name of the material Properties tab has been
changed to Physical for improved consistency in
the user interface.
2024-05-27 11:35:00 -05:00
Yorik van Havre b057e6eb74 Draft: Enable TPN in SelectPlane - fixes #14196 2024-05-27 11:29:29 -05:00
Max Wilfinger 0be1c02e96 Update icons for consistency 2024-05-27 11:28:24 -05:00
Syres916 e7c11a01be [Sketcher] Change HeadlightIntensity entering and exiting Edit Mode (#14013)
* [Sketcher] Change HeadlightIntensity entering and exiting Edit Mode

* [Gui] Fix Lint Warning

* [Sketcher] Fix Lint Warning

* [Sketcher] Remove duplicate parameter check

* [Gui] Add const
2024-05-27 11:27:11 -05:00
Max Wilfinger 904d689218 Adjust shaft wizard icon to match other Part Design icons 2024-05-27 11:24:21 -05:00
Chris Hennes fc0f9ba83a Merge pull request #14202 from bgbsww/bgbsww-toponamingFixSubShapeBinder
Toponaming fix sub shape binder and restore multishape tests
2024-05-27 11:19:31 -05:00
Yorik van Havre 43e83b46b7 BIM: Fixed missing import in TDView - #14224 2024-05-27 11:13:13 -05:00
Yorik van Havre a4f65b3288 BIM: Fixed more wrong resource loading - #14210 2024-05-27 11:12:44 -05:00
Yorik van Havre a9e4056597 BIM: improved IsActive behaviour - fixes #14061 2024-05-27 11:10:36 -05:00
marcuspollio 4e0fa389b3 UI : update zoom-all.svg icon
Following PR 13932 (based on Forum and Discord discussions)

Second PR
2024-05-27 11:08:09 -05:00
hlorus 806610743d [MeasureGui] Make initial measurement placement zoom independent 2024-05-27 11:07:19 -05:00
mos 47ce19e02b [MeshPart] clean
removed old commented code.

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

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

revert comments

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

for more information, see https://pre-commit.ci
2024-05-27 11:06:30 -05:00
FEA-eng 10715056bb Update Command.cpp 2024-05-27 11:03:19 -05:00
marioalexis dd95fec1fa Fem: Update ReferenceNode property from task dialog - fixes #14172 2024-05-27 11:02:59 -05:00
dependabot[bot] 0de07a9fc4 ---
updated-dependencies:
- dependency-name: requests
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-27 10:57:45 -05:00
Jacob Oursland 33b163da22 Conda: Remove Qt WebEngine. 2024-05-27 10:56:41 -05:00
Chris Hennes 3a080fcc6d Merge pull request #13968 from marcuspollio/UI-TaskPanels-cleanup-1
UI : Task panels cleanup - Sketcher and Part Design headers
2024-05-27 10:56:07 -05:00
0penBrain b9db90ea20 Gui: offer possibility to editing view provider to handle "Select All" command 2024-05-27 10:52:00 -05:00
David Carter 51be8e7b4e Material: Appearance and Material inspectors
Dialogs to view the Appearance and Material properties of an object

These inspectors are intended to be used when debugging Appearance and
Material issues in a model.

The Appearance inspector displays the appearance properties of an
object. This will be more useful once PR 13792 is merged which migrates
parts to use ShapeAppearance instead of DiffuseColor. This shows each
of the appearance properties per face for the object.

The Material inspector shows the material, models, and properties
assigned to a model. It displays useful debugging information such as
the UUID and file paths associated with eacch of the items. This is
useful when finding and resolving model conflicts.

The material inspector now gives the option of copying the information
to the clipboard.
2024-05-27 10:50:35 -05:00
Pieter Hijma 0229715002 AddonManager: Support selecting addon on start 2024-05-27 10:47:52 -05:00
Jiří Mácha 9d2f72a34f Missing property Object1 or Object2 of fixed joint causing crash (#13912)
* Assembly: removal of object of fixed joint causing crash

FreeCAD is crashing if the 'Object'
property of fixed joint (Assembly/Joints/Fixed/Joint Connector 1/Object1 or
Assembly/Joints/Fixed/Joint Connector 2/Object2) is manually removed.

Steps to reproduce:

 - make simple Assembly e.g. of two cubes with Fixed joint
 - Select Fixed joint in the tree and go-to property 'Data' tab
 - Select 'Object1' or 'Object2' of the 'Joint Connector 1' or 'Joint Connector 2'
   and remove this reference
 - click by your pointing device (mouse) to the arbitrary other property

The FreeCAD will crash here because the call
App::DocumentObject* obj = getObjFromNameProp(joint, propObjName, propPartName);
will return NULL pointer.

This problem is similar to the
4b5d079e6b.

* Assembly: fixed warning message text

The warning message text is not describing two cases which can happen,
but only one - property of specific joint.

* Assembly: avoiding possible crash in rack pinion joint code

Similar problems:

07c6df61f8456a6b02e88b369dcef5643ac1574e
and
4b5d079e6b

were causing real crashes (Linux + Sway Wayland compositor) when
Fixed joint type was used.

This patch tries to avoid the same situation, but now for the
rack pinion joint type.

The returned pointer value (part1 and obj1) can get NULL pointer value
and is used in the code:

    if (obj1->getNameInDocument() != part1->getNameInDocument()) { ....

a few lines later.
2024-05-27 10:46:02 -05:00
PaddleStroke 48f43429bb TechDraw: Enable snapping section views to their base views. 2024-05-27 11:44:31 -04:00
PaddleStroke babe4cc35f TechDraw: Remove TechDraw_ExtensionPosChainDimensionGroup and TechDraw_ExtensionCascadeDimensionGroup from toolbar since we can snap. 2024-05-27 11:44:31 -04:00
PaddleStroke a9d690e26d TechDraw: Introduce dimension snapping 2024-05-27 11:44:31 -04:00
PaddleStroke d201fb25db TechDraw: Dimension: Allow snapping label to its center position. 2024-05-27 11:44:31 -04:00
PaddleStroke 45332a275c TechDraw: Enable snapping views to align them with other views vertically and horizontally. 2024-05-27 11:44:31 -04:00
Chris Hennes b5d7d989c5 Merge pull request #14082 from Ondsel-Development/issue_13522_fix_read_lock
Core: Add read lock to fix for possible race conditions reading/writing config files
2024-05-27 10:41:23 -05:00
Chris Hennes 1b43c78010 Merge pull request #14096 from maxwxyz/external-wb-icons
Addon manager: update external WBs icons
2024-05-27 10:39:11 -05:00
Max Wilfinger d9b9b58681 Add details for UI changes 2024-05-27 10:38:30 -05:00
Max Wilfinger 6074bcf1ff replace selection filter icon with no filter icon 2024-05-27 10:37:24 -05:00
Chris Hennes 7136c46620 Merge pull request #13869 from Ondsel-Development/sk_redpoints_perp
Sketcher: Fixes red points issue #13849
2024-05-27 10:36:27 -05:00
marioalexis 459a5563f2 Fem: Increase size of reference node symbol in rigid body constraint - fixes #14133 2024-05-27 10:34:12 -05:00
marioalexis 0041ec220f Fem: Don't hide input filter with DataAtPoint and DataAlongLine - fixes #14135 2024-05-27 10:31:28 -05:00
wmayer e3e830504d CAMSim: Fix build failure with Qt6 2024-05-27 14:00:46 +02:00
Roy-043 7d08671392 Draft: update fuse behavior in facebinder.py
Fixes #14242.

In the current dev fusing an empty shape with a face or solid no longer works (probably introduced with #14169). The reason for starting with an empty shape was the assumption that the end result would then always have a default placement. But that is only correct if multiple objects are fused.

In the new version of the code fusing no longer starts with an empty shape. The default placement issue is solved by always returning a compound.

Additionally the value for the Area property is now taken after offsetting and fusing the faces.
2024-05-27 12:16:24 +02:00
wmayer 5696ee821c Sketcher: Fixes #14240 2024-05-27 12:09:35 +02:00
Furgo e3c74954c1 [BIM] Fix translate function typo for IfcOpenShell installer 2024-05-27 10:45:59 +02:00
wandererfan 7f26c17a3b [TD]prevent recalculation of dimension type during repair 2024-05-26 15:30:24 -04:00
wandererfan 5b17a73d71 [TD]allow multiple primitives in complex selections 2024-05-26 15:30:24 -04:00
sliptonic f41c634a23 add combobox selector to toolbit dock (#14297)
Create a more useful tooltip

checkpoint

fix missing dovetail shape

CAM tool fix

remove image stuff
2024-05-26 13:35:50 -05:00
obelisk79 b6c214b9e5 Resolves missing include for GCC14 compilers 2024-05-26 10:11:50 -04:00
Chris Hennes d4f780782d Update translations
Arch->BIM is a WIP
2024-05-25 19:11:51 -05:00
Yorik van Havre d62256ca51 BIM: Fixed grid settings in setup tool - fixes #14215 (#14231) 2024-05-25 22:11:02 +02:00
Yorik van Havre 0265927226 BIM: Fixed decimal separator error - Fixes #14208 (#14229) 2024-05-25 22:04:37 +02:00
Yorik van Havre 73427f3b88 BIM: Removed duplicate Part icons - fixes #14232 (#14235) 2024-05-25 22:02:47 +02:00
paul eab94048b0 [Arch] Fix bug at Arch.py : makeStairs & makeRailing (#14271)
Bug reported at:
https://github.com/FreeCAD/FreeCAD/issues/14262
2024-05-25 21:50:08 +02:00
wandererfan 502207db31 [TD]Fix selection issue in DimensionRepair 2024-05-24 18:42:58 -04:00
wmayer 9b0026bbe1 Port python modules documentation to Py 3.11
Fixes #14148: Automatic python modules documentation index page broken
2024-05-24 20:34:12 +02:00
wmayer b0acb563ea Gui: refactor PythonOnlineHelp 2024-05-24 20:34:12 +02:00
bgbsww db48a78d5a Toponaming used mapped index to find shape. fix #14194 2024-05-23 23:48:34 -05:00
Zheng, Lei b7bbc2ed11 Toponaming: Missing code for shapebinder 2024-05-23 09:47:25 -04:00
WandererFan b71c2a3278 [TD]Cosmetic function overhaul (#14216)
* [TD]Cosmetic geometry and tools update

- all cosmetics to store geometry in same form
- all cosmetics to survive scaling and rotation
- extension functions to survive scaling and rotation

* [TD]overhaul leader point storage and editing

- add py routine makeLeader(points)

* [TD]add leader conversion utility

* [TD]Set Leader RotateWithView default to true

* [TD]fix intersection vertex position

* [TD]add CosmeticEdge::makeLineFromCanonicalPoints

* [TD]fix 2 Extension tools

- positioning in DrawCosmeticCircle
- mishandling of points in execLineParallelPerpendicular

* [TD]Remove duplicate constexpr

* [TD]fix 2x Cosmetic arc tools

* [TD]refactor LineFormat out of Cosmetic

* [TD]move cosmetic appearance settings to LineFormat

* [TD]remove 2 unused methods

* [TD]apply format to blue line & circle tools

* [TD]fix ballon arrowhead does not rotate with view

* [TD]fix CosmeticCircle3Points

* [TD]allow multiple cosmetic object deletions

* [TD]fix extend/shorten centerline
2024-05-23 09:41:42 -04:00
André Althaus 359c58f2ef Remove feature selection dialog for transformed features
The dialog is no longer necessary because without a selection the
transformed features default to "Transform body".
2024-05-23 12:40:41 +02:00
André Althaus 9ed12bfb30 Set TransformMode to "Transform body" if no features are selected on creation of transform features 2024-05-23 12:23:32 +02:00
André Althaus 5dca1d3e04 Change MultiTransform child detection to the previous method
isMultiTransformChild() tried to do a better job by checking
for a parent MultiTransform in the dependency list, but this
is unusable during initialization, when these dependencies are
not established.

The method is changed back to the previous one which only checks for
default property values. This will give false results during
initialization but not cause problems.
2024-05-23 12:23:32 +02:00
André Althaus 0b5e993b90 Fix solid feature detection for "Transform Body" mode
Because the Origins property is empty in "Transform Body" mode, the
features are detected as not solid.
This messes with the feature order on insertions and moves.

This is fixed by calling the isMultitransformChild() method of the
Transformed features instead of checking the Origins property in the
Body code.
2024-05-23 12:23:32 +02:00
André Althaus 648faf5d36 Fix ambiguous setValue() call 2024-05-23 12:23:32 +02:00
André Althaus b4b41a9428 Remove unused function 2024-05-23 12:23:32 +02:00
André Althaus a93e94dabb Modernize code 2024-05-23 12:23:32 +02:00
André Althaus 067c774292 Format code with clang-format 2024-05-23 12:23:28 +02:00
André Althaus a6c061e19a Add a combo box to the transform featues UI for the TransformMode 2024-05-23 12:22:26 +02:00
André Althaus 45bb606095 Add a TransformMode property to the pattern features
This property controls wether the selected features tool shapes are
transformed or the whole base feature's shape.
2024-05-23 12:22:26 +02:00
André Althaus 4d9b89e265 Add function to check if a Transformed feature is a sub-feature of MultiTransform
This will check the in-list instead of relying on an empty Originals property.
2024-05-23 12:22:26 +02:00
mos d12635246f [gui] code clean
.
2024-05-23 11:34:15 +02:00
Konstantinos Melissaratos 35e9756389 Update FeaturePartFuse.cpp
Fixed typo error
2024-05-23 11:31:37 +02:00
Konstantinos Melissaratos ead8ad8339 Adding parallel running to the multi_fuse operation 2024-05-23 11:31:37 +02:00
wmayer 83d91d61c6 Sketcher: Fix accessibility of some group commands
The affected commands are:
* Sketcher_CompLine
* Sketcher_CompCreateArc
* Sketcher_CompCreateConic
* Sketcher_CompCreateFillets
* Sketcher_CompCurveEdition
* Sketcher_CompSlot
* Sketcher_CompHorVer
* Sketcher_CompToggleConstraints
2024-05-23 10:14:46 +02:00
wmayer 0484592835 Fix accessibility of some group commands
Several group commands are active but require an active document to work. This PR overrides the method isActive() to
disable the commands if no active document exists.

The affected commands are:
* Std_ViewGroup
* Std_LinkActions
* PartDesign_CompDatums
* PartDesign_CompSketches
2024-05-23 10:14:46 +02:00
wmayer 68889f05ec PathSimulator: Fix many compiler warnings 2024-05-23 10:12:13 +02:00
Roy-043 d90a78391b BIM: Fix BIM tutorial issues
UI file is now in a resources file.
Translate function was not defined.

Forum topic:
https://forum.freecad.org/viewtopic.php?t=87830
2024-05-23 09:37:00 +02:00
mosfet80+ c168ac3e47 [Cam] fix warning
removed unused variables
2024-05-23 08:07:23 +02:00
hasecilu 890d9aea4c Help: Fix typo whlle -> while
Detected by Carlo D on CrowdIn
2024-05-23 08:07:07 +02:00
wmayer 9ebbd2a6df Import: Replace normal message with log message when loading a STEP file 2024-05-23 00:49:10 +02:00
Martin Rodriguez Reboredo ccaee18917 Gui: Fix NaviCube for Qt6 2024-05-22 13:57:59 -04:00
Shai Seger ff40ef3586 New Cam simulator based on low level OpenGL functions (faster and more precise) (#13884)
* Initial opengl test window

* added core files

* some fixes for code comparability with other platforms

* more compatibility cleanup

* add missing opengl libraries

* Basic simulation window works!

* try using different define

* fix wrapper for better compatibility

* Gui is now operational

* Finally SIM works on actual freecad models

* support drill commands

* cleanup python script and add tool profile generation

* Now using actual tools specified in the operation.

* support mouse wheel and freecad-style 3d navigation

* Support accuracy gauge

* remove endsimulation reference

* show simulation speed indicator

* apply clang-format

* apply changes suggested by code review

* gui items are loaded via QT resource system instead of hard coded

* use vector instead of pointer to pass tool profile points

* Fix some more formatting errors.
2024-05-22 10:16:34 -05:00
Yorik van Havre d119dc574b BIM: Fixed windows autohosting - fixes #14197 2024-05-22 15:53:59 +02:00
wmayer 1da8e17ffa Sheet: Make ViewProviderSpreadsheet.h self-contained
and fix a few minor issues
2024-05-22 13:32:05 +02:00
Yorik van Havre 3fd1b62aa1 BIM: Reapplied #13648 2024-05-22 10:58:23 +02:00
pre-commit-ci[bot] 2b619949eb [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2024-05-22 10:21:10 +02:00
mos bf1f16ac53 [fem] clean
clean unused code
2024-05-22 10:21:10 +02:00
paullee de40658f3d [ArchCurtainWall] Add OverrideEdges & ArchSketch Support
- Add Overridges property to let user to select particular edge(s) in a Sketch / ArchSketch to use create the shape of the Arch Curtain Wall (instead of using all edges by default).

ENHANCEMENT by External 'ArchSketch' Add-on:

- GUI 'Edit Curtain Wall' Tool is provided in external Add-on ('SketchArch') to let users to select the edges interactively.
- The selection of edges is 'Toponaming-Tolerant' if ArchSketch is used in Base (and SketchArch Add-on is installed).
- Warning : Not 'Toponaming-Tolerant' if just Sketch is used.
- Property is ignored if Base ArchSketch provided the selected edges.

Forum Discussion:

- https://forum.freecad.org/viewtopic.php?p=756554#p756554 [ ArchSketch ] - Curtain Wall, Slab, ArchWall etc. on Same ArchSketch
2024-05-22 09:52:15 +02:00
Yorik van Havre 7b369599aa BIM: Restored original copyright header of ArchCutPlane command 2024-05-22 09:20:23 +02:00
Yorik van Havre d28a797119 BIM: Reworked preferences and setup screens
* Reworded welcome screen, removed "update" section
* Removed Webtools and Start option from setup dialog - fixes #14179
* Renamed Arch preferecnes to BIM - fixes #14121
* Moved NativeIFC preferences to BIM - fixes #14137
2024-05-22 09:18:41 +02:00
bgbsww 12619b2c2d TopoNaming: restore defenses against multisolids when enabled 2024-05-21 21:42:05 -04:00
bgbsww febe5c3d9e Toponaming: fix shapebinder selection error 2024-05-21 21:41:26 -04:00
wandererfan 6b5f829ca2 [TD]fix Win CI fail a/c OCC Handle style 2024-05-21 14:14:16 -04:00
wandererfan 5003dc2733 [TD]fix conversion of BSpline to Circle/Arc 2024-05-21 14:14:16 -04:00
wandererfan 40a1ac8c8b [TD]fix autocorrect handling of older documents 2024-05-21 14:14:16 -04:00
mosfet80+ 202aa359b3 [mod] removed unused variable
removed unused variable
2024-05-21 13:01:34 +02:00
Pieter Hijma 7e0db8181d Core: Adapt to new-style editor connect()
Use the new-style connect() in createEditor that has been introduced by
\#14004
2024-05-21 11:04:19 +02:00
Pieter Hijma ec841ed6d4 Core: Add VarSets to Groups
If a Group is selected, add the VarSet to the group.
2024-05-21 09:59:49 +02:00
Pieter Hijma 5670777eeb Core: Add a command to add variable sets 2024-05-21 09:59:49 +02:00
Pieter Hijma 0f9a8f4fef Core: Add a dialog to add properties to a VarSet 2024-05-21 09:59:49 +02:00
Yorik van Havre 58083879b7 BIM: Allow to export groups as assemblies 2024-05-21 08:52:03 +02:00
hoshengwei 16ffcfecfc fix BIM Project Manager import error 2024-05-21 08:16:56 +02:00
marcuspollio 5c84ce7317 Resolve conflicts 2024-05-21 10:51:07 +12:00
bgbsww 040502280f Toponaming: Cleanup verified face calls 2024-05-20 17:48:01 -05:00
Chris Hennes e0a0a2da7d Merge pull request #13705 from chennes/enableToponamingFix
Toponaming: Enable FC_USE_TNP_FIX code
2024-05-20 17:47:18 -05:00
marcuspollio 1209d769ca Merge remote-tracking branch 'upstream/main' into UI-TaskPanels-cleanup-1 2024-05-21 10:36:10 +12:00
Chris Hennes f1690821a3 Toponaming: Test fixes 2024-05-20 12:40:52 -05:00
Chris Hennes 9bc5675ab3 Correct flag 2024-05-20 12:40:52 -05:00
Chris Hennes 895803a8cb Toponaming: Enable FC_USE_TNP_FIX code 2024-05-20 12:40:52 -05:00
bgbsww 1eac717f8f Toponaming: replace MultiFuse implementation to fix face colors 2024-05-20 12:40:43 -05:00
PaddleStroke 7c2a95bb0d Assembly: JCS selection: cones surfaces offers the cone's apex. Fixes #13958 2024-05-20 12:00:17 -05:00
marcuspollio 7ee83f9610 BIM : fix typos in UI strings 2024-05-20 11:59:07 -05:00
marcuspollio 7e7f9fc605 BIM : update icons with Document element 2024-05-20 11:58:24 -05:00
Michael K Johnson 42768a44a5 Fix typo in TechDraw tooltip 2024-05-20 11:57:40 -05:00
Chris Hennes b60dd5b882 Merge pull request #13691 from Ondsel-Development/prop-view-menu
Gui: Rearrange the property view context menu
2024-05-20 11:54:00 -05:00
marcuspollio 7d2599cb75 UI : Update Spreadsheet icons (#13996) 2024-05-20 11:51:33 -05:00
Chris Hennes 74db404039 Merge pull request #14074 from NomAnor/pd-icons
Change PartDesign Pad and Revolution tree icons
2024-05-20 11:45:16 -05:00
mosfet80 8acbeb91b3 mod: clean ImportOCAF.cpp
clean  ImportOCAF.cpp
2024-05-20 11:44:08 -05:00
wmayer 27b1caa82b Sketch: Refactor Sketch::updateGeometry() 2024-05-20 11:38:06 -05:00
wmayer 6f76ccfb83 Gui: Restore previous width when closing task dialog
This fixes #11016
2024-05-20 11:35:59 -05:00
Florian Foinant-Willig 5690eb8c75 PartDesign: hide Suppressed property with FC_USE_TNP_FIX flag 2024-05-20 11:32:34 -05:00
FEA-eng 6786fed067 Update checksanalysis.py 2024-05-20 11:28:50 -05:00
Chris Hennes 1b0dba3241 Merge pull request #13906 from Rexbas/align-camera
Align camera to faces and edges
2024-05-20 11:28:24 -05:00
FEA-eng 0c6ae9672d Update TaskFemConstraintRigidBody.ui 2024-05-20 11:25:54 -05:00
Kacper Donat 90a77789a3 chore: Add myself (kadet) as Contributor 2024-05-20 12:25:36 -04:00
Kacper Donat 3f2d5b83b5 Gui: Add ability to disable single-solid rule by default 2024-05-20 12:25:36 -04:00
Kacper Donat f8c47b55cb PartDesign: Introduce ability to disable single-solid rule
This adds "SingleSolidRuleMode" enum that controls if PartDesign will
enforce singular solid. By default the single-solid is enforced so
nothing changes for the user, it must be explicitly disabled by setting
new Allow Compound boolean property on a given body.

Default for this value is controled using user parameter under
Mod/PartDesign/AllowCompoundDefault
2024-05-20 12:25:36 -04:00
Kacper Donat 935bdf9a0f PartDesign: Refactor single-solid rule enforcement
This refactors a single solid rule checking code from using the solid
count directly to using well abstracted `isSingleSolidRuleSatisfied`
method. This makes code easier to read and is the basis for next step
which is allowing users to disable this checks.
2024-05-20 12:25:36 -04:00
wandererfan f937d4579a [TD]allow custom format for hidden lines 2024-05-20 12:25:20 -04:00
Florian Foinant-Willig 42a660a893 Gui: fix SoDatumLabel arrow disappear 2024-05-20 11:19:56 -05:00
Max Wilfinger 3e3c9d36b1 make the smart dimension tool the default one 2024-05-20 11:18:59 -05:00
PaddleStroke 7075e3c1d5 Sketcher: Fix line to arc point distance movement problem 2024-05-20 11:15:56 -05:00
Kacper Donat f040c0820c Gui: Fix ToolBarManager review remarks 2024-05-20 11:12:38 -05:00
PaddleStroke 0c53340746 Sketcher: Fix distance arc helper : should appear only if constraining the edge. 2024-05-20 11:11:27 -05:00
André Althaus a09dcd917a Gray out all columns in the tree if an item is invisible 2024-05-20 11:04:45 -05:00
Chris Hennes dec0b7b0ef Merge pull request #13627 from wwmayer/fix_datum_label
Gui: Fix datum label
2024-05-20 11:03:38 -05:00
marioalexis 7c34978f0b Fem: Highlight active Analysis according to user defined color 2024-05-20 11:01:18 -05:00
marioalexis84 33e4a5baed Fem: Improve constraint section print (#14046)
Co-authored-by: Chris Hennes <chennes@pioneerlibrarysystem.org>
2024-05-20 11:00:48 -05:00
marioalexis a73d081a46 Fem: Load heat flux from CalculiX results - fixes #12117 2024-05-20 11:00:19 -05:00
hlorus b40fe64db3 PartGui: Remove remaining measure "clear all" and "toggle delta" commands 2024-05-20 10:56:43 -05:00
Chris Hennes 53da36a93a Merge pull request #14011 from hlorus/measure-icons
Add measurement icons
2024-05-20 10:54:06 -05:00
PaddleStroke 908bbfeb21 Tree Context menu: add 'go to linked object' action for links. Fixes #12167 2024-05-20 10:51:03 -05:00
Max Wilfinger 748306dcaf Update assembly icons to be consistent with main updates.
Add commands to menu/toolbar.
2024-05-20 10:46:45 -05:00
Chris Hennes 8157504bdd Merge pull request #14004 from wwmayer/prop_item
Gui: move to new-style connect() in createEditor()
2024-05-20 10:45:54 -05:00
David Carter db3701193b Material: Material API fixes
Corrects an issue in the API where a new material may not have a UUID.
Corrected the test case to reflect the changes and better document the
process.

Added a test case for material filters.
2024-05-20 10:43:02 -05:00
Kacper Donat 26300e0d4e Gui: Add Std_ReloadStyleSheet command
This adds a command that will reload currently active stylesheet - a must have for stylesheet developers
2024-05-20 10:41:23 -05:00
Max Wilfinger dd012f366a Update Part Design toolbars.
Command group for datum. Removed ShapeBinder. Added CheckGeometry.
2024-05-20 10:39:32 -05:00
Chris Hennes e30138e110 Update PRIVACY_POLICY.md to mention macros (#13986)
* Update PRIVACY_POLICY.md to mention macros

* Address review comment
2024-05-20 10:36:16 -05:00
Max Wilfinger 8adb57d75f Unify document icons according to artwork guidelines 2024-05-20 10:35:39 -05:00
Chris Hennes 194e5943e7 Gui: Add privacy policy to About (#13987) 2024-05-20 10:34:10 -05:00
Max Wilfinger 953fe8ee70 add Gears WB icon 2024-05-20 14:34:15 +02:00
Pieter Hijma 94312fe8cf Gui: Make one level + status submenu
Based on a discussion in the PR, make the menu such that there is only
one level except for the status flags.  This makes showall unambiguous
only meaning that it shows the hidden properties instead of showing all
the hidden properties and all options of the menu.  "Show all" has
therefore been renamed to "Show hidden".
2024-05-19 23:25:45 +02:00
Max Wilfinger f814ef63aa update addon manager icons for legibility on dark themes 2024-05-19 16:24:31 -05:00
Pieter Hijma 0202305ced AddonManager: Adapt to Qt6/PySide6
QtNetwork.QNetworkRequest has a small API change that is addressed in
this commit.
2024-05-19 16:20:04 -05:00
marcuspollio 8944dd5c53 Merge remote-tracking branch 'upstream/main' into UI-TaskPanels-cleanup-1 2024-05-20 09:14:08 +12:00
Pieter Hijma e3d4bcef3d Gui: Rearrange the property view context menu 2024-05-19 21:52:15 +02:00
wandererfan 55968bbf6c [TD]assorted Preference updates
- section line convention label
- remove superfluous save/restore on changeEvent
- change default scrub count
- add preference for default symbol dir
- add preference for display of section cut line
2024-05-19 09:42:47 -04:00
André Althaus 458d53c027 Use Body toolbar icon for the tree 2024-05-19 12:17:16 +02:00
André Althaus 428b8ba0bc Remove unused icons 2024-05-19 12:16:56 +02:00
André Althaus 234bad1d0b Replace remaining yellow Part icons with blue ones 2024-05-19 12:12:48 +02:00
André Althaus 9b4c4ce60c Replace the yellow Part primitive toolbar icons with the blue tree icons 2024-05-19 12:12:48 +02:00
André Althaus 86a865e7e0 Make "Sketch" in Pad icon red
In other icons the support geometry is red and this mirrors the other icons
2024-05-19 12:12:48 +02:00
bgbsww 9decb98c71 Toponaming: adjust tests 2024-05-18 14:12:04 -05:00
Reqrefusion a17bf278c4 Boring changes made to better suit the guide and keyline 2024-05-18 09:23:57 -04:00
HowThatWorks 6777a43614 Added freecad:autofill attribute to ISO templates 2024-05-18 09:23:20 -04:00
Roy-043 bfbe28f7a5 Draft: Draft_Hatch workaround for TD edge length limit (#14114)
Edges longer than ca. 10m are considered 'crazy' in the TD Workbench. Hatch patterns are also checked. As a workaround some intermediate scaling is applied.

Addionally: `transformShape` instead of `transformGeometry`. The latter results in B-splines.
2024-05-18 11:39:08 +02:00
Roy-043 af36a49d68 Draft: improved IsActive behavior (#14103)
Related issue: #14061.
2024-05-18 11:38:38 +02:00
bgbsww 2657bbee4d Minor test tweaks, and small fixes to pass tests 2024-05-17 19:14:01 -05:00
wandererfan 2d2977abaf [TD]fix #13992 - compile warnings 2024-05-17 18:07:25 -04:00
wandererfan e484db2a03 [TD]revert to v0.21 hatch exporting 2024-05-17 18:06:47 -04:00
Max Wilfinger 3a0152b076 Update GitHub PR issue template to BIM rename 2024-05-17 19:06:50 +02:00
Max Wilfinger e3eea8bb5a Update GitHub PR label action for BIM rename 2024-05-17 19:06:50 +02:00
Max Wilfinger 9c462700c9 update icons for external WBs in the addon manager 2024-05-17 18:05:58 +02:00
Yorik van Havre c520c49210 BIM: Renamed duplicate DialogIfcProperties - fixes #14090 (#14091) 2024-05-17 17:40:50 +02:00
wmayer e47f6af9d7 Gui: Fix memory leak 2024-05-17 15:54:08 +02:00
WandererFan 7408aa9a77 Merge pull request #14080 from edi271/IssueExposeDimExtentInPython02
[TD]Expose DimExtent in Python (2nd attempt, replaces PR #13976)
2024-05-17 09:27:42 -04:00
bgbsww 7f4d7a20f1 Simplify offset tests 2024-05-17 08:10:43 -04:00
wmayer e9c95b131b Assembly: Fix possible build failure with PCH 2024-05-17 13:12:24 +02:00
PaddleStroke 6bac37db2e Update DrawSketchDefaultHandler.h 2024-05-17 12:34:28 +02:00
PaddleStroke c43658ea89 Sketcher: fixes #13999 2024-05-17 12:34:28 +02:00
Yorik van Havre e7433585cf Arch: Fixed trackers ending too soon - fixes #13915 2024-05-17 12:14:25 +02:00
Pieter Hijma 1f3e7bc0da Core: Maintain the lock while reading config file 2024-05-17 11:29:49 +02:00
edi271 082092c51b [TD]Expose DimExtent in Python 2024-05-17 10:55:56 +02:00
André Althaus f662357537 Change PartDesign Pad and Revolution tree icons
Use the same icons as the toolbar buttons.
2024-05-17 09:09:46 +02:00
Max Wilfinger 18c85a58ae Update icons for legibility and consistency 2024-05-16 21:29:16 -04:00
MisterMakerNL cb6901f1e0 Small fix to issue in the menu
Small fix to issue in the menu
2024-05-16 21:27:50 -04:00
wmayer c00bcdfb4c Gui: refactor SoDatumLabel::GLRender() 2024-05-16 21:24:57 -04:00
wmayer 3ade47cbe5 Gui: fix linter warnings in SoDatumLabel 2024-05-16 21:24:57 -04:00
wmayer a6ef045617 Gui: Fix possible crashes with SoDatumLabel
There are possible crashes in the methods:
* SoDatumLabel::getLabelTextCenter()
* SoDatumLabel::generatePrimitives()

The two methods expect three points but do not check that they are defined. Depending on the use case of the SoDatumLabel only
two points may be defined. Accessing a third point is undefined behaviour.
2024-05-16 21:24:57 -04:00
FEA-eng 5b0be7f2fe FEM: Further improvement of the misleading constraint descriptions regarding the geometry selection (#14002)
* Update TaskFemConstraintFixed.ui

* Update TaskFemConstraintDisplacement.ui

* Update TaskFemConstraintSpring.ui

* Update TaskFemConstraintForce.ui

* Update TaskFemConstraintPressure.ui

* Update TaskFemConstraintHeatflux.ui

* Update TaskFemConstraintTemperature.ui
2024-05-16 21:20:16 -04:00
Chris Hennes 408aee3ad7 Merge pull request #13900 from marioalexis84/fem-constraint_rigid_body
Fem: Add constraint rigid body
2024-05-16 21:19:30 -04:00
Furgo a094bf0df7 Update grid size nomenclature (#13093)
* Update grid nomenclature to major/minor. Closes #13090
2024-05-16 22:24:04 +02:00
Roy-043 fa79c9d987 Draft: Draft_Split fix unhandled exception (#14059)
Fixes #13951.

Regression introduced by #12261.
2024-05-16 22:02:56 +02:00
Roy-043 33486369a5 Draft: Draft_Slope input did not obey Decimals pref (#14060)
Forum topic:
https://forum.freecad.org/viewtopic.php?t=87686
2024-05-16 22:02:25 +02:00
marioalexis e307595586 Fem: Update CalculiX writer of the constraint rigid body 2024-05-16 12:51:37 -05:00
marioalexis 35db988ca0 Fem: Update task dialog of the rigid body constraint 2024-05-16 12:51:37 -05:00
marioalexis 03dc234970 Fem: Update view provider of the rigid body constraint 2024-05-16 12:51:37 -05:00
marioalexis b799b390b9 Fem: Change properties of the rigid body constraint 2024-05-16 12:51:37 -05:00
marioalexis 505579dd8d Fem: Add transform for extra symbol in constraints 2024-05-16 12:51:37 -05:00
FEA-eng f1547eaff4 Fem: Add ConstraintRigidBody icon 2024-05-16 12:51:37 -05:00
FEA-eng 4c0ae6122f Base: Add moment unit 2024-05-16 12:51:37 -05:00
FEA-eng 3739d06528 Fem: Update writer of the constraint rigid body 2024-05-16 12:51:37 -05:00
FEA-eng ab6afeb261 Fem: Update properties of ConstraintRigidBody 2024-05-16 12:51:37 -05:00
Ajinkya Dahale 4feb519bc9 FEM: Add unit test for new ConstraintRigidBody object 2024-05-16 12:51:37 -05:00
Ajinkya Dahale cc6e59eacc FEM: Add rigid body constraint to ccx writer 2024-05-16 12:51:37 -05:00
Ajinkya Dahale 5ae3c93fc3 FEM: Make connections with rigid body gui and app 2024-05-16 12:51:37 -05:00
Ajinkya Dahale cefbb17c17 [FEM] Add rigid body constraint 2024-05-16 12:51:37 -05:00
Yorik van Havre acecc2c435 BIM: Fixed leftover bugs after the big move 2024-05-16 17:23:10 +02:00
Yorik van Havre bd143feae2 BIM: Added ifcopenshell update command 2024-05-16 17:23:10 +02:00
Yorik van Havre ffe71d2221 BIM: Fixed project creation and refactored status bar toggle system 2024-05-16 17:23:10 +02:00
Yorik van Havre b4bddb5b80 BIM: Fixed status bar display and project command 2024-05-16 17:23:10 +02:00
Yorik van Havre 2423159d69 BIM: Fixed resources location in build dir 2024-05-16 17:23:10 +02:00
Yorik van Havre 0d0ae22023 BIM: Added missing resource for welcome screen 2024-05-16 17:23:10 +02:00
Yorik van Havre 76ad87d464 CMAKE: Do not strip lines when creating python resources 2024-05-16 17:23:10 +02:00
Yorik van Havre fb1a64f3d6 BIM: Removed ts files from resource 2024-05-16 17:23:10 +02:00
Yorik van Havre 0a6ff497de BIM: Fixed resource contents 2024-05-16 17:23:10 +02:00
Yorik van Havre 40f33f0f73 BIM: misc tool adjustments
- Level offest can now be negative
- Auto wall grouping is now off by default
- Shape2DView (BIM version) now sets InPlace to False
- The Axis tool starts with only one axis by default
- Sketches initiated with the BIM Sketch command take Draft colors
- Snapping WP shortcuts were changed to avoid conflicts
2024-05-16 17:23:10 +02:00
Yorik van Havre 3593946d1c BIM: Fixed leftover bugs 2024-05-16 17:23:10 +02:00
Yorik van Havre 76e901861d BIM: Renamed Arch to BIM 2024-05-16 17:23:10 +02:00
Yorik van Havre f58e1120df Start: Used BIM icon instead of Arch 2024-05-16 17:23:10 +02:00
Yorik van Havre b0501884f2 BIM - Converted arch files
- all commands are moved to bimcommands
- all make*() functions are moved to Arch.py
- Objects and ViewProvider definitions are left in Arch* files for backwards compatibility
2024-05-16 17:23:10 +02:00
Yorik van Havre bd1edd292a BIM - moved importers to subdir 2024-05-16 17:23:10 +02:00
Yorik van Havre ca7bbb5943 Added BIM and NativeIFC files 2024-05-16 17:23:10 +02:00
bgbsww ad7ceb8ba6 Toponaming: Fix point crash bug 2024-05-16 09:05:27 -05:00
Chris Hennes 9c961e8404 Revert "update icons for legibility on dark themes and update icons for WBs"
This reverts commit d2f381c379.
2024-05-16 09:02:18 -05:00
sliptonic a0e4184c73 fix minor bugs with sanity report and job visibility (#14043) 2024-05-16 07:27:45 -05:00
bgbsww b72a8c4222 Toponaming: Bring in Chamfer, Fillet code and add tests (#14035)
* Toponaming: bring in missing code fragments in Sketcher

* Toponaming: Fix infinite recursion, remove debug cruft, rough in fillet test

* Bring in missing code; fix chamfers

* Toponaming: Add code for fillets and test
2024-05-15 19:43:30 -04:00
wmayer 792cee1801 Mesure: Ignore ValueError exceptions in quick measure 2024-05-15 10:28:33 -04:00
Pieter Hijma 387a6da814 OndselSolver: Update OndselSolver for GCC 14 2024-05-15 08:54:08 -05:00
marcuspollio e7993e053f Address feedback 2024-05-15 14:27:18 +12:00
marcuspollio 0526257be5 Merge remote-tracking branch 'upstream/main' into UI-TaskPanels-cleanup-1 2024-05-15 13:45:43 +12:00
hlorus 030cdcfa5e MeasureGui: Add UMF folder icon
Co-Authored-By: Max Wilfinger <6246609+maxwxyz@users.noreply.github.com>
2024-05-14 17:55:21 +02:00
hlorus b3ea58a503 MeasureGui: Add icons
Co-Authored-By: Max Wilfinger <6246609+maxwxyz@users.noreply.github.com>
2024-05-14 17:55:06 +02:00
hlorus c797c146e9 Gui: Add icon support in SoFrameLabel 2024-05-14 17:55:06 +02:00
hlorus ae7a16f945 Measure Prefs: Set background default color to white 2024-05-14 17:53:56 +02:00
wmayer f3327475b9 Gui: move to new-style connect() in createEditor() 2024-05-14 15:58:44 +02:00
WandererFan cf57d0adc7 Merge pull request #14000 from wwmayer/td_fix_warning
TD: Fix several compiler warnings
2024-05-14 07:56:38 -04:00
wmayer 88216148ce Fix linter warnings 2024-05-14 12:06:15 +02:00
wmayer c7532cf496 TD: Fix several compiler warnings 2024-05-14 10:55:41 +02:00
bgbsww 869cb1f83b Toponaming: bring in missing code fragments in Sketcher 2024-05-13 15:47:44 -05:00
Bas Ruigrok 491f4ea114 Gui: Add alignToSelection() icon and add to toolbar
Co-authored-by: Max Wilfinger <6246609+maxwxyz@users.noreply.github.com>
2024-05-13 19:04:06 +02:00
Bas Ruigrok 3fae3fac63 Gui: Add alignToSelection() method and command 2024-05-13 19:04:06 +02:00
Bas Ruigrok fb1539f48e Part: Implement getCameraAlignmentDirection() for PartFeature
Returns normal of a face or direction of an edge
2024-05-13 19:03:56 +02:00
Bas Ruigrok 4c39b2f2bd App: Add getCameraAlignmentDirection() to GeoFeature 2024-05-13 19:01:38 +02:00
Johannes Wüller 0e24e121eb Fix backwards-compatible Qt6 warnings 2024-05-13 11:39:24 -05:00
WandererFan c12e1f8bc2 Merge pull request #13525 from Ondsel-Development/td_dimension
TechDraw: Smart dimension tool
2024-05-13 12:31:32 -04:00
MisterMaker 52605f164c New XP icons for Qsint dialog (#13697)
* new icons

Less kb more pixels what more do you want?

* small tweaks
2024-05-13 11:24:40 -05:00
Max d2f381c379 update icons for legibility on dark themes and update icons for WBs 2024-05-13 11:23:21 -05:00
wmayer 3a16d73253 Measure: Fix quick measure
* Create QuickMeasure in C++ instead of Python to avoid that it will be garbage collected
* Handle exceptions in case of invalid selections
* Refactor QuickMeasure class
* Fix linter warnings
2024-05-13 11:22:52 -05:00
Chris Hennes fef3a24187 Merge pull request #13914 from Roy-043/Draft-Draft_SetStyle-new-Material-handling
Draft: Draft_SetStyle new Material handling
2024-05-13 11:22:11 -05:00
marcuspollio fd01f325b3 Update Draft WB icons (#13585)
* Update Draft WB icons

* Also make all icons 64px based

* keep inner white outline and small tweaks

* Tweaks following review

* Further tweaks following feedback

* Tweak more icons for consistency with light/dark themes

* Update following PR 13865, save as Plain SVG and remove unused ressources

Update texts for visibility

Some more cleanup

Use consistent FreeSans font
2024-05-13 11:20:42 -05:00
David Carter f9eb6c2c68 Material: Material Preferences
Updates the material preferences including selecting a default material

Preferences adds some options for what gets displayed in the Materials editor.
The option to use the legacy editor is removed in favour of the new
editor.

A new preference page has been added that allows the user to select a
default material. This will then be assigned to any newly created object. In
support of this, a new widget PrefsMaterialTreeWidget has been added as an
extension of the MaterialTreeWidget to automatically save and restore the
selected material.
2024-05-13 11:14:55 -05:00
Chris Hennes e3418ed46b Merge pull request #13721 from kadet1090/more-at-the-end
Gui: Move more button to the end WB TabBar
2024-05-13 11:12:26 -05:00
Zheng, Lei 412a82f340 Gui: fix toolbar init state 2024-05-13 11:06:01 -05:00
PaddleStroke 344b125a07 Core: Add getRootObjectsIgnoreLinks and fix bugs in tree.cpp and AssemblyObject.cpp, CommandInsertLink.py, UtilsAssembly.py 2024-05-13 17:58:34 +02:00
ppphp 4cd8b2ad15 fix some warnings: cmake string quotes and float mark (#13909)
Co-authored-by: liukaiwen <kaiwen.liu@zixel.cn>
2024-05-13 11:55:59 -04:00
FEA-eng 7523582c5f FEM: Change the misleading constraint descriptions regarding the geometry selection (#13921)
* FEM: Update TaskFemConstraintFixed.ui

* FEM: Update TaskFemConstraintForce.ui

* FEM: Update TaskFemConstraintTemperature.ui

* FEM: Update TaskFemConstraintDisplacement.ui
2024-05-13 10:54:03 -05:00
Jacob Oursland dc9f42de1e VSCode: Use port 39999 to test for debugger readiness. 2024-05-13 10:53:27 -05:00
Chris Hennes cc39030293 Merge pull request #13907 from wwmayer/issue_13898
Fix memory leaks with PySequence_GetItem
2024-05-13 10:53:00 -05:00
hlorus 2b9e9d6ca5 [MeasureGui] Add measurement value to label text 2024-05-13 10:47:10 -05:00
hlorus 3d2de62cbc MeasureGui: Improve measure task wording (#13857)
* MeasureGui: Add remaining labels for translation

* MeasureGui: Improve wording for annotation and close buttons
2024-05-13 10:45:09 -05:00
Florian Foinant-Willig 219a2e0104 Fix #13107 (#13682)
Introduce a signal slot for tree item highlight change.
2024-05-13 10:42:57 -05:00
Chris Hennes 1028345ae6 Merge pull request #13811 from hlorus/remove_measure_prefs
[Measure] Remove unused properties from measure preferences
2024-05-13 10:39:18 -05:00
bgbsww f304b0123c Toponaming: bring in missing code fragments in PartDesign 2024-05-13 08:45:26 -05:00
PaddleStroke 3ed366b629 TechDraw: Smart Dimension tool : Integrate the 'chamfer' tool. 2024-05-13 15:03:43 +02:00
PaddleStroke 1aee2772f0 Techdraw: Smart Dimension: Fixes and simplifies code 2024-05-13 15:03:37 +02:00
wmayer 8fcaaed275 Draft: refactor TestDraftGeomUtils 2024-05-13 09:15:35 +02:00
Chris Hennes f84d794379 Merge pull request #13964 from bgbsww/bgbsww-toponamingMissingPartDesignTests3
Toponaming Add missing code elements in Part
2024-05-12 23:25:20 -05:00
bgbsww 84ae6b9b7b Toponaming: bring in missing code fragments in Part 2024-05-12 23:08:06 -04:00
bgbsww 80a3e9ec75 Toponaming: bring in missing code fragments in App 2024-05-12 20:59:39 -04:00
bgbsww c734bfd53c Rework makeElementChamfer to match current parms, and add PartDesign code for Chamfers 2024-05-12 20:57:00 -04:00
Chris Hennes fd2d8939e7 Merge pull request #13963 from bgbsww/bgbsww-toponamingMissingPartDesignTests2
Toponaming: missing code bits in App
2024-05-12 19:30:04 -05:00
Chris Hennes e703615603 Update translations 2024-05-12 17:06:56 -05:00
bgbsww 71892a1d72 Toponaming: bring in missing code fragments in App 2024-05-12 17:21:49 -04:00
bgbsww dbaaa95974 Rework makeElementChamfer to match current parms, and add PartDesign code for Chamfers 2024-05-12 16:22:23 -04:00
bgbsww 45c4aefaae Rework makeElementChamfer to match current parms, and add PartDesign code for Chamfers 2024-05-12 13:28:20 -05:00
Kacper Donat 2e6af15880 Gui: Reuse QActions for workbench activation
This fixes segfault that can occour due to keeping reference to QAction
that is supposed to change workbench.
2024-05-12 19:05:14 +02:00
Kacper Donat b1a11a6ab0 Gui: Fix wrong orientation of workbench tab bar after start
This replaces old mechanism that was based on storing tab bar
orientation in user settings with one that delays initialization by half
of a second to ensure that toolbar is placed where in right place.
2024-05-12 19:05:14 +02:00
Kacper Donat 82f6b68307 Gui: Use RTL layout when Wb Tab Bar is placed in right corner
Right corner is placed to the right edge of screen, so its natural
growth occours on the left side. Basically it is Right to Left order and
so in that case the "end" is actually on left and so TabBar should grow
in that direction.

Unfortunately it is not possible to simply use RTL Qt feature to handle
that case as it would result in reverse order of workbenches (people will still
read it in LTR order) and icons on the right which is not wanted. That's
custom support is introduced.
2024-05-12 19:05:14 +02:00
Kacper Donat 37d6ba2898 Gui: Adjust sizing of Workbench TabBar when changing orientation
This should fix issues when toolbar containing Workbench TabBar suddenly
(or not) changes orientation. It also fixes size policies so toolbar
resizes properly and does not cause window to grow.

Fixes: #13286
2024-05-12 19:05:14 +02:00
Kacper Donat 7e22dade12 Gui: Add proper tooltip to Workbench TabBar tab 2024-05-12 19:05:14 +02:00
Kacper Donat 3405939f10 Gui: Move more button to the end WB TabBar
This changes back placement of the "more" button of the WB TabBar to be
at the end, where it should be naturally placed. In order to ensure that
it is always visible the control was reworked to show this button always
after the tab bar widget which now is dynamically sized. This is
behavior that is well known from browsers.

This commit also ensures that active workbench is always visible in the
TabBar by adding additional temporary tab when necessary. This tab will
automatically dissapear when not needed.

Fixes: #13720
Fixes: #13630
2024-05-12 19:05:14 +02:00
Kacper Donat 4d1b3756f3 Gui: Add our ToolBarArea enumeration
This refactors implementation of toolbars in menu / status bar a bit. It
introduces enum with all possible areas like it is in Qt that can be
later used to decide what to do based on toolbar placement.
2024-05-12 19:05:12 +02:00
Roy-043 ec44573bdc Draft: minor refactor of layer code (#13948) 2024-05-12 09:49:04 +02:00
Roy-043 10a25ebf98 Draft: Update v0.22 references to v1.0 (#13934) 2024-05-12 09:47:51 +02:00
marcuspollio 23537d97d7 Sketcher UI: Update Task panels icons 2024-05-12 15:57:26 +12:00
marcuspollio 17d0ee3aca PartDesign UI: Update Task panels titles and icons
update Workbench.cpp, TaskFeaturePick.cpp
2024-05-12 15:08:14 +12:00
Roy-043 53c6fbc843 get_appearance_material -> get_view_material
Also removed the ret_default argument.
2024-05-11 10:11:16 +02:00
Chris Hennes 3acbc561f2 Merge pull request #13928 from ronnystandtke/fix_i18n
include translations of the FreeCAD App & Base
2024-05-10 10:16:31 -05:00
wmayer 7d738f161a PD: Fix ShapeBinder::execute() if Support is empty
This fixes the reported regression: https://forum.freecad.org/viewtopic.php?t=87229
2024-05-10 15:06:22 +02:00
wmayer 35b70acb33 PD: Fix linter warnings 2024-05-10 15:06:22 +02:00
wmayer 7b3eef3dcf Mesh: Make colors persistent if meshing option 'Apply face colors to mesh' is used 2024-05-10 15:03:20 +02:00
Ronny Standtke fa2a3e0f54 include translations of the FreeCAD Base 2024-05-10 14:31:33 +02:00
Ronny Standtke 1c618ffd8f include translations of the FreeCAD App 2024-05-09 21:21:16 +02:00
bgbsww 0095e52466 Support saving the tnp recalculated file in profile testing 2024-05-09 09:01:25 -05:00
Roy-043 2f9b97ce3a Draft: Add "legacy importer only" to DXF option (#13638)
* Draft: Clarify "legacy only" DXF options in the preferences

Fixes #13598.
2024-05-09 11:12:19 +02:00
Roy-043 4fcbff191f Draft: Draft_SetStyle new Material handling
Discussion: #13657.
2024-05-09 10:49:19 +02:00
Jacob Oursland 3bb6f92885 Conda: add libspnav to linux builds. 2024-05-09 02:00:14 -04:00
wmayer 70be39dd0d Gui: Fix PythonWrapper::toEnum() to also accept a Python int as argument
See https://github.com/FreeCAD/FreeCAD/pull/13611#issuecomment-2097126565
2024-05-09 01:28:45 -04:00
Jacob Oursland 7e2bbccf22 Conda: pin zstd==1.5.6 to fix Windows CI failures. 2024-05-09 01:28:02 -04:00
wmayer 85d3d9eec0 TD: Fix memory leaks with PySequence_GetItem 2024-05-09 00:03:01 +02:00
wmayer 03a371d6e3 Core: Fix memory leaks with PySequence_GetItem 2024-05-08 23:40:27 +02:00
wmayer 82101ac890 Part: Fix memory leaks 2024-05-08 20:01:54 +02:00
wmayer 374a663d2c Measure: Fix memory leaks 2024-05-08 20:01:54 +02:00
wmayer 8742c37131 Material: Fix memory leaks 2024-05-08 20:01:54 +02:00
Furgo 8941b941ab Change property view panel title to sentence case 2024-05-08 10:04:50 +02:00
Chris Hennes 1889dd2f7b Merge pull request #13867 from bgbsww/bgbsww-toponamingFixBadPad
Toponaming/Part: Fix fillet/pad bug, add tests
2024-05-07 14:19:01 -05:00
wmayer 40b9c972c5 Assembly: Fix warning: -Wunused-variable 2024-05-07 19:48:33 +02:00
wmayer 2aa96bee98 Core: Refactor several methods of ToolBarManager 2024-05-07 19:48:33 +02:00
wmayer fdc78799b6 Core: Fix linter warnings 2024-05-07 19:48:33 +02:00
wmayer e86272fab2 Core: Fix build failures and warnings 2024-05-07 19:48:33 +02:00
bgbsww 71d96bccac Fix tests, slip in TNP defense 2024-05-07 13:42:21 -04:00
bgbsww c1bc3b6e9a Update ToolBarManager.cpp for QT 6.7
Replace obsoleted method call
2024-05-07 10:18:15 -05:00
bgbsww bad3a83827 Fix #13858
Mistaken enabling of known bad code
2024-05-07 10:17:48 -05:00
PaddleStroke b48bbe390b Sketcher: change rendering height of internal alignment. So that bpsline appears connected. Fixes second part of #13849 2024-05-07 16:00:00 +02:00
PaddleStroke a3344c1ab8 Sketcher: Red point if end-point perpendicular 2024-05-07 15:42:03 +02:00
bgbsww 8fff92618c Toponaming/Part: Fix fillet/pad bug, add tests 2024-05-07 09:40:48 -04:00
WandererFan 8f08d4604a Merge pull request #13825 from HowThatWorks/main
Add page size to ISO 5457 template borders, replaced page size data fields, added blank owner data fields
2024-05-07 08:02:55 -04:00
HowThatWorks bbbc0ad307 Merge branch 'main' into main 2024-05-07 08:17:42 +02:00
PaddleStroke e33c983614 TechDraw: Implement 'Area' dimension. 2024-05-06 18:42:28 +02:00
PaddleStroke 337cd39244 TechDraw: Improve Arc Length dimension tool so that it can do any edge length: arc of ellipse, bspline. 2024-05-06 18:40:46 +02:00
PaddleStroke 05b6e9e2ee TechDraw: Smart Dimension tool : Integrate chain and coord dimensions. 2024-05-06 18:40:46 +02:00
PaddleStroke 3bd3c953de TechDraw: Smart Dimension tool : Integrate extent dimensions. 2024-05-06 18:40:46 +02:00
PaddleStroke 7f67c4f30d TechDraw: Implement smart dimension tool. 2024-05-06 18:40:46 +02:00
PaddleStroke 711a7ad827 Sketcher: Dimension : little fixes 2024-05-06 18:40:46 +02:00
PaddleStroke 52ffab90e5 Core/Sketcher: Create ToolHandler class in core for core reuse accross other wbs. 2024-05-06 18:40:46 +02:00
David Carter 20e7deb86a Material: Expanded Python API (#13829)
Expands the Python API to allow for material creation. With test cases.
2024-05-06 11:34:51 -05:00
PaddleStroke de683708ba Assembly: Fix Gear Radius2 spinbox issue 2024-05-06 18:32:00 +02:00
PaddleStroke ca8ab83e09 Assembly: Improve Exploded View's radial explosion, and various small fixes. 2024-05-06 18:32:00 +02:00
PaddleStroke 3e049b6420 Assembly: add try/catch blocks in drag step. 2024-05-06 18:32:00 +02:00
PaddleStroke 53721aaf25 Assembly: Improve tooltip of CommandCreateJointDistance 2024-05-06 18:32:00 +02:00
PaddleStroke 15176db32c Assembly: Mark new features as experimental. To enable them you need to create a parameter called ExperimentalFeatures and set it to true. 2024-05-06 18:32:00 +02:00
PaddleStroke 98c518835c Assembly: Make RackPinion and Screw easier to setup. 2024-05-06 18:32:00 +02:00
PaddleStroke b44505db39 Assembly: Fix small bugs in AssemblyObject.cpp, JointObject.py and UtilsAssembly.py 2024-05-06 18:32:00 +02:00
PaddleStroke d5beaf900e Assembly: Introduce Belt joint. 2024-05-06 18:32:00 +02:00
PaddleStroke b5a6a26166 Assembly: Drag: switch from solver Solve to dragStep. 2024-05-06 18:32:00 +02:00
PaddleStroke 748ed561db Assembly: Adds limit and RackPinion/Screw/Gears 2024-05-06 18:32:00 +02:00
PaddleStroke 2108a994e7 Update OndselSolver submodule. 2024-05-06 18:32:00 +02:00
PaddleStroke a858e8ad44 Assembly: Fixes slider special move mode.Fixes #13370 2024-05-06 18:32:00 +02:00
PaddleStroke 9115f31c84 Assembly: ViewProviderAssembly: Fix issues raised by @wwmayer 2024-05-06 18:32:00 +02:00
PaddleStroke ff4684fcd7 Assembly: Add Screw/Pulley/Gears/RackPinion icons. Credits to @maxwxyz 2024-05-06 18:32:00 +02:00
PaddleStroke 85bfb99715 Assembly: Solve on recompute. Fixes #12983 2024-05-06 18:32:00 +02:00
PaddleStroke 622821906f Assembly: Add support to origin components Fixes #12446 2024-05-06 18:32:00 +02:00
PaddleStroke e37d15f081 Assembly: Improve dragging behavior. Fixes #13058 2024-05-06 18:32:00 +02:00
PaddleStroke ffa62cd52e TechDraw: Add support for Assembly Exploded Views 2024-05-06 18:32:00 +02:00
PaddleStroke 8fd15eaf28 Assembly: Exploded view refactoring 2024-05-06 18:32:00 +02:00
PaddleStroke 971355e1dc Assembly: Fix doubleclicked of joint and view #12958 2024-05-06 18:32:00 +02:00
PaddleStroke b59a743f6f Assembly: Remove Lock from labels and add lock to 3dView 2024-05-06 18:32:00 +02:00
PaddleStroke b78f8695a8 Assembly: Prevent failure when double clicking a joint if another taskbox is present. Fixes #12770 2024-05-06 18:32:00 +02:00
PaddleStroke 1213967c76 Assembly: Fix distance 0 between 2 vertex. Issue mentioned in #12490 2024-05-06 18:32:00 +02:00
PaddleStroke 8885591ea6 Assembly: Insert link: insert at the center of the screen rather than origin of document. 2024-05-06 18:32:00 +02:00
PaddleStroke 0fa18820d8 Assembly: attach selection observer only if in edit mode. 2024-05-06 18:32:00 +02:00
PaddleStroke 1941fda891 Assembly: InsertLink : Kill behavior of parts following mouse. 2024-05-06 18:32:00 +02:00
PaddleStroke c8128f19ee Assembly: Enable dragger when solid is selected. Fixes #12656 2024-05-06 18:32:00 +02:00
PaddleStroke 56051b83bc Assembly: Remove bad joints : joints between a part and itself. Fixes #12752 2024-05-06 18:32:00 +02:00
PaddleStroke 788e9f4667 Core: Fix GreedySelection: clicking on empty space was clearing selection while greedyselection was active. Fixes #12884 2024-05-06 18:32:00 +02:00
PaddleStroke 2c4f244359 Assembly: Insert Part tool : Change from list to tree. Fixes #12890 2024-05-06 18:32:00 +02:00
PaddleStroke 51feeb89f1 Assembly: Fix #12887: changing offset can move grounded parts in some cases. 2024-05-06 18:32:00 +02:00
PaddleStroke 7aafb8d85c Assembly: Joint edition : Fix bug when changing offset while only one part is selected 2024-05-06 18:32:00 +02:00
PaddleStroke 5349d08abe Assembly: Fix #12889 : deleting a part does not delete joint and later crashes freecad. 2024-05-06 18:32:00 +02:00
PaddleStroke ef010e6f7c Assembly: define nested assemblies. Fixes 12440 2024-05-06 18:32:00 +02:00
PaddleStroke 687843ff41 Assembly: Introduce 'Exploded Views' 2024-05-06 18:32:00 +02:00
PaddleStroke 6a834422e7 Assembly: Adds a dragger object to the assembly, so that assembly tools can access a dragger. 2024-05-06 18:32:00 +02:00
PaddleStroke 136d73ec1e Gui: SoFCCSysDragger : replace SoPickStyle::SHAPE by SoPickStyle::SHAPE_ON_TOP, to avoid the impossibility to select the dragger if selection is not disabled and a solid is behind the dragger. In transform tool it does not happen because selection is disabled. 2024-05-06 18:32:00 +02:00
PaddleStroke d76e33cdd1 Assembly: Move static functions from JointObject to UtilsAssembly so they can be reused. And adds few functions 2024-05-06 18:32:00 +02:00
PaddleStroke 833913a342 Assembly : Add icon for joint group. 2024-05-06 18:32:00 +02:00
PaddleStroke 8f1e3e1dec Assembly: Insert link, clear selection on deactivation. 2024-05-06 18:32:00 +02:00
PaddleStroke f9593d237d Assembly: Change 'Insert Link' name to 'Insert Component' Fixes #12165 2024-05-06 18:32:00 +02:00
PaddleStroke 8ae8573282 Assembly: InsertLink : Open File does partial opening. So no tab opens. 2024-05-06 18:32:00 +02:00
PaddleStroke afa4a696ab Assembly: Fix Object disappears when dragging with slider #12449 2024-05-06 18:32:00 +02:00
PaddleStroke a6752bf0cc Assembly: Insert: fix non-ascii names issue #12164 2024-05-06 18:32:00 +02:00
PaddleStroke 9aae3504ad Assembly: Fix JCS not drawing correctly when removing selection. 2024-05-06 18:32:00 +02:00
PaddleStroke 534cb58d50 Assembly : Fix : In Joint taskbox, deleting an element in the list should unselect it #10750 2024-05-06 18:32:00 +02:00
PaddleStroke 0270c25d69 Assembly : Typos 2024-05-06 18:32:00 +02:00
PaddleStroke 42e17ecf08 Assembly: Deactivate other tools when insert part is active. Fixes #12551 2024-05-06 18:32:00 +02:00
PaddleStroke f66e23acc7 Assembly : Replace 'Insert as part' by 'Show only parts' 2024-05-06 18:32:00 +02:00
PaddleStroke f63abc1cf2 Assembly: Fixed joint should not be active if no part is grounded. Fixes #12544 2024-05-06 18:32:00 +02:00
PaddleStroke bf0146ca86 Assembly: Fix : Reversing Distance Joint Moves Grounded Part #12457 2024-05-06 18:32:00 +02:00
PaddleStroke 2d06d7d7d4 Assembly: Disable pre-solve for distance joints. 2024-05-06 18:32:00 +02:00
PaddleStroke dc5f3bfe15 Assembly: Add drag mode for planar distances. 2024-05-06 18:32:00 +02:00
PaddleStroke b537d0724a Assembly: Add DistanceType enum and getDistanceType function. 2024-05-06 18:32:00 +02:00
PaddleStroke e96c154c03 Assembly : Fix Fixed joint shortcut. Improve distance joint tooltip. 2024-05-06 18:32:00 +02:00
PaddleStroke 684c424ccc Sketcher: fix OVP placement issue #13827 2024-05-06 12:30:43 -04:00
Kacper Donat 075f3872d4 Gui: Remove redundant overlay header
Fixes: #13349
2024-05-06 18:26:05 +02:00
wmayer d89bece39a Gui: Replace TreeRank property with a simple int
This fixes that copied & pasted objects are not added at the end of the tree view.
See https://forum.freecad.org/viewtopic.php?p=755532#p755532
2024-05-06 18:24:20 +02:00
wmayer 638cbd02ae Gui: Do not reset placement when reordering top-level objects
This fixes #13690: Reordering top level objects destroys the Placement
2024-05-06 18:24:20 +02:00
wmayer 8a1c3ead0f Gui: fix some linter warnings 2024-05-06 18:24:20 +02:00
marioalexis84 42d772cb5e Fem: Reset field color bar - fixes #13695 (#13820)
* Fem: Reset field color bar - fixes #13695

* Fem: Hide input filter if new filer is created
2024-05-06 11:23:08 -05:00
Chris Hennes 0513f10193 Start: Fix selection and ordering of language (#13823)
Fixes #13814.
2024-05-06 11:22:19 -05:00
Chris Hennes a2b0941540 Update translations
Also removes Web from translation scripts.
2024-05-06 18:17:53 +02:00
Max Wilfinger 302a202fa6 Change default UMF colors (#13781) 2024-05-06 11:16:48 -05:00
PaddleStroke 497ffd3d01 Measure: QuickMeasure: deactivate solids measures of volume/area because it's slowing down selection. 2024-05-06 18:12:14 +02:00
PaddleStroke e5780a5e3d Core / Measure: Introduce QuickMeasure 2024-05-06 18:12:14 +02:00
Yorik van Havre 0262d56e89 Help: Removes use of WebGui (#13812)
* Help: Removes use of WebGui - fixes #13788

* [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-05-06 11:09:25 -05:00
LarryWoestman 9b528b0b43 CAM: Added tests for A, B, and C parameters to the linuxcnc post (#13702)
Also added code to keep A, B, C parameters from changing with --inches

Co-authored-by: LarryWoestman <LarryWoestman@users.noreply.github.com>
2024-05-06 11:08:43 -05:00
Florian Foinant-Willig 4499ea5b88 Fix 12755 (#13802) 2024-05-06 11:06:27 -05:00
Max Wilfinger 3d2419effc Sketcher / UI: Update Sketcher Toolbars (#13763)
* Update Sketcher toolbar UIs.
Group all create tools for arcs, conics.
Group toggle driving/active constraints.
Update arrangement of icons.

* Change default to unified coincidence tool.
2024-05-06 18:05:56 +02:00
wmayer 9cfd437214 Gui: simplify MainWindow::showDocumentation()
The Help module is now part of FreeCAD. So, there is no need any more to run the addon manager
2024-05-06 18:04:13 +02:00
Max Wilfinger 4a588df3b7 Add Std_Measure command to tool menu. (#13777) 2024-05-06 11:02:50 -05:00
Martin Rodriguez Reboredo 9759da82e4 Fixups with Qt6 enums (#13611)
* Python PySide enums to C++ converter

* Python IntFlags to C++ int in getStandardButtons

* Remove int conversion in mods Python sources
2024-05-06 18:02:18 +02:00
Zheng Lei c24ace7f73 Gui: support toolbar drag and drop to status bar and menu bar (#13571)
* Gui: support toolbar drag and drop to status bar and menu bar

Closes FreeCAD/FreeCAD#12979

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

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

* Gui: improve toolbar handling in status and menu bar

* Gui: fix workbench tab bar orientation in status or menu bar

* Gui: remove workbench toolbar position settings

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-05-06 17:59:16 +02:00
farley 56b938e1de Update Tree.cpp
- Disable document activation when right-clicking
2024-05-06 17:57:15 +02:00
wmayer 913e409b24 Core: Fix crash when loading a file with v0.21 that was created with v0.22
In v0.22 a version number -1 is added to the material files to distinguish between old and new project file.
But v0.21 doesn't know about this version number and interprets it as number of elements instead.
Because this value is assigned to an unsigned type the value becomes 2**32 - 1. Now trying to create a container of this size requires > 280 GB
of RAM. On most systems FreeCAD new handler will jump in and raises a memory exception to stop the allocation. But an other systems with
plenty of RAM it's tried to allocate the memory and then may crash at some point.

This PR fixes this regression. It puts the version number to the MaterialList XML element as an optional attribute.
With this change FreeCAD v0.22 is still able to load projects that have been created prior to this change.
Additionally FreeCAD v0.21 can again load project files without crashing.

For more details see: https://forum.freecad.org/viewtopic.php?t=87268
2024-05-06 17:56:25 +02:00
marioalexis84 0e1e8ce141 Fem: Rescaling and transparency fix for heat constraint symbols (#13723) 2024-05-06 10:54:57 -05:00
marioalexis 1b6fa97472 Fem: Save and restore custom colors of elements in mesh - fixes #6131 2024-05-06 17:53:39 +02:00
PaddleStroke 2e7a1cf358 Sketcher: Dimension tool : add arc length 2024-05-06 17:50:17 +02:00
wmayer 1febe5cde8 Part: Create CompSolid/Compound/Shell if null before adding a sub-shape
Creating a shape with Part.CompSolid(), Part.Compound() or Part.Shell() is a null shape. In order to allow to append sub-shapes with the add()
method a valid shape must be created beforehand.

This fixes #13208
2024-05-06 17:45:58 +02:00
Bas Ruigrok 5ba93dd9f0 Gui: Improve lookAtPoint (#13556)
* Gui: Rename NavigationStyle::pan to setupPanningPlane

* Gui: Replace duplicate code with NavigationStyle::setupPanningPlane

* Gui: Use panning plane when hit point not found in lookAtPoint

Also enables navigation animations when pressing MMB while the mouse is not over an object

* Gui: Remove unused methods
2024-05-06 10:45:14 -05:00
sliptonic d977689b47 Merge pull request #13529 from davesrocketshop/hardness_units_pr
Materials: Update Material Models
2024-05-06 10:43:32 -05:00
bgbsww d7ade12dc3 Ensure we set up a valid sketch even with invalid external references 2024-05-06 17:42:38 +02:00
wmayer 4ea1ad58c8 PD: Fix crash when adding sketch to loft via tree view
The underlying problem is the method DocumentItem::updateItemSelection() where
the selection is altered. This may cause the destruction and recreation of the
DocumentObjectItems so that the passed pointer can become dangling.

The issue is fixed in two steps:
1. Add the method 'DocumentObjectItem *findItem(App::DocumentObject* obj, const std::string& subname) const'
   to safely re-access the item.
2. Add a boolean flag 'dirtyFlag' and the methods insertItem() and removeItem() to DocumentObjectData.
   This is needed to check when the iterator over the container becomes invalid.
2024-05-06 17:38:59 +02:00
sliptonic 92a9b3061d Merge pull request #13668 from Ondsel-Development/RefactorPostCommand
Refactor post command
2024-05-06 09:49:28 -05:00
sliptonic 6b25433fbf Merge pull request #13667 from Ondsel-Development/refactorsanity
refactor Sanity
2024-05-06 09:48:59 -05:00
WandererFan 644020f000 Merge pull request #13842 from WandererFan/fixDimRotation3
[TD]fix dimension autocorrect
2024-05-06 08:44:03 -04:00
wmayer 459b4d2c36 Core: Fix possible race conditions when reading or writing config file 2024-05-06 13:24:17 +02:00
Furgo cf59ec5ade Revert missed change on the last commit 2024-05-06 11:32:10 +02:00
Furgo 5179a4b9c5 Look up materials with full path. Revert changes to the Material namespace 2024-05-06 11:32:10 +02:00
Furgo 4448f25923 Arch: adapt materials to new Materials path scheme 2024-05-06 11:32:10 +02:00
Roy-043 bd39f4396d Clean up... 2024-05-06 11:07:23 +02:00
Roy-043 34afffc148 More files are involved... 2024-05-06 11:07:23 +02:00
Roy-043 22dc172154 Draft: Do not show temporary line object in tree (additional)
#13778 introduced `self.obj.ViewObject.ShowInTree = False` to hide the temporary object. But objects that are hidden in the tree are displayed in the tree when they are selected in the 3D view. This selection occurs during commands that take more than 2 points. The solution is to change `self.obj.ViewObject.Selectable` on mouse button up/down.

Fixes #13700.
2024-05-06 11:07:23 +02:00
Chris Hennes fb513587b7 cMake: Restore wrappers for QtWebEngine 2024-05-06 08:08:35 +02:00
wandererfan d2d93458e9 [TD]fix dimension autocorrect
- autocorrect was not handling scaled and rotated reference geometry
  properly.
2024-05-05 20:38:14 -04:00
HowThatWorks 2f0b7d2f1f Fixed a typo 2024-05-05 21:35:43 +02:00
HowThatWorks 3265532053 Merge branch 'main' of https://github.com/HowThatWorks/ISO-5257-templates 2024-05-05 21:32:21 +02:00
HowThatWorks 6cb6dc5cbf Shortened bottom centring mark on A4 sheets 2024-05-05 21:31:52 +02:00
HowThatWorks 095d8a2aba Merge branch 'main' into main 2024-05-05 15:14:23 +02:00
Chris Hennes 15b612ebca Themes: Explicitly remove Editor/Text setting in Classic 2024-05-05 13:46:14 +02:00
HowThatWorks c6ddf7cc2c Merge branch 'FreeCAD:main' into main 2024-05-05 01:07:40 +02:00
HowThatWorks d53c2cff57 Changed page size to language code, general tidy up 2024-05-05 00:20:58 +02:00
sliptonic 7d841c05f0 More work on unit tests
Avoid unnecessary reloads from disk
2024-05-04 08:24:00 -05:00
WandererFan 9bd19ff43a Merge pull request #13790 from pavltom/techdraw_split_sheet_autofill
[TechDraw] Issue #13661 - Split sheet autofill to separate values
2024-05-04 09:15:04 -04:00
Max Wilfinger f74bfc4620 Changing the stop icon from a green one to a red one. 2024-05-03 14:50:59 -05:00
Chris Hennes a75350b688 Merge pull request #13773 from bgbsww/bgbsww-toponamingMissingAppMethods
Toponaming: Add toponaming missing methods in app
2024-05-03 13:44:09 -05:00
bgbsww 2bff3f5343 Lint corrections 2024-05-03 12:07:02 -04:00
sliptonic 26e9d396d9 add generic post processor 2024-05-03 10:16:41 -05:00
sliptonic 205d6339cb Make Job gui work with new PostProcessor class 2024-05-03 10:16:41 -05:00
sliptonic 72cfbe02df fix test script 2024-05-03 10:16:41 -05:00
sliptonic 0514163ec7 Major refactor on post stack 2024-05-03 10:16:41 -05:00
sliptonic 7c3ca87e4a findParentJob will now return the original object if it is a job rather than None 2024-05-03 10:16:41 -05:00
wmayer ede6c811fd Core: Set tab title for MDIViewPyWrap 2024-05-03 14:18:00 +02:00
Dov Grobgeld 960998ed42 Add <algorithm> include and remove explicit 3rdparty/GSL include reference 2024-05-03 14:17:09 +02:00
hlorus 7d5ac7e797 [Measure] Remove unused properties from measure preferences 2024-05-03 11:36:48 +02:00
Roy-043 ede724366e Merge pull request #13803 from Roy-043/Arch-Arch-Schedule-allow-2-and-3-in-unit-string
Arch: Arch Schedule allow ^2 and ^3 in unit string
2024-05-03 10:04:27 +02:00
bgbsww d861b81c51 Merge branch 'main' into bgbsww-toponamingMissingAppMethods 2024-05-02 22:43:36 -04:00
WandererFan af2b8b661f Merge pull request #13784 from WandererFan/defaultTemplate
[TD]add fallback default template
2024-05-02 22:15:00 -04:00
HowThatWorks 7b91153c70 Applied the last fix to the other templates 2024-05-03 02:37:30 +02:00
bgbsww 928e9897eb Performance measurement tools 2024-05-02 18:53:39 -05:00
bgbsww ad0cb61656 Toponaming/Part: unify revolution changes 2024-05-02 18:50:02 -05:00
HowThatWorks 9ee7b2a41f Corrected the lower right reference marker
ISO 5457 requires it to be the paper size.
2024-05-03 01:40:20 +02:00
Roy-043 5607f5d52e Merge pull request #13798 from paullee0/ArchCurtainWall_01_add_self-Type
[ArchCurtainWall] add self.Type definition like other Arch Objects
2024-05-02 22:31:40 +02:00
Roy-043 b45bf9ba13 Merge pull request #13778 from yorikvanhavre/draft-hide-templine
Draft: Do not show temporary line object in tree
2024-05-02 22:28:11 +02:00
Roy-043 c792effb06 Arch: Arch Schedule allow ^2 and ^3 in unit string
Fixes #13796.
2024-05-02 21:31:26 +02:00
paullee d8ab9467c3 [ArchCurtainWall] add self.Type definition like other Arch Objects
All Arch Objects have self.Type defined, add here for Arch Curtain Wall.

        self.Type = "Axis"
        self.Type = "AxisSystem"
        self.Type = "Building"
        self.Type = "BuildingPart"
        self.Type = "Component"
        self.Type = "Equipment"
        self.Type = "Fence"
        self.Type = "Floor"
        self.Type = "Frame"
        self.Type = "Grid"
        self.Type = "MaterialContainer"
        self.Type = "Panel"
        self.Type = "Pipe"
        self.Type = "Precast"
        self.Type = "Profile"
        self.Type = "Project"
        self.Type = "Rebar"
        self.Type = "Reference"
        self.Type = "Roof"
        self.Type = "Schedule"
        self.Type = "SectionPlane"
        self.Type = "Site"
        self.Type = "Space"
        self.Type = "Stairs"
        self.Type = "Structure"
        self.Type = "Truss"
        self.Type = "Wall"
        self.Type = "Window"

FC Forum Discussion - https://forum.freecad.org/viewtopic.php?t=87210
2024-05-03 01:20:10 +08:00
pavltom b3413926a8 [TechDraw] Issue #13661 - Split sheet autofill to separate values 2024-05-02 15:34:38 +02:00
wandererfan dc1245aef0 [TD]add fallback default template 2024-05-02 07:06:58 -04:00
Yorik van Havre b731b8a9e8 Draft: Do not show temporary line object in tree - fixes #13700 2024-05-02 11:04:15 +02:00
wandererfan e4eb859849 [Admin]add privacy policy 2024-05-02 10:13:25 +02:00
Roy-043 107964c2c1 Draft: update Draft Point viewprovider to account for ShapeAppearance
Without this mod there is an error when opening a V0.21 file with a Draft Point. As well as when creating a Draft Point in V0.22.
2024-05-02 10:09:28 +02:00
Adrián Insaurralde Avalos 368b91e035 Measure: write init message to log instead 2024-05-02 08:09:39 +02:00
bgbsww f9b65e563d Test for changed Sketches avoiding TNP 2024-05-01 20:29:26 -04:00
Zheng, Lei 47635c0507 Methods to support Toponaming element maps 2024-05-01 18:02:04 -04:00
tomate44 c7c07f28c6 add unit test for edge split method 2024-05-01 22:15:09 +02:00
tomate44 2a07bce5b5 Preserve pcurves in TopoShapeEdge.split 2024-05-01 22:15:09 +02:00
HowThatWorks c6fa03dd05 Ungrouped the title block to make things neater 2024-05-01 21:23:58 +02:00
0penBrain 502f78e111 Make: use single dash argument for Apple toolchain 2024-05-01 14:04:45 -04:00
Reqrefusion 7cf7922079 Add myself as contributor 2024-05-01 10:33:01 -05:00
Chris Hennes 0af3ee4851 Merge pull request #13727 from wwmayer/fix_warnings
Fix compiler warnings
2024-05-01 10:29:21 -05:00
Chris Hennes d0a4cb9a33 Tests: Disable DocumentObserverTest pending refactor
The 'normalized' test fails on Windows Conda, and the overall test class needs work.
2024-05-01 10:28:08 -05:00
wmayer 02df1c86b7 Gui: fix possible build failure 2024-05-01 09:47:33 +02:00
HowThatWorks a464d85457 Added owner data fields to ISO templates 2024-05-01 04:21:11 +02:00
Roy-043 a02ff7ac6c Merge pull request #13589 from yorikvanhavre/arch-move-with-host
Arch: Fixed move with host
2024-04-30 21:18:04 +02:00
Jacob Oursland e7d7d0aee9 CI: Enable FREECAD_COPY_LIBPACK_BIN_TO_BUILD to address Windows CI failures. 2024-04-30 14:02:17 -04:00
wmayer 787573f9b3 Start: fix possible build failure 2024-04-30 17:00:27 +02:00
wmayer 56f84c8042 Fix various compiler warnings:
* fix -Wunused-parameter
* fix -Wunused-function
* fix -Wunused-private-field
* fix -Wunused-variable
* fix -Winconsistent-missing-override
2024-04-30 16:59:31 +02:00
wmayer 9e4def7104 Part: Remove cyclic dependency to Measure module
Although there is no cyclic dependency between the shared libraries it's still odd to have it on source files
2024-04-30 16:23:23 +02:00
WandererFan 89b9a324b2 Merge pull request #13703 from Reqrefusion/main
Gui:Making Technical Drawing icons compatible with Part Design and Assembly icon
2024-04-30 07:45:42 -04:00
Dov Grobgeld ff11cd25ee Fix run time errors with python3.12 and pyside6 (#13337)
* Change pyopen=open expression to from builtins import open as pyopen

---------

Co-authored-by: Adrián Insaurralde Avalos <36372335+adrianinsaval@users.noreply.github.com>
2024-04-30 00:28:01 -04:00
Jacob Oursland cc8794a611 CI: Use --no-prune when installing the devenv on Windows to prevent errors. 2024-04-30 00:18:54 -04:00
Martin Rodriguez Reboredo 0100a99838 Gui: TypeInitStruct for Shiboken6 builds 2024-04-29 16:08:07 -04:00
liukaiwen 45e6d4e1e8 fix precompile on lastest unified measurement 2024-04-29 13:42:40 -05:00
sliptonic 680792030f Merge pull request #13650 from chennes/firstStartWidget
Start: First start widget
2024-04-29 11:42:50 -05:00
CalligaroV c3b0fcdccf App/Toponaming: import SubObjectT dependencies for SubShapeBinder
* Fixed a mistake made in getSubObjectListFlatten()
 * Applied modifications according to review comments

Signed-off-by: CalligaroV <vincenzo.calligaro@gmail.com>
2024-04-29 11:42:18 -05:00
CalligaroV 243e20248d App/Toponaming: import SubObjectT dependencies for SubShapeBinder
* Formatted and refactored code imported for the DocumentObject class
 * Formatted and refactored code imported for the SubObjectT class

Signed-off-by: CalligaroV <vincenzo.calligaro@gmail.com>
2024-04-29 11:42:18 -05:00
CalligaroV ceb5478a37 App/Toponaming: import SubObjectT dependencies for SubShapeBinder
* Added test for SubObjectT::hasSubObject()
 * Added test for SubObjectT::hasSubElement()
 * Added test for SubObjectT::normalize()
 * Added test for SubObjectT::normalized()

Signed-off-by: CalligaroV <vincenzo.calligaro@gmail.com>
2024-04-29 11:42:18 -05:00
CalligaroV 16bdedda2f App/Toponaming: import SubObjectT dependencies for SubShapeBinder
* Added test for DocumentObject::getSubObjectList()

Signed-off-by: CalligaroV <vincenzo.calligaro@gmail.com>
2024-04-29 11:42:18 -05:00
Zheng, Lei 138417c2a2 App/Toponaming: import SubObjectT dependencies for SubShapeBinder
* Added SubObjectT methods normalize(), normalized(), hasSubObject() and hasSubElement()
 * Updated DocumentObject::getSubObjectList()
 * Applied modifications to make the code compile
2024-04-29 11:42:18 -05:00
WandererFan db22476450 Merge pull request #9750 from hlorus/gsoc2023_measure
GSoC 2023: Unified Measurement Facility
2024-04-29 12:41:54 -04:00
Florian Foinant-Willig abd5d4daef FEM: prevent python added properties to be removed 2024-04-29 18:33:45 +02:00
Syres916 d1946bfebe [FEM] CCX Solver and Gmsh Mesh Task Panel Colour output improvements (#13684)
* [FEM] CCX Solver and Gmsh Mesh Task Panel Colour output improvements

* [FEM] CCX Solver TP make time code more prominent

* [FEM] Gmsh mesh TP make time code more prominent
2024-04-29 11:29:00 -05:00
WandererFan 22e157b78c Merge pull request #13644 from wwmayer/default_material
Gui: expose ViewProviderGeometryObject::getUserDefinedMaterial() to Python
2024-04-29 12:28:25 -04:00
sliptonic 5b10ed9cd8 Merge pull request #13673 from chennes/startFixCardWidth
Start: Correct card size calculation
2024-04-29 11:27:19 -05:00
Roy-043 7dc978948d Gui: DlgSettingsNavigation.ui fix misalignment of Corner label 2024-04-29 11:26:11 -05:00
0penBrain 7b85e8fc48 Cmake: pass 'undefined' with double dash so alternative linker can be used 2024-04-29 18:25:17 +02:00
MisterMaker 2d49fcefe2 Overlay fix for default windows style and other light theme's. (#12573)
* Removing white spaces

* Fixes made by Kadet

I am cleaning up my previous PR because of the white space removal.
I now make a single commit with the white space stuff and one with Kadet fixes.

Co-Authored-By: Kacper Donat <kacper@kadet.net>

* Delete CMakeSettings.json

screwed it up

* added stylesheet for example code.

* added example to cmakelist

* Mouse over fix

This fixes the mouse over issue!

Co-Authored-By: Bas Ruigrok <14298143+Rexbas@users.noreply.github.com>

* Added more overlay stylesheet for all options

* Removed reddudant code!

* Fixed the code

Works great!

Co-Authored-By: Bas Ruigrok <14298143+Rexbas@users.noreply.github.com>

---------

Co-authored-by: Kacper Donat <kacper@kadet.net>
Co-authored-by: Bas Ruigrok <14298143+Rexbas@users.noreply.github.com>
2024-04-29 11:24:33 -05:00
sliptonic 90842c9df6 Merge pull request #13666 from Roy-043/Gui-Clarify-cache-directory-as-read-only-in-prefs,-add-Browse-tooltip
Gui: Clarify cache directory as read-only in prefs, add Browse tooltip
2024-04-29 11:14:59 -05:00
Chris Hennes dcbdc1b204 Merge pull request #13665 from wwmayer/fix_memory_leak2
Core: fix possible memory leaks when using parser
2024-04-29 11:14:11 -05:00
Chris Hennes a45524712d Merge pull request #13576 from wwmayer/issue_13518
Sketcher: Make ValidateSketch scriptable
2024-04-29 11:11:13 -05:00
PaddleStroke 14a12b916a TechDraw: remove 'Project Shape' from Techdraw toolbar 2024-04-29 18:08:50 +02:00
Chris Hennes 77cf3f395f Merge pull request #13642 from wwmayer/fix_memory_leaks
Fix memory leaks
2024-04-29 10:57:51 -05:00
wmayer c14e735c20 Sketcher: Fix possible crash inside ~CurveConverter()
Accessing the parameter manager inside ~CurveConverter() is undefined behaviour because it will be accessed after the main() function
has been exited.

Fixes #13622
2024-04-29 10:56:15 -05:00
PaddleStroke 6ae13db72a Core: TabBar: fix issue following #13508 2024-04-29 10:55:44 -05:00
marioalexis84 ff285b6c60 Fem: Add radiation heat transfer (#13466)
* FEM: Add radiation heat transfer
* FEM: Add radiation heat transfer to CalculiX writer
* FEM: Update .inp files
* Fem: Rename heat flux ui members

---------

Co-authored-by: FEA-eng <59876896+FEA-eng@users.noreply.github.com>
2024-04-29 10:53:59 -05:00
marioalexis 5d69945f6e Fem: Remove unused view properties 2024-04-29 10:52:52 -05:00
marioalexis ba0825f605 Fem: Constraint symbol scaling based on shape size - fixes #7030 2024-04-29 10:46:40 -05:00
Nexusnui e6a547f33c Update importCSG.py
Fixed Scaling with one parameter
2024-04-29 17:46:10 +02:00
WandererFan 34f92f2d5e Merge pull request #13407 from Ondsel-Development/sk_reorganize_tbs
Sketcher: Small reorganization of toolbars
2024-04-29 11:43:52 -04:00
Max 016ff91de2 update icon for assembly recompute 2024-04-29 17:36:00 +02:00
Max 3a57df116d Update context menu with a toggle for suppress property with checkmark (checked when suppressed) 2024-04-29 17:35:14 +02:00
Roy-043 d787f382d5 Only imported modules can be reloaded 2024-04-29 16:15:58 +02:00
Roy-043 6c5cc7d9d9 Draft: legacy DXF importer: downloaded libs should be reloaded
Otherwise old versions will still be used in the current FreeCAD session.
2024-04-29 16:15:58 +02:00
Roy-043 de37e94f32 Draft: legacy DXF importer fix group and layer behavior
Fixes #13621.

Currently the legacy DXF importer creates a main group with the DXF name if a DXF is imported into an existing FreeCAD document. For each DXF layer it then creates a sub-group (or Draft Layer) inside that main group. Objects are nested in the sub-groups (or Draft Layers).

This does not make sense for Draft Layers as they should be nested in the LayerContainer, which should be in the root of the FreeCAD document.

Both for Draft Layers and sub-groups there is the issue that if mutliple DXF files are imported in the same FreeCAD document, exising Draft Layers and sub-groups are not taken into account. For each DXF a new "0" group/layer is created (with a Label that is not "0" and therefore not recognized), and if there are objects on that layer a new group/layer is created for each object (labelled "0001", "0002", "0003", etc).

To solve this the main group with the DXF name is no longer created in the revised code and the layers variable is initialized with the groups/layers that already exist in the FreeCAD document.

Additionally the formatObject function should not format objects that are in Draft Layers. Its action conflicts with the layer mechanism resulting in the last imported object having an incorrect color.
2024-04-29 16:15:16 +02:00
Roy-043 c02df6a5fb Import: C++ DXF importer wrongly scaled polyline bulges
Fixes #13600.
2024-04-29 16:12:17 +02:00
hlorus 7ff4da5a27 [Part/PD] Remove measure tools 2024-04-29 09:27:22 -04:00
wandererfan e070b61cdc [Measure] Change icon
Co-Authored-By: Max Wilfinger <6246609+maxwxyz@users.noreply.github.com>
2024-04-29 09:27:22 -04:00
hlorus 47fd87af51 [Gui] Add command and task for unified measurement facility 2024-04-29 09:27:22 -04:00
hlorus 36d16b2243 [Measure] Add features, viewproviders and preferences for unified measurement facility 2024-04-29 09:27:22 -04:00
hlorus 832a0653fa [Sketcher] Add handlers for unified measurement facility 2024-04-29 09:27:22 -04:00
hlorus 4f5dd40fa7 [PD] Add handlers for unified measurement facility 2024-04-29 09:27:22 -04:00
hlorus f4c90c07f1 [Part] Add handlers for unified measurement facility 2024-04-29 09:27:22 -04:00
hlorus 2acf5ccab0 [App] Add registration functions for unified measurement facility 2024-04-29 09:27:22 -04:00
hlorus ce36dcc379 [Part] Move VectorAdapter into own file in PartGui 2024-04-29 09:27:22 -04:00
hlorus c054fe64b3 [Part] Move ArcEngine into own file in Gui module 2024-04-29 09:27:22 -04:00
hlorus cb0e5b6f9c [Base] Expose type's "getModuleName" method 2024-04-29 09:27:22 -04:00
Reqrefusion 1e697c3369 Correction of some line colors 2024-04-29 15:44:39 +03:00
Reqrefusion 72be35c304 Making Technical Drawing icons more compatible with Part Design and Assembly icons Continue
Another overlooked logo was combined and hidden lines were made into dash lines
2024-04-29 15:18:37 +03:00
Kacper Donat c4569561f5 Fix issues with wrong color for preference page tooltips 2024-04-29 13:06:48 +02:00
paullee 9e5fdc9c73 [ArchWall] fix onChanged() length to support ArchSketch 2024-04-29 10:30:09 +02:00
Furgo 60ea786551 Arch: Add HeightPropagate tooltip info (#13584) 2024-04-29 10:27:10 +02:00
Reqrefusion e0964efb77 Making Technical Drawing icons more compatible with Part Design and Assembly icons
It is aimed to provide integrity by including the shape used in other workbenches in technical drawing icons. For the hidden line, color variation was used instead of dashed. The reason for this is to comply with the art guide. I think the dashed line looks better.
2024-04-28 23:59:51 +03:00
Chris Hennes 5327232570 Start: Invert sense of checkbox 2024-04-28 12:57:42 -05:00
Chris Hennes 3a9547c235 Start: Create 'First Start' screen 2024-04-28 12:57:00 -05:00
Chris Hennes 2aad8ab334 Tests: Ensure MSVC has M_PI
Somewhere in the test suite GTest is including cmath (or something related) and not declaring this, so later includes of it by the tests are being ignored.
2024-04-28 12:56:21 -05:00
Chris Hennes 332f6f7631 Gui: Add missing GuiExport to PreferencePack 2024-04-28 12:56:21 -05:00
Brad Collette 33e82c3d21 refactor Sanity
Logic is more modular with many more unit tests.
Reduced dependence on GUI
Cleaner template structure
2024-04-27 17:28:15 -05:00
wmayer ed77603af9 PD: Fixes crash if sub-element name of reference axis is empty
This fixes #13656
2024-04-27 07:43:40 +02:00
bgbsww fa8f29aed4 Toponaming/Part: Fix all getBaseTopoShape calls. Tests and missing code. 2024-04-26 21:15:11 -05:00
Chris Hennes 6174a9bb2e Start: Correct card size calculation
Fixes #13671.
2024-04-26 20:21:26 -05:00
wmayer bff1efd665 FEM: Make sure that points and normals array have equal size as otherwise a crash may occur 2024-04-26 23:30:20 +02:00
Roy-043 dd882862bf Gui: Clarify cache directory as read-only in prefs, add Browse tooltip
Fixes #13608.
2024-04-26 23:10:05 +02:00
wmayer 499e73f337 Core: fix possible memory leaks when using parser 2024-04-26 21:42:34 +02:00
wmayer 1365a939e9 App: Change default constructor of Material class to use DEFAULT instead of STEEL 2024-04-26 15:06:30 +02:00
Roy-043 d92f74ef01 Merge pull request #13633 from Roy-043/Draft-revert-Draft-WB-changes-from-13294
Draft: revert Draft WB changes from #13294
2024-04-26 10:46:05 +02:00
wmayer 5753fe12c4 Gui: Fix MainWindowPy::removeWindow
See https://forum.freecad.org/viewtopic.php?t=87097
2024-04-26 10:10:25 +02:00
Patryk Skowroński a4b151e7ff Fix for removeMarkups() 2024-04-25 21:40:39 -05:00
wmayer e591b95228 Gui: expose ViewProviderGeometryObject::getUserDefinedMaterial() to Python 2024-04-25 17:56:58 +02:00
wmayer e85954e8a3 App: Create PropertyMaterialList with a single material element 2024-04-25 17:04:36 +02:00
wmayer a644f75d53 Material: Fix several memory leaks caused by cyclic references
The class MaterialLibrary has a shared pointer to its Material objects and the class Material has a shared pointer to the MaterialLibrary.
The class MaterialManager owns all MaterialLibrary and Material objects in static containers. To resolve the cyclic references the method
cleanup() has been added.

The class ModelLibrary has a shared pointer to its Model objects and the class Model has a shared pointer to the ModelLibrary.
The class ModelManager owns all ModelLibrary and Model objects in static containers. To resolve the cyclic references the method
cleanup() has been added.

The Materials module registers a function to App::CleanupProcess that calls the above cleanup() methods.
NOTE: This registration is only done in debug mode mainly to satisfy memory checkers
2024-04-25 15:47:09 +02:00
wmayer 5f46ee4f14 Material: Fix two direct memory leaks in ModelLoader::addToTree and ModelLoader::loadLibrary 2024-04-25 15:45:15 +02:00
wmayer 200d9eeb84 App: Add class CleanupProcess to allow to free resources when closing the application 2024-04-25 15:44:22 +02:00
WandererFan 53020def86 Merge pull request #13639 from wwmayer/fix_techdraw_issue
TD: Fix compiler warning
2024-04-25 09:18:37 -04:00
wmayer 8210e99b0c Base: Fix memory leak in Quantity::parse
If an exception is thrown then the allocated buffer won't be cleaned up. To make this exception-safe the class
StringBufferCleaner is added using the RAII idiom
2024-04-25 14:34:02 +02:00
wmayer fada9ed82c TD: Fix compiler warning
Warning: result of comparison against a string literal is unspecified (use an explicit string comparison function instead) [-Wstring-compare]
2024-04-25 10:46:24 +02:00
Roy-043 52fcdda6cf Merge pull request #13612 from cjmayo/draft-byteCount
Draft: Fix QImage object has no attribute 'byteCount'
2024-04-25 09:20:10 +02:00
Roy-043 7407eee427 Draft: revert Draft WB changes from #13294
Revert the Draft WB related changes of #13294.
2024-04-24 21:27:04 +02:00
Chris Mayo b509511f44 Start: Allow system Microsoft GSL to be used 2024-04-24 14:23:21 -05:00
Chris Hennes 1ec93fdbc2 Update translations
Note: Web and Start omitted
2024-04-24 13:58:21 -05:00
Chris Hennes c20d4b31c1 Merge pull request #13604 from wwmayer/fix_new_start_page
Start: Fix new start page
2024-04-24 13:57:36 -05:00
Zheng, Lei 0e2447129c App: fix linked copy on change group out of scope problem
Fixes FreeCAD/FreeCAD#13481
2024-04-24 08:09:53 -05:00
wmayer 839c1bd801 Start: Fix memory leak
* Set parent object to FileCardDelegate so that it will be destroyed if the list view is destroyed
* Inside FileCardDelegate::paint() delete the widget
2024-04-24 15:00:15 +02:00
WandererFan a389403cdc Merge pull request #13219 from Ondsel-Development/TD_Insert
TechDraw: Unify Insert View tools (View, ProjGroup, Sheet, Arch, svg, image)
2024-04-24 08:24:26 -04:00
wmayer bfe81650c2 Start: make compound widget in FileCardDelegate::paint() more flexible for Qt style sheets 2024-04-24 10:29:12 +02:00
wmayer 54f6d00833 Start: Add QApplication to PreCompiled.h 2024-04-24 08:22:35 +02:00
Bas Ruigrok 24657494c9 Start: Fix migration script 2024-04-23 19:03:22 -05:00
Roy-043 5b169de058 Gui: DlgSettingsDocument.ui change url to https 2024-04-24 01:22:41 +02:00
wmayer ed1dbd4b95 Start: replace QGridLayout with FlowLayout 2024-04-23 23:53:52 +02:00
wmayer 4860462936 Start: add dynamic layout FlowLayout 2024-04-23 23:53:03 +02:00
Chris Mayo 213b61427a Draft: Fix QImage object has no attribute 'byteCount'
'PySide6.QtGui.QImage' object has no attribute 'byteCount'
load_texture: unable to load texture
2024-04-23 19:35:54 +01:00
wmayer ce11192445 Start: Make the new StartPage look more like the old one
Use style sheets to give visual feedback about hovered or clicked buttons & labels
2024-04-23 16:00:10 +02:00
WandererFan eb3e83b97a Merge pull request #13590 from farleyrunkel/refractor_tracker
TechDraw: Refractor tracker action with proper enum
2024-04-23 08:59:19 -04:00
wmayer 1c5d10ff71 Start: Add command Start_Start only once
This fixes an error message that the command is duplicated. And it fixes a memory leak
2024-04-23 12:04:21 +02:00
wmayer 003cbb2020 Start: do not try to open empty file name 2024-04-23 11:53:52 +02:00
wmayer 68bfbd0707 Gui: simplify singleton of PropertyItemFactory 2024-04-23 10:53:24 +02:00
wmayer 1c39969061 Gui: fix linter warnings in PropertyItem.cpp 2024-04-23 10:53:24 +02:00
wwmayer c4c453312d PySide6: Fixes #13533: QSvgWidget is not a child of QtSvg in PySide6 (#13554)
* Create a compatibility module QtSvgWidgets.py to handle PySide2 & PySide6
* In the Arch and Material modules use the QtSvgWidgets module
* Since Qt6 the method QFont.setWeight() doesn't accept an int any more but requires an enum. Since the call of QFont.setBold(True) sets
  a weight of 75 the extra calls of QFont.setWeight(75) can be safely removed

Co-authored-by: Adrián Insaurralde Avalos <36372335+adrianinsaval@users.noreply.github.com>
2024-04-22 18:35:33 -04:00
Chris Hennes 5e11e5da5a Gui: Add random to PreCompiled.h
Also re-sorts the STL list
2024-04-22 20:35:50 +02:00
Chris Hennes 3d0239f2d8 FEM: Add SoSwitch.h to PreCompiled
Fix compilation on MSVC.
2024-04-22 20:35:12 +02:00
sliptonic a041129090 Merge pull request #13134 from chennes/qtQuickTechDemo
Start: Recreate start as a QtWidgets-based app
2024-04-22 11:49:02 -05:00
PaddleStroke 05e79b5d0a Sketcher: Reorganize toolbars 2024-04-22 18:33:49 +02:00
sliptonic 9c84f3a7ad Merge pull request #13570 from wwmayer/issue_13549
Fixes #13549: smesh doesn't compile with boost 1.85
2024-04-22 11:18:38 -05:00
Chris Hennes f47138c08a Merge pull request #13520 from wwmayer/fix_material
Fix further material issues
2024-04-22 11:16:44 -05:00
WandererFan 18b7445c6a Merge pull request #13519 from Roy-043/Sketcher-Improve-GUI-texts-in-SketcherSettingsAppearance.ui
Sketcher: Improve GUI texts in SketcherSettingsAppearance.ui
2024-04-22 12:16:00 -04:00
WandererFan 1b91d8de8d Merge pull request #13511 from Ondsel-Development/sk_polyline_midpoint
Sketcher: Fix mid-point autoconstraint not working with polyline.
2024-04-22 12:15:18 -04:00
PaddleStroke cb0a2d2809 Sketcher: Joint Line and Polyline in a command group. 2024-04-22 11:14:45 -05:00
PaddleStroke 7e0cf657f4 TabBar: Move + tab to beginning. 2024-04-22 11:13:12 -05:00
sliptonic 418219330f Merge pull request #13503 from mosfet80/patch-34
[Mod] removed duplicated pi
2024-04-22 11:12:04 -05:00
David Carter 3f825e7ac3 Material: MaterialTreeWidget usability enhancements
Improves the MaterialTreeWidget beyond minimum viable product.

- Filters can now be filter lists to allow a variety of filtering
	options.
- User preferences allow the inclusion/exclusion of favorites and
	recents.
- Widget state such as expansion, tree expansions, etc are saved and
	restored.
- show current appearancee material when editing.
- implements a python interface

#fixes 13421: always opens full tree
2024-04-22 11:11:39 -05:00
Chris Hennes 2326d3ce4c Merge pull request #13495 from wwmayer/material_colors
Support to customize all material colors
2024-04-22 11:09:05 -05:00
WandererFan 689a13527c Merge pull request #13489 from yorikvanhavre/draft-axes-colors
Draft: Use preference-stored colors for axes colors
2024-04-22 12:08:17 -04:00
Chris Mayo ff894dc58c Tools: Resolve SyntaxWarning in generateTools.py
src/Tools/generateBase/generateTools.py:144: SyntaxWarning: invalid escape sequence '\+'
  rbe = re.compile("\+")
2024-04-22 11:07:28 -05:00
Chris Hennes 6c3ea9fbdd Merge pull request #13464 from marioalexis84/fem-ccx_element_types
Fem: Add element types to ABAQUS writer
2024-04-22 11:05:26 -05:00
Roy-043 50be3dcdfc Sketcher: Make geometry menu texts more consistent
Create circle -> Create circle by center
three points -> 3 points
2024-04-22 11:01:53 -05:00
Roy-043 0a514c201a Sketcher: Make constraints menu texts more consistent
The current constraints menu texts are not very consistent. Particularly the mix of adverbs (horizontally) and adjectives (symmetrical) is strange.
2024-04-22 11:01:06 -05:00
FEA-eng f237634cb3 FEM test INC value fix (#13397) 2024-04-22 10:56:25 -05:00
farley 1f9f39fa28 Core: Fix searching model tree does not work for numbers #12723 (#13377)
* Fix problem #12723: Searching model tree does not work for numbers
- Modify ExpressionTokenizer::perform
- Add tests tokenizeCompletion
2024-04-22 10:55:42 -05:00
marioalexis84 7d4d5eddf5 Fem: Constraint symbol scaling (#13274)
* Fem: Constraint symbols rescaling

* Fem: Add constraint symbol .iv files

* Fem: Fix contact constraint symbol rescaling

* Fem: Fix displacement constraint symbol rescaling

* Fem: Fix fixed constraint symbol rescaling

* Fem: Fix force constraint symbol rescaling

* Fem: Fix heat flux constraint symbol rescaling

* Fem: Fix plane rotation constraint symbol rescaling

* Fem: Fix pressure constraint symbol rescaling

* Fem: Fix spring constraint symbol rescaling

* Fem: Fix temperature constraint symbol rescaling

* Fem: Add tie constraint symbol
2024-04-22 11:49:13 -04:00
mosfet80 5b81da0965 Update sub_wrapup.yml (#12993)
update geekyeggo/delete-artifact to v5
2024-04-22 10:44:47 -05:00
PaddleStroke 2960c4e57a Fix typo introduced by solving conflict. 2024-04-22 17:16:50 +02:00
PaddleStroke 724c01b8d9 TechDraw: TaskProjGroup.ui : use QGroupBox instead of lines for app consistency. 2024-04-22 15:53:14 +02:00
PaddleStroke 55fbbb5d6e TechDraw: Insert tool insert DrawViewProjGroupItem that can then be transfered into groups and back. 2024-04-22 15:53:14 +02:00
PaddleStroke 4ebe22f166 TechDraw: Enable setting a custom direction. Fixes #5821 2024-04-22 15:53:14 +02:00
PaddleStroke 59f8d6391f TechDraw: InsertView switch the MDI to page when triggered. 2024-04-22 15:53:14 +02:00
PaddleStroke 77ed2eeed5 TechDraw: Add taskbox to Part View. Removes Projection Group from toolbar. 2024-04-22 15:53:14 +02:00
PaddleStroke 3fff49f7f6 TechDraw: Insert View : Enable handling of image and SVG if no selection. 2024-04-22 15:53:14 +02:00
PaddleStroke 68fe9df121 TechDraw: Insert View : Enable handling of spreadsheet and arch objects. Remove the spreadsheet and arch specific commands from the toolbars 2024-04-22 15:53:14 +02:00
Yorik van Havre 951e5b63cc arch - fixed stupid mistake in movewithhost 2024-04-22 15:38:16 +02:00
Farley Runkel 31f5ca51da TechDraw: Refractor tracker action with proper enum 2024-04-22 18:21:49 +08:00
Yorik van Havre 25c1c6c3f1 Arch: Fixed move with host - fixes #13568 2024-04-22 11:22:43 +02:00
Chris Hennes e0debb03ca Start: Cleanup and minor bugfixes
Start: Remove QML include
Start: Eliminate errors on unreadable images
Start: Ensure command succeeded
Start: Correct startup WB
Also re-enable the migrator, which was not the culprit.
Gui: Roll back unneeded NoneWorkbench changes
2024-04-21 22:27:50 -05:00
Chris Hennes 5d7fec1e98 Web: remove QtWebEngine dependency 2024-04-21 22:27:50 -05:00
Chris Hennes 9b1ef66e98 Remove WebKit SVG renderer. 2024-04-21 22:27:50 -05:00
Chris Hennes c35693fd8a Web: Remove GUI
Web no longer provides a user-visible browser, but only a simple server for remote interaction with FreeCAD. Dependency on QtWebWengine has been removed.
2024-04-21 22:27:50 -05:00
Chris Hennes bbf9192fc7 Start: UX refinements
Start: Automatically run command when event loop starts
Also sets PartDesign as the default startup Workbench.
Start: Add checkbox for starting or not starting Start
Start: Correct default card size parameter access
Start: General cleanup
2024-04-21 22:27:50 -05:00
Chris Hennes 7742832df3 Start: Migrate settings from Workbench to Command 2024-04-21 22:27:50 -05:00
Chris Hennes cfb0873d38 Start: Migrate to simple command 2024-04-21 22:27:50 -05:00
Chris Hennes d0a87d3e0c Start: Remove old WB and replace with new 2024-04-21 22:27:50 -05:00
Chris Hennes ef189f8bcf Start: Recreate start as a QtWidgets-based app
Removes all Start network access and dependency on Chromium for rendering. Written
entirely in C++ (no HTML, CSS, JS, etc.).
2024-04-21 22:27:49 -05:00
Roy-043 1f9be3f9ed Merge pull request #13580 from Roy-043/Draft-Move-MouseDelay-pref-to-General-group-and-set-max-value
Draft: Move MouseDelay pref to General group and set max value
2024-04-21 20:38:25 +02:00
Roy-043 e972755545 Draft: Move MouseDelay pref to General group and set max value
* The MouseDelay pref does not belong in the "Grid and snapping" pref group.
* Max. value was missing. Without it the spinbox only goes to 100.
* The 3600 suggestion was removed from the tooltip as it is an unworkable value. But entering it is possible now.
2024-04-21 20:05:29 +02:00
wmayer 37f0ad43f9 Sketcher: Fixes #13518: ValidateSketch cannot be scripted 2024-04-21 11:56:02 +02:00
wmayer 989c710d17 Sketch: Fix linter warnings 2024-04-21 11:16:17 +02:00
wmayer 52935f8249 Sketch: expose several methods to Python
* expose detectDegeneratedGeometries to Python
* expose removeDegeneratedGeometries to Python
* expose delConstraintsToExternal to Python
* expose evaluateConstraints to Python
* expose validateConstraints to Python
2024-04-21 10:41:47 +02:00
wmayer f555a25f9e Fixes #13549: smesh doesn't compile with boost 1.85 2024-04-21 08:36:16 +02:00
Johannes Wüller 700868f834 Add myself as contributor 2024-04-20 23:03:16 +02:00
Johannes Wüller 6321d5ceb8 Fix CSG computing geometry too early
onChanged() triggers for the first time before all of the properties are
loaded, so it can fail to compute properly at that stage, depending on
the load order.

However, it's not necessary to compute geometry in onChanged() at all,
because that's usually supposed to happen in execute() anyway. The
solution here is to just not do onChanged() at all.

Fixes #13558
2024-04-20 23:02:49 +02:00
wmayer 90a9020ed4 Part: add unit test for PR #13507 2024-04-20 14:31:59 +02:00
mosfet80 2807ceff8e [MOD] removed multiple pi definition
removed multiple pi definition
2024-04-20 11:30:38 +02:00
mosfet80 44449d32d6 App: clean
Clean  GeoFeatureGroupExtension.cpp
2024-04-20 11:29:00 +02:00
mosfet80 eb842aadff Update Application.cpp
removed commented code
2024-04-20 08:54:02 +02:00
Roy-043 eb59682a53 Merge pull request #13543 from Roy-043/Draft-Fix-error-when-deleting-first-digit-of-input
Draft: Fix error when deleting first digit of input
2024-04-19 21:36:38 +02:00
tomate44 1a2e922dce Part: fix shape projection of complex BSpline curves 2024-04-19 20:47:51 +02:00
Roy-043 64bcdbf961 Draft: Fix error when deleting first digit of input
Fixes #13150.
2024-04-19 19:16:13 +02:00
Roy-043 0622cb784e Merge pull request #13540 from Roy-043/Draft-Draft_ToggleGrid-should-update-the-grid
Draft: Draft_ToggleGrid should update the grid
2024-04-19 18:46:16 +02:00
Roy-043 a043cfa376 Draft: Draft_ToggleGrid should update the grid
Fixes #13530.
2024-04-19 15:42:28 +02:00
wmayer d075a5106f Tests: add unit tests for Color class 2024-04-19 13:07:54 +02:00
wmayer 6d84802946 App: use std::lround() to fix linter warnings 2024-04-19 13:07:10 +02:00
wmayer c3f9e6eed7 Part: Support of material colors in settings 2024-04-19 11:14:00 +02:00
wmayer 2d24fca530 Gui: Read material colors from settings 2024-04-19 11:13:59 +02:00
wmayer 475ece0777 App: Add setPackedRGB() and getPackedRGB() to Color class 2024-04-19 11:13:59 +02:00
David Carter b331a9f7a2 Material: Problems editing Quantity properties
There were several issues here, not just one. The following are fixed:

Incorrect display of Quantity items (NaN)
Editing and updating quantity items
Editing and updating items on the first row.

There are still issues with editing lists, but these were known issues at the time of initial merge. This has been split out into issue #13435

fixes #13020
2024-04-18 23:48:05 -05:00
wmayer 6e55cd1c3a Base: Fix possible race condition when restarting the application
When restarting the application (e.g. after installing an addon) the application will be closed and a new instance will be launched. Now it can happen that the old instance is still busy writing the config files to disk while the new instance wants to read them in. At this time it's possible that a config file is in an invalid state so that the new instance will ignore it but then starts with a default configuration.
Later when closing the new instance the config files will be overwritten and destroy the user's original settings.

By using a lock file this race condition will be avoided. It uses a timeout of 1 second that should be enough for the old instance to write the files to disk.
2024-04-18 23:07:58 -05:00
mosfet80 8dd2f8e8fa [App] clean
removed dead code
2024-04-18 23:06:47 -05:00
FEA-eng d79d3c0c8b FEM: Add NetGen Min Size (#12794) 2024-04-18 23:05:57 -05:00
dzid26 c6493f2ef8 Core: Bring ConfirmSave dialog to the top (#13352) 2024-04-18 22:56:28 -05:00
sliptonic c4db0a667e Merge pull request #13528 from Ondsel-Development/translation
[path] translation fixes
2024-04-18 19:52:21 -06:00
David Carter 553ba50b67 Materials: Update Material Models
Several minor material updates:
- Separate Hardness from LinearElastic model
- Add UUID definitions for FEM dependent models
- Update unit tests
2024-04-18 20:18:50 -04:00
sliptonic 85cdc56e60 translation stuff 2024-04-18 17:38:12 -05:00
wandererfan 1b39f6f3d9 [TD]set Leader QGraphicsItem parentage on restore 2024-04-18 14:41:38 -04:00
Chris Hennes 7ae62d74bf Base/Toponaming: Correct string hasher output 2024-04-18 13:25:57 -05:00
PaddleStroke 4f3bb4e543 TechDraw: Fix child of linked view. 2024-04-18 12:14:10 -04:00
PaddleStroke 156ae209f5 TechDraw: Fix child not moving when drag and dropping a view between pages. 2024-04-18 12:14:10 -04:00
PaddleStroke 0f06f509d3 TechDraw: Remove Share View from toolbars. Leave it in menu. 2024-04-18 12:14:10 -04:00
PaddleStroke fc32946149 TechDraw: Enable App::Links to work with TechDraw views. 2024-04-18 12:14:10 -04:00
wandererfan 5ed00d52dc [TD]Expose getVisibleVertexes/getHiddenVertexes to Python 2024-04-18 08:35:31 -04:00
wmayer 113782f65e CAM: fix regressions with material handling
The ShapeAppearance is a list of materials and thus assigning a color with 'obj.ViewObject.ShapeAppearance.DiffuseColor = color'
is incorrect.
But doing it with 'obj.ViewObject.ShapeAppearance[0].DiffuseColor = color' doesn't work as expected because the
internal notification doesn't work with a list.

So, the only viable way is to revert the changes and do it by assigning the color to the 'ShapeColor' attribute.
2024-04-18 13:57:48 +02:00
wmayer 588917d926 Arch: fix regressions with material handling 2024-04-18 13:46:59 +02:00
wmayer 3a541eeba9 App: Imrove exception handling in MaterialPy 2024-04-18 13:35:36 +02:00
Roy-043 7909815002 Sketcher: Improve GUI texts in SketcherSettingsAppearance.ui 2024-04-18 12:15:34 +02:00
wandererfan d611611055 [TD]fix crash on corrupt reference 2024-04-17 18:42:16 -04:00
Chris Hennes 6d504a0351 Update translations. 2024-04-17 16:50:38 -05:00
wmayer 64029d3a5b Sketcher: fix crash in CmdRenderingOrder::updateIcon()
If a parameter in the observed parameter group is changed then CmdRenderingOrder::OnChange() is called but the ActionGroup may not be created yet
2024-04-17 21:52:32 +02:00
wmayer 0226770b4c Base: handle exceptions in ParameterGrpPy 2024-04-17 21:52:32 +02:00
wmayer 757d564a7c Tests: add more unit tests for ParameterGrp 2024-04-17 21:45:26 +02:00
PaddleStroke 280452bcc8 Sketcher: Fix mid-point autoconstraint not working on polyline. Fixes #13277 2024-04-17 16:27:21 +02:00
wandererfan 8ebb848154 [TD]fix merge issue from PR13369
- PR13369 will not merge.  This is the final 2 commits.
2024-04-17 08:06:05 -04:00
wmayer cf1eeaab19 Gui: In property editor disable widget of Placement property is not part of a DocumentObject 2024-04-17 12:28:30 +02:00
wmayer 4a2190f835 Gui: In Placement dialog check that the object identifier has a valid property before binding it to a widget 2024-04-17 12:28:30 +02:00
mosfet80 d28fc946b4 [Mod] removed duplicated pi
removed duplicated pi definition
2024-04-17 08:08:45 +02:00
wandererfan 96cfd6b3dc [TD]fix 3d dimension position on DetailView 2024-04-16 13:20:02 -04:00
marioalexis 618592ea91 Fem: Remove unused functions 2024-04-16 11:28:52 -03:00
marioalexis 087788cb36 Fem: Add element types to ABAQUS writer 2024-04-16 11:28:52 -03:00
marcuspollio aff60eca02 ArchSpace - Improve Tooltip in Text following 13039 PR (#13422)
Co-authored-by: Yorik van Havre <yorik@uncreated.net>
2024-04-16 15:05:51 +02:00
Roy-043 9e76f0f65e Arch: Arch_Structure beam could have wrong length (#13399)
A beam created with Arch_Structure would have the wrong length if the 1st point was clicked and the 2nd point was entered in the task panel.

Forum topic: https://forum.freecad.org/viewtopic.php?t=86595

Aditionally: simplified rotateLH and rotateLW.

Co-authored-by: Yorik van Havre <yorik@uncreated.net>
2024-04-16 15:05:24 +02:00
Roy-043 76554835ba Draft: FIx issue with get_shape_normal
Forum topic: https://forum.freecad.org/viewtopic.php?t=86817
2024-04-16 15:04:49 +02:00
Roy-043 a837f710d3 Arch: Fix several Arch_Wall issues
* The Placement of Draft Line base objects was not adjusted to account for the current working plane. Forum topic: https://forum.freecad.org/viewtopic.php?t=86780
* Continue mode checkbox did not behave correctly because its value was based on FreeCADGui.draftToolBar.continueMode, which does not update as the parameter is changed. Will update other Arch code later.
* There was an issue with Draft Line based walls and continue mode. A Draft Line is selected after creation and the next command call would also use that line because of that. Resulting in 2 walls using the same line and an interuption of continue mode.
* setUseSketch changed the wrong parameter.
2024-04-16 15:04:29 +02:00
Roy-043 7fbe738cea Arch: Fix continue mode for Arch_Panel and Arch_Structure.
See #13378.
2024-04-16 15:04:00 +02:00
Yorik van Havre d67cd2b925 Draft: Use preference-stored colors for axes colors - issue #12208 2024-04-16 10:20:01 +02:00
bgbsww a4dd600ec6 Toponaming/Part: Fix hashing, hasher mismatches, and adjust test results to match 2024-04-15 23:00:27 -05:00
wandererfan 41bce2eaf4 [TD]fix BrokenView dimensions 2024-04-15 19:59:22 -04:00
Jacob Oursland 4f4df89442 CI: Enable debug verbosity to conda package install. 2024-04-15 12:14:21 -04:00
sliptonic d141c62327 Merge pull request #13394 from bgbsww/bgbsww-CAMTestsLeaveFile
Have grbl_post not write - file just like other postprocessors
2024-04-15 10:11:48 -06:00
wmayer 6c9b368b99 Data: Consistent data path
During the build process the example files are copied to the hardcoded path 'data/examples' while for the installed files
'/examples' is used. On Linux systems the value of the CMake variable is 'share' so that there is
an inconsistency between compiled and installed version.
2024-04-15 11:10:58 -05:00
David Carter f950a0c086 Material: Compatibility with older FCMat files
Provides compatibility loading older files outside the context of
a library.

Older material files were loaded by specifying a path. The new
material system used the path to associated the material with a
library, which may not be appropriate for legacy files. This change
allows the use of materials outside of a library.

Additionally, legacy files often have name/value pairs not part of the
standard list of properties. Since these were unable to be mapped to
a model property they were ignored. Materials now maintain a legacy
map to hold properties not associated with a property model. These
properties are considered transient and will not be saved. It is not
intended for this feature to be used as a generic container for
properties not mapped to an appropriate model.

Fixes #13302
2024-04-15 18:05:18 +02:00
Chris Hennes 0056038ff4 Toponaming/Base: Add ASCII stream output class (#13209)
* Toponaming/Base: Add ASCII stream output class

* Remove the ref from std::string

* Update based on review comments
2024-04-15 17:58:11 +02:00
PaddleStroke 4b968a607d Sketcher: Trim tool, hold click and move. Fixes #6152 2024-04-15 17:56:58 +02:00
Adrian Insaurralde Avalos aabb6124b1 Move macos CI to arm 2024-04-15 10:46:01 -05:00
Patryk Skowroński 233a61e54e New integration with 3Dconnexion devices (#12929)
* New integration with 3Dconnexion devices

* CMake build option hidden for Mac

* Minor fixes, to be squashed to previous commit

* cmake: fix indent and case; to be squashed

* Corrected name case

---------

Co-authored-by: Patryk Skowroński <pskowronski@3dconnexion.com>
Co-authored-by: Chris Hennes <chennes@pioneerlibrarysystem.org>
Co-authored-by: Ladislav Michl <ladis@linux-mips.org>
2024-04-15 10:43:45 -05:00
Chris Hennes 87839c9f8b Merge pull request #13332 from wwmayer/fix_material_issues
Fix material issues
2024-04-15 10:33:29 -05:00
Chris Hennes cd1f624afb Merge pull request #13411 from bgbsww/bgbsww-toponamingFeatureDressup10399
Toponaming/Part:  feature dressup and transform
2024-04-14 17:22:00 -05:00
bgbsww c988c4b65e Merge branch 'main' into bgbsww-toponamingFeatureDressup10399 2024-04-14 18:16:03 -04:00
Chris Mayo 6af79ebe00 Addon Manager: Remove mentions of GitPython
Not used since:
760aaf4afe ("Addon Manager: Complete migration away from GitPython", 2024-01-27)
2024-04-14 17:13:55 -05:00
bgbsww 3d1f6199c4 TopoNaming/PartDesign: Implement shapebinders 2024-04-14 17:13:14 -05:00
bgbsww 2e859100a9 Merge branch 'main' into bgbsww-toponamingFeatureDressup10399 2024-04-14 18:08:58 -04:00
Chris Hennes d1c5de6e06 Merge pull request #13401 from bgbsww/bgbsww-toponamingPD6FeaturePrimitive
Toponaming/Part:  Enhance testing for  primitive features
2024-04-14 16:21:38 -05:00
Chris Hennes f94a045598 Merge pull request #13387 from bgbsww/bgbsww-toponamingPD5FeaturePad
Toponaming/Part Transfer more python ElementMapVersion and add feature pad testing
2024-04-14 16:06:40 -05:00
wmayer e05e17c954 PD: Fixes #13446: Crash with hole in additive loft 2024-04-14 21:24:06 +02:00
wmayer 9fb2931781 Base: fix some linter warnings 2024-04-14 21:22:08 +02:00
bgbsww a88e7baff5 TopoShape/Part: Bug fixes; pass Hasher parms, OCCT 7.8 compatibility, ElementMaps correct item count 2024-04-14 13:56:07 -04:00
David Planella 34238a0b3d Renamed locale folders according to IETF subtags, added README file with instructions on how to add a new translation 2024-04-14 08:51:25 -04:00
David Planella 830c5e7943 Remove stray translations into their own locale folder 2024-04-14 08:51:25 -04:00
David Planella 9a592a64af Move all existing translation folders into locale subfolder 2024-04-14 08:51:25 -04:00
bgbsww 2eb4689996 Toponaming/Part: Add Pad test, cleanup 2024-04-14 07:10:27 -04:00
Zheng, Lei 2377175ab1 Toponaming/Part: Transfer in python ElementMapVersion 2024-04-14 07:10:27 -04:00
bgbsww 6291078939 Toponaming/Part: Initialize the hasher so that it operates 2024-04-13 22:41:57 -05:00
Roy-043 88b0ec5127 Gui: spelling: freezed -> frozen 2024-04-13 17:16:22 +02:00
luzpaz a3d72167b6 TD: Remove incorrect TODO
Closes #13410
2024-04-13 17:15:35 +02:00
wmayer b02ec8dc67 Gui: fix crash in PythonCommand::isChecked()
This very likely fixes the crash reported at https://forum.freecad.org/viewtopic.php?t=86874
2024-04-13 14:58:21 +02:00
wmayer f1c7d388dd Tests: add Parameter tests 2024-04-12 23:37:56 +02:00
wandererfan 74556bced8 [TD]handle odd projection cs in broken view 2024-04-12 13:41:46 -04:00
bgbsww 11b4d218bd Toponaming/Part: Enhanced testing for FeaturePrimitives 2024-04-12 10:32:05 -04:00
bgbsww b471435bc5 Toponaming/Part: Add Pad test, cleanup 2024-04-12 10:32:05 -04:00
Zheng, Lei 40c39ad897 Toponaming/Part: Transfer in python ElementMapVersion 2024-04-12 10:32:05 -04:00
Chris Hennes 5ef1b96a9d Merge pull request #13354 from bgbsww/bgbsww-toponamingPD1dependencies
Toponaming/Part transfer in part design dependencies
2024-04-12 09:22:09 -05:00
Chris Hennes 590aa2e7ea GitHub: Fix YAML format for labeler@v5 2024-04-12 09:00:32 -05:00
wandererfan cea3370a24 [TD]fix regression of svg hatch during export
- last worked in v0.20
- svg hatch tile field is not cropped on export to svg.  svg tiles are
  replaced by pixmap tiles for export.
2024-04-12 09:00:06 -04:00
Max Wilfinger afaf0ce8ea Add 'Mesh' option to issue template 2024-04-12 08:00:43 +02:00
Zheng, Lei 6c6dce236d Bring in missing code 2024-04-11 18:20:26 -04:00
bgbsww 5f2c412cfa Toponaming/Part: Clean and add tests 2024-04-11 11:30:04 -04:00
Zheng, Lei 7bc2b3688a TopoShape/Part: Bring in FeatureDressup 2024-04-11 10:22:11 -04:00
Bas Ruigrok 9991c430d2 Fix compiler warning 2024-04-10 22:31:35 +02:00
bgbsww 19794498bb Have grbl_post not write - file like other posts 2024-04-10 16:17:47 -04:00
mosfet80 c0d8de527a Update labeler.yml
fix deprecation warning
updated action/labeler to v5
2024-04-10 19:18:08 +02:00
mos 3b5bfd5af4 fix deprecation warning
update
actions/cache/save to v4
switch to node 20: fix deprecation warning

actions/cache/restore to v4

fix deprecation wawing
2024-04-10 19:16:45 +02:00
bgbsww bd307d7cac Toponaming/Part: Fix review items 2024-04-10 12:14:01 -04:00
wmayer 74f614a93d Fix handling of transparency / Restore colour per face
The Materials module does a conversion from float to double when saving the transparency and again a conversion from double to float to double
when restoring it. This causes a considerable loss of accuracy so that the representation in percent leads to different numbers.

Using consistently some helper functions to do a proper conversion from float to long and back fixes the problem.

The new property ShapeAppearance is a PropertyMaterialList and always read after the DiffuseColor property when restoring a document.
Thus, the  method onChanged() doesn't override DiffuseColor when restoring a document. Additionally, the method finishRestoring() is re-implemented
to set the colours per face in case DiffuseColor has defined multiple colors.
2024-04-10 13:32:58 +02:00
bgbsww c9d8bdf13d Toponaming/Part: Add deprecation comments, clean up code 2024-04-09 21:17:08 -04:00
Zheng, Lei 82c3e107d7 TopoShape/Part: Bring in PartDesign dependencies 2024-04-09 21:17:08 -04:00
bgbsww 83ea7e4355 Upgrade Toponaming tests 2024-04-09 16:19:07 -05:00
wmayer 0a5a1a5c32 Part: fix import of STEP files with colors per face 2024-04-09 22:15:51 +02:00
wmayer af317be718 Core: avoid conversion from float to double or vice-versa
When synchronizing the Transparency property with the transparency value of the ShapeAppearance property then do not convert between float and
double as otherwise some strange rounding issues can occur.

Example: Set the Transparency property of an object to 35 in the Property Editor. After leaving the editor the value may switch to 34.
2024-04-09 22:15:51 +02:00
wmayer 8cba167241 Part: fix some further regressions:
* Correctly load a file if colors are set per face
* Result of boolean operation is correctly colored if source objects have different colors
* Result of compound is correctly colored if source objects have different colors
2024-04-09 22:15:51 +02:00
wmayer 780481f6ed PD: fix shape appearance of datum features, shape binder and sub-shape binder 2024-04-09 22:15:51 +02:00
wmayer b7bc6ad1e6 Gui: add security checks to view provider extensions because they can be accessed if a document objects is not yet attached 2024-04-09 22:15:51 +02:00
wmayer 9b7a7b9756 Part: fix Part_RefineShape and Part_Section 2024-04-09 22:15:51 +02:00
wmayer 36d043cbbd Mod: code cleanup 2024-04-09 22:15:51 +02:00
wmayer 9c368d8916 Gui: fix Std_RandomColor 2024-04-09 22:15:51 +02:00
wmayer 4975da5a28 Mod: Adjust parent class for Python wrappers 2024-04-09 22:15:51 +02:00
wmayer a19afb0f7d Gui: fix ViewProviderGeometryObject
* fix several linter warnings
* remove code that cannot be executed: inside the constructor it cannot ever happen that getObject()
  returns a valid object
* in ViewProviderGeometryObject::handleChangedPropertyName call the method of the direct base class
  as otherwise this may break the mechanism in the future
* Shape is a property of an extension module -> move its handling to ViewProviderPartExt
2024-04-09 22:15:51 +02:00
wmayer 5853314833 App: Add PropertyMaterialList::resizeByOneIfNeeded to avoid code duplication 2024-04-09 22:15:51 +02:00
wmayer c161871689 App: fix several linter warnings 2024-04-09 22:15:51 +02:00
wmayer 8f649a8aa4 App: fix PropertyMaterial::Save to create valid XML output 2024-04-09 22:15:51 +02:00
wmayer 4fe1192e51 App: refactor MaterialPy to avoid code duplication 2024-04-09 22:15:51 +02:00
wmayer 9a16a7108f App: Fix linter warnings
* fix readability-uppercase-literal-suffix
* fix readability-avoid-const-params-in-decls
* fix cppcoreguidelines-special-member-functions
* fix cppcoreguidelines-pro-type-member-init
* fix modernize-use-equals-default
2024-04-09 22:15:50 +02:00
wmayer 3a34fe080a Mod: Show regressions in shape colouring
This PR demonstrates the known regressions of the recently merged material branch:
* Changing the transparency after setting color per face will reset them
* The result of boolean operations or compound doesn't inherit the colour of its input objects
* If colour is set per face to a boolean operaton object then saving and restoring the file causes weird rendering behaviour
  because material binding is set to PER_PART but only a single colour is defined
* If a shape inside a part container has set colour per face then saving and restoring as STEP file causes weird rendering
behaviour for the same reason
* Shape binder or datum objects don't show the correct default shape colour
2024-04-09 22:13:42 +02:00
marioalexis84 cc96f2718e Fem: Fix display modes order - fixes #13326 (#13358) 2024-04-08 18:15:12 +02:00
sliptonic afb4d6a344 Merge pull request #13330 from Rexbas/fix-navigation-with-overlays
Gui: Fix navigation with overlays
2024-04-08 11:09:10 -05:00
FEA-eng 2616a3d792 Add uncoupled temp-disp and heat transfer CalculiX FEM analysis types (#13296)
* FEM: Update solver.py

* FEM: Update write_step_equation.py

* FEM: fix temperature only analysis

---------

Co-authored-by: lyphrowny <strukov.as@edu.spbstu.ru>
2024-04-08 18:08:16 +02:00
lyphrowny 2fffcd1e8a FEM: add tests directory for function tests; add tests for parse_diff 2024-04-08 18:06:17 +02:00
lyphrowny f978e4b72b FEM: add floating point comparison for tests 2024-04-08 18:06:17 +02:00
Yorik van Havre 56ebe6a7b8 Arch: Upgraded reference tool
* Fixed translations
* Reference objects can now use whole file contents instead of having to choose a part
* Support for DXF files
* Support for IFC files (if NativeIFC is available)
* General code cleanup
2024-04-08 18:04:37 +02:00
paullee f4df8d0c10 [ArchWall] Fix regression make block from DraftWire
See FC Forum Discussion
- https://forum.freecad.org/viewtopic.php?t=86365
2024-04-08 12:03:40 -04:00
lyphrowny f2c8bb79d6 FEM: migrate calculix tests to ccxtools tests 2024-04-08 18:02:33 +02:00
wmayer b64e3e750f Sketch: add command to context-menu to change value of constraint
The edit datum dialog is opened by double-clicking on a dimensional constraint in a sketch. However, the double-clicking event doesn't work realiably on
some systems. As a workaround this PR adds the command to the context-menu.

For more details see the forum thread: https://forum.freecad.org/viewtopic.php?t=71137
2024-04-08 18:01:44 +02:00
Jiří Mácha 4b5d079e6b Assembly: fix segfault when Part property of Joint Connector is missing
FreeCAD is crashing during 'Solve Assembly' call if the Part property
(Assembly/Joints/Fixed/Joint Connector 1/Part1 or Assembly/Joints/Fixed/Joint
Connector 2/Part2) of fixed Joint is unset.

Steps to reproduce:

 - make simple Assembly e.g. of two cubes with Fixed joint
 - Select Fixed joint in the tree and go-to property 'Data' tab
 - Select Part1 or Part2 of 'Joint Connector 1' or 'Joint Connector 2'
   and remove this reference
 - call 'Solve Assembly' now

The FreeCAD will crash here because the call
App::DocumentObject* part = getLinkObjFromProp(joint, propPartName);
will return NULL pointer.

The property Part1 or Part2 can get empty (unset) during usual
construction operations - during changing construction history
and it can be very hard to find the cause of FreeCAD crash on a big
model.

This patch tries to fix the crash in such situation.
2024-04-08 18:00:40 +02:00
Max Wilfinger 33abd923b3 Update Sketcher context menu.
Refine poposed constraints on point selection.
Add symmetry constraint to context menu.
Rearrange commands to be consistent with the toolbar.
2024-04-08 17:58:28 +02:00
PaddleStroke 0fcaf5ccae Sketcher: Rectangle DSH Fixes #12297 2024-04-08 17:52:18 +02:00
PaddleStroke c42b1f1654 Sketcher: Make coincident points the same color as constraints. 2024-04-08 17:49:46 +02:00
PaddleStroke f5da655429 Sketcher: Points color reflect their construction state. Remove Vertex color. 2024-04-08 17:49:46 +02:00
PaddleStroke 81fcfa1dbe Sketcher: Point DSH: take construction mode into account. 2024-04-08 17:49:46 +02:00
Florian Foinant-Willig 17af20aa20 FEM: allow to Suppress the constraints (#12359)
* FEM: Introduce suppressible constraints

* fix public inheritance
2024-04-08 10:43:54 -05:00
wandererfan ee39814f0c [TD]fix templated autofill for sheet 2024-04-07 14:32:02 -04:00
mosfet80 ff2bca2505 Update sub_lint.yml
update c++ version from 11 to 17
2024-04-07 08:40:28 +02:00
wandererfan e39f6f69e7 [TD]create BrokenView from base view 2024-04-06 15:25:23 -04:00
wandererfan adb1c75a98 [TD]add guards for null shape 2024-04-06 15:25:23 -04:00
wandererfan 239d0423ec [TD]adjust breakline position 2024-04-06 15:25:23 -04:00
wandererfan 33a3c84d92 [TD]implement BrokenView 2024-04-06 15:25:23 -04:00
Bas Ruigrok 9bc550b530 Gui: Fix navigation with overlays 2024-04-05 22:30:52 +02:00
Chris Hennes d1930fc7e6 Merge pull request #13304 from chennes/updateBlack
Precommit: Update black
2024-04-05 08:51:58 -05:00
wmayer 14ed89f903 Material: add workbench manipulator
Implement a workbench manipulator to inject Std_Material and Std_Appearance to (context) menu.
2024-04-05 10:08:06 +02:00
wmayer b09289471d Gui: Fix broken toolbars layout due to MaterialWorkbench
The explicit activation of the MaterialWorkbench breaks the toolbars layout for every start. When fixing it manually it will be broken
again after the next start.

Because the core doesn't depend on the Material module it's a no-go to add an explicit runtime dependency to the corresponding workbench.

Since the Part module depends on the Materials module and the PartGui on MatGui the correct way is to let Part an PartGui load their
dependencies.
2024-04-05 10:08:06 +02:00
wmayer d5cfdb1f1e Material: fixes several issues
* fix warning -Wunused-variable
* fix warning -Wreorder-ctor
* fix warning -Wunused-but-set-variable
* fix uic warning for DlgDisplayProperties.ui
* rename the target MateriaTestLib ALL (note the typo and the already existing MaterialTestLib ALL) to MaterialTest ALL
  drop the hard dependency to the Part module: The document is checked for a property ShapeMaterial of type Materials::PropertyMaterial.
  An alternative could be to cast to GeoFeature and use the methods getMaterialAppearance() and setMaterialAppearance()
2024-04-05 10:08:06 +02:00
FEA-eng 7a44179529 MATERIAL: Update cardutils.py 2024-04-04 23:29:12 -05:00
Chris Hennes d9cb5fdfc7 Formatting: Update git blame ignore revs 2024-04-04 23:26:17 -05:00
Chris Hennes b93c02e07d Precommit: formatting fixes after Black update 2024-04-04 23:24:37 -05:00
mosfet80 9510029234 Precommit: Fix black CVE-2024-21503 vulnerability 2024-04-04 23:17:13 -05:00
PaddleStroke 5efc44d56a Sketcher: Translate Fixes #13189 horizontal/vertical lost. 2024-04-04 22:46:00 -05:00
CalligaroV 6779c912bf App/Toponaming: GeoFeature - fixes #13009 - fixes #13248
* Restored previous logic of GeoFeature::getElementName()
 * Added precompiler directive to use the old logic if FC_USE_TNP_FIX isn't defined, otherwise use the new logic
 * Reworked SketchObjectTest::getElementName() as a consequence of the previous points

Signed-off-by: CalligaroV <vincenzo.calligaro@gmail.com>
2024-04-04 22:09:12 -05:00
David Carter 495a96a0f5 Material: Material appearance
Uses new material system for appearance

Each feature object now has a property called ShapeMaterial that
describes its physical properties. If it has a shape, it has a
material.

The ShapeColor attribute is replaced by a ShapeAppearance attribute.
This is a material list that describes all appearance properties, not
just diffuse color. As a list in can be used for all elements of a
shape, such as edges and faces.

A new widget is provided to allow the user to select materials in a
consistent fashion. It can also launch the material editor with its
more advanced capabilities.
2024-04-04 07:39:58 -05:00
bgbsww 252707a803 Add an initial test to show TNP (#13233)
* Add an initial test to show TNP

* Add documentation, make review tweaks

* Quiet Lint
2024-04-03 16:53:58 -05:00
FEA-eng 4a10991596 TECHDRAW: Update DimensionValidators.h 2024-04-03 22:42:59 +02:00
FEA-eng 2f7b5a1cf5 TECHDRAW: Update DimensionValidators.cpp 2024-04-03 22:42:59 +02:00
FEA-eng b9c7a41517 ARCH: Update importIFCHelper.py 2024-04-03 18:48:45 +02:00
FEA-eng 9cab98e824 FEM: Update constraint_contact_solid_solid.py 2024-04-03 18:48:45 +02:00
FEA-eng 207c325d0e FEM: Update exportNastranMesh.py 2024-04-03 18:48:45 +02:00
FEA-eng e424befb09 FEM: Update ccxtools.py 2024-04-03 18:48:45 +02:00
FEA-eng b31e6d0ebe FEM: Update ccx_cantilever_beam_rect.py 2024-04-03 18:48:45 +02:00
FEA-eng dd8eb390f1 SPREADSHEET: Update importXLSX.py 2024-04-03 18:47:23 +02:00
wmayer b47d72f8de RE: Add function to approximate B-Spline from points 2024-04-03 18:06:00 +02:00
wmayer ba27d6d92d Part: Add overloaded methods of GeomBSplineCurve::approximate 2024-04-03 18:06:00 +02:00
wandererfan 94c2d4fff1 [TD]fix fail on corrupt dimension reference 2024-04-03 08:48:39 -04:00
wmayer d92267c6a7 Fix several compiler warnings
* fix -Winconsistent-missing-override
* fix -Wunused-but-set-variable
* fix -Wunused-parameter
* fix -Wunused-lambda-capture
* fix -Wunused-private-field
* fix -Wpessimizing-move
2024-04-03 10:04:56 +02:00
wmayer 0b08ea3368 C++: replace deprecated vsprintf and sprintf
With future C++ compilers the methods vsprintf and sprintf are declared as deprecated due to security issues.
They are replaced with the secure counterpart of the fmt library

Fixes the compiler warnings -Wdeprecated-declarations
2024-04-03 10:04:56 +02:00
Chris Hennes d8a194a70b Fix Material resource location 2024-04-02 22:52:52 -05:00
CalligaroV 66912a6810 Part/Toponaming: WireJoiner - use std::hash with OCC_VERSION_HEX >= 0x070800
* Added precompiler directive to use std::hash instead of HashCode(INT_MAX) if OCC_VERSION_HEX >= 0x070800

Signed-off-by: CalligaroV <vincenzo.calligaro@gmail.com>
2024-04-02 17:23:56 -05:00
wmayer 648bf95112 Mat: Material editor can't be opened from FEM_MaterialSolid and FEM_MaterialFluid
This fixes #12949.

* The file materials-editor.ui must be installed with a separate INSTALL command because it goes to another directory than the other resource files.
* Material_rc.py isn't copied to the build directory any more. So, then don't install it either.
2024-04-02 17:44:28 +02:00
wmayer d1532cae5c Material: add MatGuiImages to MatGui target 2024-04-02 17:44:28 +02:00
wmayer 20a05400fa Robot: do not install testprog.* files 2024-04-02 17:44:28 +02:00
wmayer 21a842cc32 FEM: do not copy __init__.py from z88 into its sub-directories with INSTALL target 2024-04-02 17:44:28 +02:00
wmayer 68417edbce Ext: copy Python modules to Ext to be consistent with INSTALL target 2024-04-02 17:44:28 +02:00
Ladislav Michl 5a9ba5f4db Gui: WorkbenchSelector: Fix build with Qt6
indexOf is returning qsizetype in Qt6, so use type explicitely.
2024-04-02 16:19:27 +02:00
Ladislav Michl 870334cfcd Gui: WorkbenchSelector: Fix whitespaces 2024-04-02 16:19:27 +02:00
Yorik van Havre 988e86731e Setter for Modified attribute 2024-04-02 15:28:57 +02:00
FEA-eng 57eeb029b7 FEM: Update importToolsFem.py 2024-04-02 15:27:13 +02:00
paullee e76d31a328 [ArchRoof] Generate subVolume from base if solid
For roof created from Base object as solids:
Not only the solid of the base object itself be subtracted from a Wall, but all portion of the wall above the roof solid would be subtracted as well.

FC forum discussion : Sketch based Arch_Roof and wall substraction
- https://forum.freecad.org/viewtopic.php?t=84389
2024-04-02 15:25:38 +02:00
sliptonic ad15de4b68 Merge pull request #13254 from jamwaffles/drill-g85-feed-retract
CAM/Drilling: Add feed retract option to drilling op settings for reaming/boring heads
2024-04-02 07:57:55 -05:00
sliptonic aa595524b9 Merge pull request #13273 from Ondsel-Development/cam-prefs
Cam prefs
2024-04-02 07:35:52 -05:00
Roy-043 b4e50f4d93 Arch: Arch_Pipe did not process Subtractions and Additions
Forum topic:
https://forum.freecad.org/viewtopic.php?t=86556
2024-04-02 12:06:19 +02:00
paul d3d18ac7e0 [ArchWall] getExtrusionData() fix normal problem by adding get_shape_normal() (#12603)
* [ArchWall] getExtrusionData() fix normal problem by adding get_shape_normal()

In geometry.py
- added get_shape_normal()
- fixed is_straight_line()
DraftGeomUtils.py
- added get_shape_normal()

FC Discussion - https://forum.freecad.org/viewtopic.php?p=726101#p726101

* [ArchWall] getExtrusionData() fix normal problem

Follow-up following discussion at https://github.com/FreeCAD/FreeCAD/pull/12603

- delete trailing whitespaces
- put Part.makePolygon() in try statement
- study and findings at https://github.com/FreeCAD/FreeCAD/pull/12603#issuecomment-1969277743

In geometry.py
- added get_shape_normal()
- fixed is_straight_line()
DraftGeomUtils.py
- added get_shape_normal()

FC Discussion - https://forum.freecad.org/viewtopic.php?p=726101#p726101

* Update geometry.py

* Update geometry.py

* Update geometry.py

---------

Co-authored-by: Yorik van Havre <yorik@uncreated.net>
2024-04-02 11:54:27 +02:00
James Waples 01ea7b9467 Add tests for drill feed retract option 2024-04-02 09:45:34 +01:00
James Waples 37c27b9488 Add some extra docs and combinatorial checks 2024-04-02 09:45:34 +01:00
James Waples 0e502a1a53 Add tooltip 2024-04-02 09:45:34 +01:00
James Waples de685691ad CAM/Drilling: Add feed retract option to drilling op settings
Adds a checkbox to output a G85 cycle used for reaming or boring. The
cycle is like a normal drilling op, but feeds back out of the hole
instead of performing a rapid move.

G85 does not support peck or dwell, so those other options are disabled
when the "Feed retract" option is enabled in the UI.
2024-04-02 09:45:34 +01:00
PaddleStroke 581dee4d48 Sketcher: Fixes #13181 2024-04-02 09:48:44 +02:00
wmayer d063ea58a4 Gui: Fix Std_LinkActions
Currently the active button of the Std_LinkActions command is toggable that is confusing behaviour.
This PR makes the action group non-checkable
2024-04-02 08:19:38 +02:00
wmayer 3b39c0885b PD: Fixes 12673: Transforming of sub-shape binder fails
The problem is caused by conflicting values of the anonymous enum of ViewProviderSubShapeBinder. The solution is to set a higher value than the highest value of EditMode
2024-04-02 08:18:46 +02:00
wmayer a7470332f7 PD: replace static_cast with dynamic_cast
The use of static_cast here could cause undefined behaviour because at this point it's not guaranteed that findBodyOf()
really returns a PartDesign::Body
2024-04-02 08:17:45 +02:00
sliptonic 5cd958dee5 fixes #13206 2024-04-01 18:20:27 -05:00
sliptonic f8122eecae fixes #13207 2024-04-01 18:20:27 -05:00
bgbsww 99da05f8a6 Rewrite PropertyTopoShape::getShape to fix dangling reference 2024-04-01 16:54:59 -05:00
ppphp ecf6532969 fix for yaml version 2024-04-01 16:46:57 -05:00
wmayer ac1d887336 Gui: fix compiler warning 2024-04-01 19:42:08 +02:00
wmayer 4b18a1018b FEM: Handle unknown exception when applying a constraint to a B-Spline surface
Fixes #13213

An OCC exception is raised when trying to normalize a null vector. The solution is to check the square length before normalizing it
2024-04-01 19:38:28 +02:00
sliptonic 6ca35709dd Merge pull request #13256 from wwmayer/extend_parameterpy
Base: expose a method to rename a parameter group to Python
2024-04-01 11:32:21 -05:00
Chris Hennes 8a6bb8884b Merge pull request #13196 from bgbsww/bgbsww-toponamingCompSolidPyImp
Toponaming/Part move in PyImps
2024-04-01 11:30:44 -05:00
Furgo ecf5eba82e Fix to WebGL export. Closes: #13186 2024-04-01 11:25:23 -05:00
PaddleStroke 4b16444bae Core: Std_ToggleTransparency: Fixes #11353 2024-04-01 11:23:49 -05:00
PaddleStroke c26f52c4e4 Sketcher: Symmetry fix #13164 2024-04-01 11:20:40 -05:00
PaddleStroke 64054d13c4 Sketcher: Add line mid-point auto-constraint 2024-04-01 11:20:02 -05:00
PaddleStroke f9c9870273 SpreadSheet: Double clicking a spreadsheet changes to spreadsheet wb 2024-04-01 12:18:38 -04:00
sliptonic 5ee34d7ead Merge pull request #13130 from maxwxyz/fem-icons
UI: update FEM icons
2024-04-01 11:16:09 -05:00
Max Wilfinger eaf1e7ecee adjust Part Design icons incl. WB icon 2024-04-01 11:15:33 -05:00
FEA-eng 63b7ff464a FEM: Update ObjectsFem.py 2024-04-01 11:04:56 -05:00
marioalexis 816226d332 Fem: Improve post-processing object style - fixes #13017 2024-04-01 11:04:29 -05:00
PaddleStroke 5668b6952b Sketcher: Chamfer Fix #13049 2024-04-01 11:04:02 -05:00
Florian Foinant-Willig aed5727ac3 [PD] Fix crash related to SuppressibleExtension 2024-04-01 11:02:25 -05:00
David Carter 57c66a96a6 Material: Add thermal reference temperature (#13026)
* Material: Add thermal reference temperature

Fixes #13019

Adds the property 'Thermal Expansion Reference Temperature' to
the Thermal properties

* Fix delegates
2024-04-01 11:00:45 -05:00
André Althaus 79f9da420c Ignore suppressed features in patterns
This will remove all suppressed features from the Originals list
before calculating the patterns.
2024-04-01 10:58:24 -05:00
mosfet80 26f8de3a45 Update sub_buildWindows.yml
updated microsoft/setup-msbuild@ to version 2
fix deprecation warning
2024-04-01 10:55:45 -05:00
lyphrowny f6ababfdb4 FEM: Fix cxx typo and remove calculix from solvers tab in examples (#12876)
* FEM: remove calculix from solvers

* FEM: remove calculix from joint with ccxtools if branches

* FEM: remove calculix from its if

* FEM: fix cxx typo in translations

* FEM: fix cxx typo in classes name

* FEM: fix ccx typo in shortcuts

* FEM: convert FEM_*CcxTools to CamelCase

* FEM: remove tests related to calculix

* FEM: remove test_solver_calculix.py from Fem/CMakeLists.txt

* FEM: convert all 'CalculiXccxTools' to 'CalculiXCcxTools'

* FEM: revert changes in all *_*.ts files

* FEM: convert 'SolverCcxtools' to 'SolverCcxTools'

* FEM: convert remaining 'Ccxtools' to 'CcxTools'
2024-04-01 10:51:23 -05:00
mosfet80 4b7b09d1f8 Clean FindEigen3.cmake (#12632) 2024-04-01 10:47:19 -05:00
sliptonic 75c589d355 Merge pull request #12602 from FlachyJoe/arc-distance
Sketcher : ArcLength Constraint
2024-04-01 10:43:35 -05:00
André 3604e57d6d Allow adding subfeatures to MultiTransform if there is no active Body (#12538)
* Allow adding subfeatures to MultiTransform if there is no active Body

Previously the active Body would be checked and used to add new
subfeatures.
This would either do nothing, when no Body was active,
causing confusion for users becaues than can edit other features without
an active Body.
Or it would add the subfeature to the wrong Body if another Body than the
one of the MultiTransform was active.

Now the Body of the MultiTransform is checked and used.

# Conflicts:
#	src/Mod/PartDesign/Gui/TaskMultiTransformParameters.cpp

* Change getTopTransformedObject() to protected

This needs to be called from the MultiTransform.

* Fix typo
2024-04-01 10:40:17 -05:00
Adrián Insaurralde Avalos 5a960792e5 Material: fix windows debug builds
Material: fix cmake linking of yaml-cpp<0.7.0
write version in final report
2024-04-01 10:38:23 -05:00
PaddleStroke cd94350df0 Core: Introduce Tab-Bar workbench selector 2024-04-01 10:35:53 -05:00
wmayer c3f70bfa7f Base: expose a method to copy a parameter group to Python 2024-04-01 14:56:19 +02:00
wmayer e16ccc33ce Base: expose a method to rename a parameter group to Python 2024-04-01 14:43:23 +02:00
wmayer a0e901defd Base: Fix linter warnings in ParameterPy 2024-04-01 14:23:41 +02:00
Roy-043 6c0865a7b9 Sketcher: Rename Sketcher_BSplineApproximate.svg
For consistency: rename the icon to match the command name.
2024-03-31 17:40:40 +02:00
wmayer 1d5de9d356 Base: Fix console logging macros
The notifier string must be a std::string() instead of an empty C string as otherwise the wrong methods are called so
    that all messages are sent to the void.

    This regression was caused by commit dc08aa8e0f
2024-03-31 17:38:26 +02:00
wmayer 7d10f5ed73 PD: Mirror feature should be more permissive
If you have a mirror feature and set the mirror plane with the normal feature editing the recompute works. But if the mirror plane is set with the property editor then the recompute fails with the message that no mirror plane reference is set.

This is related to a an empty sub-name list of the link property instead of a single and empty sub-name element.

This PR allows to specify a sketch, plane or datum plane without a sub-name.

For more details see: https://forum.freecad.org/viewtopic.php?t=86568

This fixes #13238
2024-03-31 17:32:27 +02:00
wmayer ede1ccc191 PD: refactor Mirrored::getTransformations 2024-03-31 17:32:27 +02:00
Dov Grobgeld 67ac3631ce Fix regexp string quoting 2024-03-31 17:28:47 +02:00
bgbsww c8d54181d4 Add Tests 2024-03-31 09:32:06 -04:00
wmayer 7cbb28ca53 Gui: fix computing status value and use enum to avoid magic numbers 2024-03-31 10:59:00 +02:00
wmayer e422084e92 Gui: the overlay icon for the call tips list is too small 2024-03-31 10:48:50 +02:00
ppphp 91457bbdee add version check macro for compatibility 2024-03-31 10:47:32 +02:00
pre-commit-ci[bot] b5fa008272 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2024-03-31 10:47:32 +02:00
ppphp c014ab7a4e fix: some unuse argument warning 2024-03-31 10:47:32 +02:00
ppphp aa54ba73df fix: c++20 deprecate copy_option 2024-03-31 10:47:32 +02:00
ppphp da7ee06d67 fix: c++20 deprecate [=] 2024-03-31 10:47:32 +02:00
Roy-043 6fbd8916ab Gui: Std_ViewLeft should be last in "Individual views" toolbar
See #13227.
2024-03-30 17:46:25 +01:00
Max Wilfinger 67b587efde add missing view top option + arrangement 2024-03-30 11:50:17 +01:00
Max Wilfinger 6ca8b2daae update hardcoded XPMs to .svg files. Updated .svg icons for clarity. 2024-03-30 11:25:13 +01:00
wmayer 82e1091c19 Mesh: fix linter warnings 2024-03-30 00:21:58 +01:00
wmayer a79eef0a39 Mesh: remove problematic method MeshGrid::Rebuild(unsigned long, unsigned long)
and MeshGrid::CalculateGridLength(unsigned long, unsigned long)

For almost flat meshes CalculateGridLength may compute a grid with a huge amount of cells that allocates the whole RAM of the system while for an exactly flat mesh a grid with a sensible number of cells is computed.

Use the overloaded methods of MeshGrid::Rebuild(unsigned long) and MeshGrid::CalculateGridLength(unsigned long) instead
2024-03-30 00:21:58 +01:00
wmayer 67ba197d9c Test: add unit tests for mesh grid creation 2024-03-30 00:21:58 +01:00
Chris Hennes 3fadb1f40b Merge pull request #13197 from bgbsww/bgbsww-toponamingAppPartPy
Toponaming/Part:  move in  AppPartPy
2024-03-28 13:57:30 -05:00
Chris Hennes 49451b3c7f Merge pull request #13154 from chennes/translations20240325
Update translations and fix script
2024-03-28 13:51:39 -05:00
Roy-043 c928fad346 Merge pull request #13191 from Roy-043/Draft-add-Fuse-property-to-patharray-and-pathtwistedarray
Draft: add Fuse property to patharray and pathtwistedarray
2024-03-28 18:58:36 +01:00
Zheng, Lei 75c78369c7 Toponaming/Part: move in remaining ifdef methods and the new TopoShapePy methods 2024-03-28 13:09:14 -04:00
bgbsww 4a0e57907b Toponaming/Part Tests 2024-03-28 13:09:14 -04:00
Zheng, Lei 401b03bdff Toponaming/Part: move TopoShapePyImp ifdef methods in 2024-03-28 13:09:14 -04:00
bgbsww b690aac305 Toponaming/Part: Rework and clean python interface and add tests 2024-03-28 13:09:09 -04:00
bgbsww b241c0d4e6 Toponaming/Part: Rework and clean python interface and add tests 2024-03-28 12:47:33 -04:00
Chris Hennes a84255dde8 Merge pull request #13156 from bgbsww/bgbsww-toponamingTopoShapePyImp2
Toponaming/Part: move ToposhapePyImp get methods into place
2024-03-28 09:18:56 -05:00
Chris Hennes ada6c62e14 Merge pull request #12535 from CalligaroV/toponaming-WireJoiner
Part/Toponaming: Transfer WireJoiner
2024-03-28 09:17:49 -05:00
Zheng, Lei 5663ecfd86 Transfer in makeCompound python interface and other tnp clauses into AppPartPy 2024-03-28 09:01:31 -04:00
Zheng, Lei 8f5394f2f2 Toponaming/Part: move Toposhapepy get methods in 2024-03-28 09:01:31 -04:00
Max Wilfinger c3409fa424 add missing commands to tree context menu to be consistent with other WBs 2024-03-28 13:02:18 +01:00
Roy-043 beb66d3cfb Sketcher: Improve menu text of Sketcher_MapSketch
The old menu text of Sketcher_MapSketch did not describe the tool very well. Not just a face can be selected.

"Map sketch to face..." -> "Attach sketch..."

Forum topic:
https://forum.freecad.org/viewtopic.php?t=86112
2024-03-28 12:05:08 +01:00
Roy-043 0651883feb Draft: add Fuse property to patharray and pathtwistedarray
See #13172.
2024-03-28 12:03:46 +01:00
tomate44 d2f43e0d2c TopoShapePy: enable multithreading in function distToShape 2024-03-28 11:00:27 +01:00
tomate44 5603c697d0 TopoShapePy: add optional tolerance to function distToShape 2024-03-28 11:00:27 +01:00
wmayer 1eea88a8b7 Gui: add overloaded method pixmapFromSvg() to pass the device pixel ratio of a widget 2024-03-28 07:27:29 +01:00
wmayer 83b72e75a2 Fixes #12865: CommandView Cursor Icons use hardcoded XPM
For the cursor use the device pixel ratio to avoid to look pixelated on HiDPI screens
2024-03-28 07:26:12 +01:00
wmayer 298d6eebe0 Gui: add SVG icons 2024-03-28 07:26:12 +01:00
bgbsww 4df1088896 Toponaming/Part: Bug fix for #13169 while we sort this out 2024-03-27 21:33:57 -05:00
wandererfan 10b9229492 [TD]fix fail on undo of cosmetic delete 2024-03-27 13:23:45 -04:00
Roy-043 ef16ecafc2 Merge pull request #13172 from Roy-043/Draft-add-Fuse-property-to-pointarray
Draft: add Fuse property to pointarray
2024-03-27 16:44:53 +01:00
Roy-043 aa38aecfb6 Merge pull request #13162 from yorikvanhavre/draft-fix-webgl
Arch: Small fix in webgl export
2024-03-27 16:44:15 +01:00
bgbsww e75b5db8c7 Toponaming/Part: remove senseless voids 2024-03-27 08:49:51 -04:00
Chris Hennes 360e280c64 FEM: Rename vtkWriter to femVTKWriter to make MSVC happy 2024-03-27 12:08:29 +01:00
bgbsww 9ddc4f1372 Toponaming/Part: Fix elementMatch to use full clause and be deterministic 2024-03-26 23:01:54 -05:00
Roy-043 723d68f16d Draft: add Fuse property to pointarray
Fixes #12906.
2024-03-26 22:36:18 +01:00
Max Wilfinger d5a9fb329f update FEM icons 2024-03-26 18:48:40 +01:00
wmayer dc3e0c3dcf RE: use of TaskDialog::addTaskBox 2024-03-26 15:57:20 +01:00
wmayer c0f151104a Surface: use of TaskDialog::addTaskBox 2024-03-26 15:57:20 +01:00
wmayer 8aee9c35a4 Part: use of TaskDialog::addTaskBox 2024-03-26 15:57:20 +01:00
wmayer b283316571 MeshPart: use of TaskDialog::addTaskBox 2024-03-26 15:57:20 +01:00
wmayer 793685de3c Drawing: use of TaskDialog::addTaskBox 2024-03-26 15:57:20 +01:00
wmayer 7a535eedc5 Mesh: use of TaskDialog::addTaskBox 2024-03-26 15:57:20 +01:00
wmayer 655e2f6978 Gui: allow to add task box with no header and
add methods to add a task box to a watcher
2024-03-26 15:57:20 +01:00
wmayer 0ed7eb5652 Gui: use of TaskDialog::addTaskBox 2024-03-26 15:57:20 +01:00
wmayer bc9d845296 Gui: extend and add overloaded method of TaskDialog::addTaskBox 2024-03-26 15:57:20 +01:00
wmayer c649fd3d09 Part: add export macro for Windows builds 2024-03-26 15:54:13 +01:00
wmayer 2c4fbc5427 Part: make GUI for ProjectOnSurface feature 2024-03-26 15:54:13 +01:00
wmayer 969106d2a7 Part: add ViewProviderProjectOnSurface 2024-03-26 15:54:13 +01:00
wmayer 0bb9399806 Part: make projection on surface parametric 2024-03-26 15:54:13 +01:00
PaddleStroke 01aca973b2 TechDraw: Remove "cosmetic eraser" from toolbar 2024-03-26 09:01:58 -04:00
Günther Eder 4845d391ed fix: BoundBox exception when inserting BIM section plan into TechDraw. (#13153) 2024-03-26 11:23:55 +01:00
Yorik van Havre 7faaf67a68 Arch: Small fix in webgl export - fixes #13160 2024-03-26 11:21:52 +01:00
Roy-043 e7c0d969f4 Merge pull request #13051 from yorikvanhavre/draft-wp-set-color
Draft: Allow to change grid color in WP taskpanel
2024-03-26 11:17:13 +01:00
Roy-043 d397cf2d59 Merge pull request #13100 from Roy-043/Draft-fix-handling-of-shapes-in-shape2dview.py
Draft: fix handling of shapes in shape2dview.py
2024-03-26 11:12:59 +01:00
wmayer 4c9b21d003 Sketcher: fix typo in function name -> areCollinear
The same function exists in the Draft module but don't fix it there to avoid to possibly break add-ons
2024-03-26 10:34:01 +01:00
CalligaroV 90bf69e287 Part/Toponaming: Transfer WireJoiner
* Applied modifications to reduce the number of Lint warnings (round 3)
 * Added note about the WireJoiner class in Mod/CAM/App/Area.cpp
2024-03-26 09:57:47 +01:00
CalligaroV b766126a85 Part/Toponaming: Transfer WireJoiner
* Applied modifications to reduce the number of Lint warnings (round 2)
2024-03-26 09:57:47 +01:00
CalligaroV 051b962713 Part/Toponaming: Transfer WireJoiner
* Applied modifications to reduce the number of Lint warnings (round 1)

Signed-off-by: CalligaroV <vincenzo.calligaro@gmail.com>
2024-03-26 09:57:47 +01:00
CalligaroV 3a53e89921 Part/Toponaming: Transfer WireJoiner
* Added test for WireJoiner::IsDeleted()
 * Fixed a typo in test for WireJoiner::Modified()
 * Fixed a typo in test for WireJoiner::Generated()

Signed-off-by: CalligaroV <vincenzo.calligaro@gmail.com>
2024-03-26 09:57:47 +01:00
CalligaroV 1984846af4 Part/Toponaming: Transfer WireJoiner
* Added test for WireJoiner::Generated()

Signed-off-by: CalligaroV <vincenzo.calligaro@gmail.com>
2024-03-26 09:57:47 +01:00
CalligaroV 522b5836f9 Part/Toponaming: Transfer WireJoiner
* Added test for WireJoiner::Modified()
 * Fixed typo in test for WireJoiner::getResultWires()

Signed-off-by: CalligaroV <vincenzo.calligaro@gmail.com>
2024-03-26 09:57:47 +01:00
CalligaroV ca0f58c389 Part/Toponaming: Transfer WireJoiner
* Added test for WireJoiner::Build()
 * Fixed typo in test for WireJoiner::getResultWires()

Signed-off-by: CalligaroV <vincenzo.calligaro@gmail.com>
2024-03-26 09:57:47 +01:00
CalligaroV 8c757a9fd1 Part/Toponaming: Transfer WireJoiner
* Added test for WireJoiner::getResultWires()
 * Replaced references in test for WireJoiner::getOpenWires() with more correct references
 * Added a comment in WireJoiner::WireJoinerP::getResultWires() to better explain how it works

Signed-off-by: CalligaroV <vincenzo.calligaro@gmail.com>
2024-03-26 09:57:47 +01:00
CalligaroV fa674df945 Part/Toponaming: Transfer WireJoiner
* Added test for WireJoiner::getOpenWires()

Signed-off-by: CalligaroV <vincenzo.calligaro@gmail.com>
2024-03-26 09:57:47 +01:00
CalligaroV 2b2f69f60f Part/Toponaming: Transfer WireJoiner
* Added test for WireJoiner::setTolerance()

Signed-off-by: CalligaroV <vincenzo.calligaro@gmail.com>
2024-03-26 09:57:47 +01:00
CalligaroV 12fee40c6a Part/Toponaming: Transfer WireJoiner
* Added test for WireJoiner::setMergeEdges()
 * Changed position of some comments

Signed-off-by: CalligaroV <vincenzo.calligaro@gmail.com>
2024-03-26 09:57:47 +01:00
CalligaroV 86ccf2a4ed Part/Toponaming: Transfer WireJoiner
* Added test for WireJoiner::setSplitEdges()

Signed-off-by: CalligaroV <vincenzo.calligaro@gmail.com>
2024-03-26 09:57:47 +01:00
CalligaroV 374ed64c1f Part/Toponaming: Transfer WireJoiner
* Added test for WireJoiner::setTightBound()
 * Minor modifications and typo

Signed-off-by: CalligaroV <vincenzo.calligaro@gmail.com>
2024-03-26 09:57:46 +01:00
CalligaroV fb0e7dad14 Part/Toponaming: Transfer WireJoiner
* Added test for WireJoiner::setOutline()

Signed-off-by: CalligaroV <vincenzo.calligaro@gmail.com>
2024-03-26 09:57:46 +01:00
CalligaroV ca90a5bd9b Part/Toponaming: Transfer WireJoiner
* Created dedicated tests file for WireJoiner
 * Added test for WireJoiner::addShape()

Signed-off-by: CalligaroV <vincenzo.calligaro@gmail.com>
2024-03-26 09:57:46 +01:00
Zheng, Lei 310b341f65 Part/Toponaming: Transfer WireJoiner 2024-03-26 09:57:46 +01:00
Roy-043 a7251a6c3a Sketcher: Spelling colinear -> collinear
I have not changed the name of the `areColinear` function.
2024-03-26 07:40:14 +01:00
Chris Hennes 4596aa1ae6 Add missing files to PreCompiled.h 2024-03-26 07:36:24 +01:00
Chris Hennes ba8250e3fd Add QOffscreenSurface to QtAll.h 2024-03-26 07:33:43 +01:00
Chris Hennes 148fd37c5a Merge pull request #13096 from bgbsww/bgbsww-toponamingComplexGeoData
Toponaming/Part Bring in Python layer for ComplexGeoData
2024-03-25 23:20:52 -05:00
Chris Hennes 9f4a0ab622 Merge pull request #13084 from bgbsww/bgbsww-toponamingSketcherGetElementName
Toponaming/Part: Move sketcher override of getElementName over
2024-03-25 23:00:04 -05:00
bgbsww df381e0a21 Clean and test ComplexGeoData python interface 2024-03-25 21:52:37 -04:00
Zheng, Lei 6c7079ef70 Transfer in ComplexGeoData python interface 2024-03-25 21:52:36 -04:00
bgbsww 55acedb83d Clean, enable disabled element map code in sketcher, add tests 2024-03-25 21:51:41 -04:00
Zheng, Lei f19df465ea Toponaming/Part: Move sketcher override of getElementName over 2024-03-25 21:51:41 -04:00
Zheng, Lei 4f7cc3d5d7 Toponaming/Part: move Toposhapepy get methods in 2024-03-25 21:23:41 -04:00
wandererfan 2712a98d47 [TD]fix ComplexSection with ViewDirection == Z 2024-03-25 21:22:04 -04:00
wandererfan a171886f8c [TD]remove 2 unused methods 2024-03-25 21:22:04 -04:00
Chris Hennes 99e93f60b1 Fix apos and quot html entities in CAM 2024-03-25 18:09:46 -05:00
Chris Hennes af131413c5 Update translations 2024-03-25 18:08:22 -05:00
Chris Hennes 9e121fe32f CAM: Remove old Path translation files 2024-03-25 17:34:04 -05:00
Chris Hennes 47df83c4db Translation update: move Path to CAM 2024-03-25 17:32:59 -05:00
Florian Foinant-Willig ab7c1423fb fix undeclared M_PI 2024-03-25 22:32:20 +01:00
Florian Foinant-Willig 646b4381f9 Sketcher: ArcLength GUI 2024-03-25 22:32:20 +01:00
Florian Foinant-Willig a8254a4e0c Sketcher : ArcLength Constraint 2024-03-25 22:32:20 +01:00
sliptonic 380d452adb Merge pull request #13056 from plaes-prs/drop-dos2unix
fedora.spec: Drop dos2unix dependency
2024-03-25 12:38:46 -05:00
Yorik van Havre 1f195b428a Merge branch 'main' into draft-wp-set-color 2024-03-25 18:37:00 +01:00
Yorik van Havre c9d6b9c1cc Merge branch 'main' into Draft-fix-handling-of-shapes-in-shape2dview.py 2024-03-25 18:36:24 +01:00
sliptonic 4182e5f7f1 Merge pull request #12991 from qewer33/master
Re-arrange Start Page template buttons
2024-03-25 12:31:43 -05:00
Florian Foinant-Willig c7d85ff9d9 [PartDesign] Still a helix fix (#12977)
* [PartDesign] Still a helix fix

If we don't break the helix path at each turns we get a vaild path for
MakePipe (solid) even with an angle.

* Decrease helix tests requirements
2024-03-25 18:31:20 +01:00
sliptonic a582287ffb Merge pull request #12975 from maxwxyz/issue-metrics
Update issue-metrics.yml
2024-03-25 12:29:02 -05:00
sliptonic fffbff0ff0 Merge pull request #12948 from wwmayer/issue_5609
Fixes #5609: Add MSAA 6x option
2024-03-25 12:27:58 -05:00
PaddleStroke dfb4afb3af TechDraw: Enable drag and drop to and from clip groups.
Remove TechDraw_ClipGroupAdd and TechDraw_ClipGroupRemove from the UI.
2024-03-25 13:17:46 -04:00
PaddleStroke fae245be0e TechDraw: double clicking page switch to techdraw wb. Fixes #13061 2024-03-25 13:17:46 -04:00
PaddleStroke fdfa5de192 TechDraw: Remove "TechDraw_MoveView" as it is now handled by drag and drop. 2024-03-25 13:17:46 -04:00
PaddleStroke 843dd55dd4 TechDraw: Enable dragging and dropping of views between pages. 2024-03-25 13:17:46 -04:00
sliptonic f5a5b6646b Merge pull request #12662 from FEA-eng/fem_ccx_incrementation
New FEM CalculiX incrementation settings
2024-03-25 12:16:36 -05:00
PaddleStroke e4213fc10f Sketcher: Symmetry tool rework. 2024-03-25 17:48:01 +01:00
Yorik van Havre 3defef03c6 Arch: Allow to write IFC objects without owner history (#13076)
* Arch: Allow to write IFC objects without owner history

* Arch: Fixed context detection in IFC exporter
2024-03-25 17:29:33 +01:00
FEA-eng d8b289df6e Merge branch 'FreeCAD:main' into fem_ccx_incrementation 2024-03-25 10:45:23 +01:00
FEA-eng 0434bc1197 FEM: Update DlgSettingsFemCcxImp.cpp 2024-03-25 10:44:29 +01:00
Jacob Oursland e5d4f0e38e Conda: Unpin packages post miniforge upgrade.
Miniforge has upgraded from 23.x.y to 24.x.y, permitting the unpinning of dependencies.
Furthermore, these pinned packages cause build issues with the latest version of Miniforge.
2024-03-24 23:03:01 -05:00
FEA-eng 58757a3129 FEM: Update DlgSettingsFemCcx.ui 2024-03-24 19:12:30 +01:00
FEA-eng c667dd2d45 FEM: Update DlgSettingsFemCcx.ui 2024-03-24 19:10:00 +01:00
Roy-043 f90b47cbbc Let param observer trigger grid color change
If you change the grid color in the preferences and cick the Apply button, the color of all grids is updated now. So you can experiment while the Preferences Editor is open.

I have kept but moved the grid color button in the Draft_SelectPlane task panel for now. So that both options can be tested.
2024-03-24 09:58:51 +01:00
wmayer d5b90e50af Gui: Apply clang-format on DlgProjectionOnSurface and fix linter warnings 2024-03-24 00:54:57 +01:00
pavltom aac48eb2f9 [TechDraw] Issue #5903 - Autofill template information 2024-03-23 08:56:47 -04:00
Marco Patzer 897e969477 Code reformat (black) 2024-03-23 08:52:06 -04:00
Marco Patzer 961e547161 Add leading plus (+) in hole/shaft fit limit
ISO 286/14405-1 calls for a plus sign if the limit is positive and a
minus sign if the limit is negative. A zero limit should have neither
a plus nor a minus sign. This commit adds the plus sign.
2024-03-23 08:52:06 -04:00
wandererfan c7ecfcee43 [TD]fix no PAT hatch on first paint 2024-03-23 08:47:36 -04:00
wandererfan 6337b454e1 [TD]protect against bad pref value
- this is a temporary measure to prevent problems caused by a
  bad value for LineStandard parameter.  A previous devel version
  stored on invalid value.  This patch can be removed before
  moving to production.
- this condition can be corrected by editing LineStandard to 0, 1 or
  2.  a plethora of warning messages is issued until the parameter is
  corrected.
2024-03-23 08:47:36 -04:00
bgbsww 300bff8b4a Toponaming/Part: Additional testing for attacher 2024-03-23 10:59:30 +01:00
Florian Foinant-Willig edbab63c91 [Gui] Allow to create ExpLineEdit with python 2024-03-23 10:19:16 +01:00
Roy-043 33962bc945 Draft: fix handling of shapes in shape2dview.py
Fixes a problem introduced with #10712. If the Shape is not a Compound, the shape itself, and not its SubShapes should be used.
2024-03-22 18:17:04 +01:00
Chris Hennes 2ebbd83268 Merge pull request #13030 from bgbsww/bgbsww-toponamingFeatureExtrusionTwo
Toponaming/Part Move in feature extrusion
2024-03-22 10:40:56 -05:00
Chris Hennes a7416c509b Merge pull request #12641 from Ondsel-Development/toolsettings_fix_focus_issue
[Sketcher] Toolsettings fix focus issue
2024-03-22 10:40:10 -05:00
wmayer 1cfad41422 Gui: clear the title bar after closing the last MDI window 2024-03-22 16:08:44 +01:00
Anurag Singh 299dab5769 Add Missing API documentation/Update API Documentation for various files. (#13062)
* Added-API-Documentation-for-RectangularTrimmedSurfacePy.xml

* Added-API-Documentation-for-PlateSurfacePy.xml

* Added-API-Documentation-for-ShapeFix.xml

* Added-Back-Missing-Docs

* Add Missing Documentation to BuildPlateSurface

* Elaborate ComplexGeoData Functions

* Elaborate ComplexGeoData Functions

* Elaborates TypePy

* Add Missing Documentation to AreaPy
2024-03-22 15:49:36 +01:00
Roy-043 810923e019 Merge pull request #13064 from Roy-043/Draft-Improve-logic-of-Draft_Label-texts
Draft: Improve logic of Draft_Label texts
2024-03-22 11:43:11 +01:00
wmayer 1d30a8698f Part: fix regression in AttachEngine3D::_calculateAttachedPlacement 2024-03-22 11:40:58 +01:00
wmayer 8c7de5cb6e Tests: add unit test to check OCCT behaviour 2024-03-22 11:40:58 +01:00
Roy-043 aaa9d65258 Merge pull request #13079 from yorikvanhavre/arch-tools-draft
Arch: Register interactive arch tools to draft
2024-03-22 11:20:45 +01:00
wmayer 2295cba5ef Fixes #11970: Return values of FreeCAD.get*Dir and FreeCAD.get*Path functions have inconsistent path separators 2024-03-22 09:42:31 +01:00
wmayer 4f429e3288 Fixes #12186: Two new Sketcher preferences should show "Restart required" popup 2024-03-22 09:41:31 +01:00
wmayer 1dad1b3718 Fixes #11861: Gui::PrefUnitSpinBox requires restart after unit system change
This fixes a regression of PR #11266 that dropped the case where neither the option 'Ignore project unit system and use the default' is set
nor an active document exists. In this case nothing happens even if the user changed the unit system.
2024-03-22 09:40:13 +01:00
wmayer 7857a22cfc App: fix linter warnings in VRMLObject 2024-03-22 09:39:21 +01:00
wmayer fcc7ab4e48 App: fixes #13022
App::VRMLObject with more than one texture isn't properly displayed when file is reopened
2024-03-22 09:39:21 +01:00
wmayer 799013a9cd tests: add unit tests for VRML file with textures 2024-03-22 09:39:21 +01:00
wmayer 959e9ed43d App: InVRMLObject use two different index variables for restoring and saving
This is needed as it can happen (e.g. when debugging) that while restoring a project the auto-save mechanism is called that messes up the index value
2024-03-22 09:39:21 +01:00
wmayer 3ad453d5e3 FEM: fix some linter warnings 2024-03-22 09:37:26 +01:00
marioalexis cbdef026f5 Fem: Export PostObject data to VTK - fixes #5816 2024-03-21 20:38:05 -05:00
wmayer 539fcd0fc3 CI: Add new test target 2024-03-21 19:34:06 +01:00
wmayer edec3b6280 tests: Test case for issue #13055 2024-03-21 19:34:06 +01:00
Zheng, Lei 105c3363b8 Toponaming/Part: Move missed attacher code into place 2024-03-21 16:27:23 +01:00
FEA-eng b19ac278f3 FEM: Update solver.py 2024-03-21 12:30:01 +01:00
Yorik van Havre 673beb7d3a Arch: Register interactive arch tools to draft 2024-03-21 10:38:19 +01:00
bgbsww c31ebeeee6 Toponaming/Part: cleanup FeatureExtrusion 2024-03-20 20:45:06 -04:00
Chris Hennes 161b0fb6ee Merge pull request #12982 from bgbsww/bgbsww-toponamingFeatureMirroring
Toponaming/Part feature mirroring and offset
2024-03-20 18:16:36 -05:00
bgbsww 46c32a8c1b Add c++ testing framework for PartDesign, ShapeBinder 2024-03-20 14:45:20 -05:00
wmayer 655d5e4fbd Base: enable user site-packages for Py >= 3.11
For more details see: https://forum.freecad.org/viewtopic.php?p=748296#p748296
2024-03-20 19:24:45 +01:00
wmayer e63e9981dd Drawing: Fix build failure for MSVC and PCH 2024-03-20 19:23:54 +01:00
Roy-043 fa49577838 Draft: Improve logic of Draft_Label texts
The proposed code fixes the following issues:
1. There is no check if the target object itself has a property that matches the label type.
2. If a subelement is selected that does not have the label type property, the value from the main object is displayed instead.
3. The default text is an empty string.

Example:

Currently If you select a vertex of a wire, and select "Length" as the label type, you will get the length of the wire. With the new code the text will then be "Length not available for (sub)object".

Forum topic (issue #1):
https://forum.freecad.org/viewtopic.php?t=86222
2024-03-20 18:29:01 +01:00
wmayer 41de357e8f Issue #11989: Segfault on "Move Object to Other Body"
The reason of the crash is a static_cast of an unknown type that causes undefined behaviour. The feature AdditiveLoft has the
property Section of type PropertyLinkSubList but the function does a static_cast to PropertyLinkList.

The solution is to use a dynamic_cast that returns null if the cast fails.
2024-03-20 18:06:23 +01:00
wmayer 0ae1ec462d Fixes #13011: Failure of test additionOperators when built with Qt6 2024-03-20 18:05:13 +01:00
wmayer 815458435d Tests: add test for attach extension
Create two plane features and map the second on the first plane with map mode 'FlatFace'
2024-03-20 18:04:10 +01:00
Priit Laes c2cfc2f8cc fedora: Drop Fedora 34 support
Fedora 34 upstream support stopped 07.06.2022, so no point of having
support for it in our build scripts either.
2024-03-20 15:31:17 +02:00
Priit Laes 16cf0e0689 fedora: Remove unneeded dos2unix dependency
Now that the source of the issue is fixed (previous commit), remove
the workaround.
2024-03-20 15:29:39 +02:00
Priit Laes 166c5d7523 test: Switch unittestgui.py to use unix line endings 2024-03-20 15:25:52 +02:00
Yorik van Havre 70f2f14702 Draft: a bit more contrast to the grid 2024-03-20 13:35:40 +01:00
Yorik van Havre d0a87573c9 Draft: Allow to change grid color in WP taskpanel 2024-03-20 12:20:31 +01:00
oscarale e4edf3afa6 Arch: Added longname and description to ArchSpace Text variables 2024-03-20 10:36:31 +01:00
Chris Hennes cf37713fc6 Merge pull request #12943 from bgbsww/bgbsww-toponamingFeatureChamfer
Toponaming/part features chamfer, fillet; dependencies and test updates
2024-03-19 16:53:30 -05:00
Zheng, Lei 4697de1c2d Toponaming/Part: bring in FeatureExtrusion and dependencies 2024-03-19 17:33:09 -04:00
bgbsww 7a520a4ea6 Toponaming/Part: Clean and add tests for FeatureMirroring and FeatureOffset 2024-03-19 12:44:38 -04:00
bgbsww 28cb508489 Toposhape/Part: Cleanup FeatureFillet, FeatureChamfer and dependencies 2024-03-19 11:10:18 -04:00
Zheng, Lei 4f3d23fe98 Toposhape/Part: Transfer in FeatureFillet, FeatureChamfer and dependencies 2024-03-18 22:05:25 -04:00
Zheng, Lei b4bb92465f Toponaming/Part: Transfer in FeatureMirroring and FeatureOffset 2024-03-18 19:43:19 -04:00
wmayer f5baef888c Gui: fix several regressions caused by PR #12035
* fix hard crash in MainWindow::_updateActions() if no MDI view exists
* in MDIView::buildWindowTitle() use the label of the document because this changes when saving it while the name is immutable
* fix const correctness in MDIView::buildWindowTitle()
* do not set the modified flag of the main window in MDIView::buildWindowTitle() but in the calling instance
* move setting the main window title to Application::viewActivated to reduce code duplication
* fix missing application name if FreeCADGui is loaded as Python module
2024-03-18 23:27:51 +01:00
luzpaz 5839134e95 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
Chris Hennes f94c2051c0 Merge pull request #12957 from bgbsww/bgbsww-toponamingMakeElementOffset
Toponaming/Part make element offset
2024-03-18 16:07:14 -05:00
sliptonic 4570612716 Merge pull request #12909 from FlachyJoe/fix-variablelink
[Link] Fix SIGSEGV with LinkCopyOnChange=Tracking
2024-03-18 11:57:00 -06:00
Yorik van Havre aa47a7fe6b Draft: Made get_type aware of IFC objects 2024-03-18 18:50:56 +01:00
Yorik van Havre 1b762f5063 Arch: Allow the IFC exporter to append to an existing IFC file 2024-03-18 18:50:28 +01:00
sliptonic 254d8ac7f0 Merge pull request #13006 from maxwxyz/assembly-icons
UI: Assembly - update too similar icons
2024-03-18 11:38:36 -06:00
André Althaus af0f263179 Fix regression in pattern reference selection
Reference selection in the GUI was accidentially changed to only
allow specific types of objects, preventing e.g. selection of a DatumPlane
for mirroring.

This restores the previous functionality.
2024-03-18 18:31:12 +01:00
sliptonic f02c2c5441 Merge pull request #12899 from yorikvanhavre/arch-array-ifc
Arch: Fixed IFC export of arrays
2024-03-18 11:25:32 -06:00
Max Wilfinger 4ca8e3b283 add constraint perpendicular to the context menu if a conic and line is selected. 2024-03-18 13:24:16 -04:00
PaddleStroke b3fe5bba28 Sketcher: Chamfer tool (and fillet refactor) 2024-03-18 13:23:54 -04:00
PaddleStroke 9d43e7fda7 Sketcher : fix error in className of CmdSketcherCompHorizontalVertical 2024-03-18 13:23:54 -04:00
sliptonic 5c81e7bd89 Merge pull request #12878 from maxwxyz/view-command-group
UI/UX: Create a toolbar command group for default views
2024-03-18 11:21:32 -06:00
lyphrowny 6bdff4769e FEA: fix 1d beam cross section orientation (#12833)
* FEA: fix 1d beam cross section orientation

* FEM: revert 1,2-directions to FreeCAD way; fix normal direction for z<0

* FEM: change 1-direction to +y axis

Previous commit changes the 1-direction to -y axis, however originally it was directed at +y axis. This commit makes the 1-direction face +y axis

* FEM: update cantilever tests

* FEM: relax math.isclose by adding abs tolerance
2024-03-18 18:16:10 +01:00
PaddleStroke 555d06e875 Navicube : Add missing 'Fit selection' menu entry. 2024-03-18 17:37:40 +01:00
Max Wilfinger 241ce40b5f use setWindowModified() to indicate modified state and window title 2024-03-18 17:36:20 +01:00
Max Wilfinger b4ad517ed6 display current active document in main window title 2024-03-18 17:36:20 +01:00
PaddleStroke 65da0c1d6f Sketcher: Rename 'FocusOut' signal to 'TabOrEnterPressed' 2024-03-18 10:02:00 +01:00
wandererfan b4e11db78d [TD]use weak_ptr as deletion guard
- prevent crash if dimension deleted by Python while dialog
  is open
2024-03-17 13:22:51 -04:00
bgbsww 93e823da30 Toposhape/Part: clean and add tests 2024-03-17 10:24:58 -04:00
Zheng, Lei b710683ce5 Toposhape/Part: Transfer in makEOffset, makEOffsetFace, makEOffset2d 2024-03-17 10:24:58 -04:00
bgbsww 3bc87a9cf5 Clean and add tests for makeElementSolid 2024-03-17 10:24:58 -04:00
bgbsww d0562d0c3a Toposhape/Part: Clean GeneralFuse, Fuse, Cut; add tests; tweak other tests 2024-03-17 10:24:58 -04:00
wmayer 2326d52a78 [TD]Refactor LTNP correction code for Dimensions
- additional geometry types

- add method to handle line like bsplines

- handle deleted ref body feature

- add test for empty savedGeometry

- add switch for matcher/LTNP on/off
2024-03-17 08:56:34 -04:00
Max Wilfinger a6bb16ae78 update assembly icons 2024-03-17 11:21:16 +01:00
PaddleStroke a7b78530da DrawSketchController: Fix crazy focus behavior in tool widget (see in the translate tool). 2024-03-17 08:15:54 +01:00
edi271 934395913a [TD] AxoLengthDimension: use getScale() instead of Scale 2024-03-16 20:00:27 -04:00
pavltom 8a4f13fb16 [TechDraw] Unify Projection Group parent linking 2024-03-16 19:59:49 -04:00
wmayer fc8f93d437 Sketch: fixes #12480: Sketcher_CreateBSplineByInterpolation Unhandled unknown C++ exception
The interpolation of a BSpline can fail and then OCC throws an exception. Because this OCC exception isn't handled by the DrawSketchHandler the core system handles it as unknwon C++ exception
2024-03-17 00:47:43 +01:00
luzpaz 0fc8adc7c9 TD: fix whitespace in CommandPositionSectionView.py
Fix header whitespace
2024-03-17 00:46:19 +01:00
luzpaz 129e204236 TD: fix whitespace in CommandVertexCreations.py
Fix whitespace in header
2024-03-17 00:46:19 +01:00
luzpaz 92dff95b62 TD: Fix whitespace in CommandAxoLengthDimension.py
Fix header whitespace
[skip ci]
2024-03-17 00:46:19 +01:00
wmayer ef39e34c14 plugin: port FreeCAD's QtDesigner plugin to Qt6 2024-03-16 18:47:34 +01:00
Max Wilfinger 3dc2c2c7a7 only run on FreeCAD repo 2024-03-16 10:43:27 -05:00
Max Wilfinger 8e3e3cbecc also include closed as not planned 2024-03-16 10:43:27 -05:00
Max Wilfinger 712e06445b Update issue-metrics.yml
change from full last month to the 15th as report date.
2024-03-16 10:43:27 -05:00
Max Wilfinger 41e34eb295 Merge pull request #12998 from maxwxyz/update-GH-labels
Update labels.yml for correct GitHub label
2024-03-16 16:04:57 +01:00
Max Wilfinger 1492279a09 Update labels.yml for correct GH label 2024-03-16 14:41:46 +01:00
wmayer 61fded281b Gui: fixes #12891: Random color not working for App::Part 2024-03-16 09:46:06 +01:00
wmayer b2a76a2386 App: add overloaded template method getExtension()
This allows it to write more elegant code like:
auto ext = obj->getExtension<>(GroupExtension);
instead of
auto ext = dynamic_cast<GroupExtension*>(obj->getExtension(GroupExtension::getExtensionClassTypeId(), true, true));
2024-03-16 09:46:06 +01:00
wmayer f2f312ce3b TD: fixes #12984: Doing Ctrl-Z in TechDraw reliably causes a segfault 2024-03-16 09:43:40 +01:00
wmayer e42aeb7a42 Drawing: Fixes #12953
The deprecated Drawing module still uses some classes that have been removed with Qt6.
These are the classes:
* QRegExp that is replaced with QRegularExpression
* QGLWidget that is replaced with QOpenGLWidget
2024-03-16 09:42:34 +01:00
wmayer af85689cff Mesh: fixes #12798: Macro not recording mesh decimation 2024-03-16 09:41:18 +01:00
wmayer 042d3a63e7 Mesh: add unit tests for mesh export 2024-03-16 09:39:49 +01:00
wmayer 99dc7826ae App: Fix segmentation fault while dragging object
For more details see: https://forum.freecad.org/viewtopic.php?t=86001

The reason of the crash is that the GIL is not locked while accessing certain Python functions
2024-03-16 09:36:33 +01:00
qewer 657f990ff7 Merge branch 'main' into master 2024-03-16 10:47:58 +03:00
qewer33 e839733d59 closes #12989; Re-arrange Start Page template buttons 2024-03-16 10:43:57 +03:00
Chris Hennes bcf54d3153 Merge pull request #12885 from bgbsww/bgbsww-toponamingAttachment
Toponaming/Part:  Bring over attacher differences
2024-03-15 17:18:36 -05:00
Florian Foinant-Willig c99ff0d040 Merge branch 'main' into fix-variablelink 2024-03-15 21:50:17 +01:00
bgbsww 9aadc25c18 Toponaming/Part: Review and lint cleanups 2024-03-15 08:41:08 -04:00
bgbsww 2823d22dae Toponaming/Part: clean and test attacher 2024-03-15 08:11:26 -04:00
Zheng, Lei a9e99b1667 Toponaming/Part: Bring over attacher differences 2024-03-15 08:11:26 -04:00
FEA-eng 0def330a9e DRAFT: Update preferences-draftsnap.ui 2024-03-15 13:01:56 +01:00
Chris Hennes fb8b69b15d FEM: Add two missing PreCompiled.h includes 2024-03-14 22:24:16 -05:00
FEA-eng 6eeeb72081 Start wb FEM examples update (#12871)
* FEM: Delete data/examples/FemCalculixCantilever3D_newSolver.FCStd

* FEM: Delete data/examples/FemCalculixCantilever3D.FCStd

* FEM: Delete data/examples/FemCalculixCantilever2D.FCStd

* FEM: add updated cantilever 3D

* FEM: add updated cantilever 2D

* FEM: add cantilever 1D

* FEM: Update CMakeLists.txt

* FEM: Delete data/examples/FemCalculixCantilever1D.FCStd

* FEM: Delete data/examples/FemCalculixCantilever2D.FCStd

* FEM: Delete data/examples/FemCalculixCantilever3D.FCStd

* FEM: reupload the 1D example with a new license

* FEM: reupload the 2D example with a new license

* FEM: reupload the 3D example with a new license
2024-03-14 22:15:29 -05:00
David Carter 48bfd227ac Material: Material editor enhancements
Removes localization from the material card dictionary.

Fixes #12935

The previous card implementation transferred strings directly to the
card dictionary without interpretation. The new material system parses
the file data, producing a dictionary for compatibility. The new
dictionaries localized the strings which is incorrect. This PR
removes that localization.
2024-03-14 22:14:58 -05:00
David Carter c5505bc438 Material: Call to import_materials only returning solids
Fixes #12933

The previous card implementation used a parameter to select either
solids or fluids. The current material dictionary ignored the
parameter and only returned solids. This PR restores the use of the
material type filter.
2024-03-14 22:14:31 -05:00
FEA-eng 4988fa77fe FEM: Update solver.py 2024-03-14 22:13:56 -05:00
wandererfan fca3b80da8 [TD]fix over/under tolerance
- left justify tolerances
- use format spec for tolerance == zero
- prevent uncommanded tolerance format changes
- use 'w' format for HoleShaftFit
- allow zero tolerance values for HoleShaftFit
2024-03-14 21:45:16 -04:00
wandererfan a63ed712f6 [TD]fix thread line alignment 2024-03-14 21:45:16 -04:00
wandererfan 29cfe6db51 [TD]prevent fail on delete with open dialog 2024-03-14 21:45:16 -04:00
sliptonic eb2bc96c74 Merge pull request #12956 from Ondsel-Development/fixcamtranslation
mark dynamic fields to not be translated
2024-03-14 10:45:57 -06:00
sliptonic d819ab25a2 mark dynamic fields to not be translated 2024-03-14 11:39:41 -05:00
hoshengwei 2f29140512 Arch: Fixed bug in BuildingPart obj
Fixes #12921.
2024-03-14 14:55:32 +01:00
wmayer 1e9d6698b7 Gui: fixes #5609: Add MSAA 6x option 2024-03-14 11:41:33 +01:00
wmayer 80974bc503 Gui: refactor DlgSettings3DViewImp and fix some linter warnings 2024-03-14 10:10:53 +01:00
Chris Hennes 5264d6cc1f Merge pull request #12932 from marioalexis84/fem-ccx_force_format
Fem: Format force constraint in CalculiX writer - fixes #12805
2024-03-13 18:17:11 -05:00
luzpaz 3ed1c30372 labels.yml: Add Materials label
Auto-assign 'Materials' label to Material related PRs
2024-03-13 17:12:36 -05:00
marioalexis d16c3843e1 Fem: Update force constraint .inp files 2024-03-13 17:26:13 -03:00
Chris Hennes 843f6e883a Merge pull request #12918 from marioalexis84/fem-post_object_transparency
Fem: Partial transparency fix in FemPostObject display modes
2024-03-13 15:17:17 -05:00
Chris Hennes d195787a68 Tools: Path -> CAM 2024-03-13 14:04:20 -05:00
Chris Hennes df8ae11f00 Merge pull request #12737 from chennes/cleanTrailingSpacesForTranslation
Clean trailing spaces for translation
2024-03-13 14:00:54 -05:00
wandererfan fe89dbb030 [TD]remove obsolete LinkDimension from toolbar 2024-03-13 13:54:59 -04:00
wandererfan 91350aad36 [TD]expose getScale() to Python 2024-03-13 13:54:59 -04:00
Marco Patzer ab3296b124 TechDraw: Add space before tolerance class for hole/shaft fits 2024-03-13 13:52:13 -04:00
marioalexis 7a07a61320 Fem: Format force constraint in CalculiX writer - fixes #12805 2024-03-13 14:50:24 -03:00
Pierre 0d228bcec4 PR for issue #12910 2024-03-13 09:02:15 -04:00
Anurag Singh 69a3371e61 Added-Back-Missing-Docs 2024-03-13 13:47:49 +01:00
Anurag Singh a21c0ab696 Added-API-Documentation-for-ShapeFix.xml 2024-03-13 13:47:49 +01:00
Anurag Singh 1cb8ca6bf4 Added-API-Documentation-for-PlateSurfacePy.xml 2024-03-13 13:47:49 +01:00
Anurag Singh afd2cd3943 Added-API-Documentation-for-RectangularTrimmedSurfacePy.xml 2024-03-13 13:47:49 +01:00
wmayer b346720ab2 Cloud: fixes #12888: Build on Linux fails because of Cloud component 2024-03-13 12:45:46 +01:00
marioalexis 4a6771c441 Fem: Partial transparency fix in FemPostObject display modes 2024-03-13 05:50:27 -03:00
marioalexis 1225e7be17 Fem: Export/import mesh elements to Vtk using proper order 2024-03-13 05:50:17 -03:00
Chris Hennes aec4dd7683 CAM: Remove trailing spaces from translations 2024-03-12 22:49:06 -05:00
Chris Hennes cbb10b0496 Draft: Remove trailing spaces from translations 2024-03-12 22:42:20 -05:00
Chris Hennes 1f94569b93 Part: Remove trailing spaces from translations 2024-03-12 22:42:19 -05:00
Chris Hennes 8ec30e6c9e FEM: Remove trailing spaces from translations 2024-03-12 22:42:19 -05:00
Chris Hennes d9fc266772 Sketcher: Remove trailing spaces from translations 2024-03-12 22:42:19 -05:00
Chris Hennes ee77b586b2 Spreadsheet: Remove trailing spaces from translations 2024-03-12 22:42:19 -05:00
Chris Hennes ec5aa8f367 Addon Manager: Remove trailing spaces from translations 2024-03-12 22:42:19 -05:00
Chris Hennes 918bcb7f5b Gui: Remove trailing spaces from translations 2024-03-12 22:42:19 -05:00
Chris Hennes fcddb21d0e TD: Remove trailing spaces from translations 2024-03-12 22:42:19 -05:00
Chris Hennes 254ed25e07 Addon Manager: Fix relative external links 2024-03-12 22:26:41 -05:00
Florian Foinant-Willig e69f0c95b6 [Link] Fix SIGSEGV with LinkCopyOnChange=Tracking 2024-03-12 21:47:07 +01:00
sliptonic 3349d780cf Merge pull request #12905 from Ondsel-Development/SanityBug
CAM:  fix edgecase with missing toolshape
2024-03-12 13:48:40 -06:00
wmayer 5e3c854e8c Tests: add more unit tests for Points module 2024-03-12 18:02:33 +01:00
wmayer 0b8990c96c Points: fix many linter warnings 2024-03-12 18:02:33 +01:00
sliptonic e2f8477f53 fix edgecase with missing toolshape
If the toolshape isn't on the local system, Sanity would fail trying to get the thumbnail.
Now fails gracefully.
2024-03-12 11:57:02 -05:00
Max Wilfinger 62eb03aebe Create a toolbar command group for default views.
Optional toolbar for all individual views is available.
2024-03-12 16:03:59 +01:00
Chris Mayo be5dce2e9e Gui: Remove ".desktop" suffix from QGuiApplication::setDesktopFileName()
"QGuiApplication::setDesktopFileName: the specified desktop file name
ends with .desktop. For compatibility reasons, the .desktop suffix will
be removed. Please specify a desktop file name without .desktop suffix"
2024-03-12 08:45:50 -05:00
Yorik van Havre aee66b569d Arch: Fixed export of quantities to IFC and support arrays 2024-03-12 13:52:20 +01:00
edi271 28ff03a081 [TD] Solve scale issue in AxoLengthDimension 2024-03-12 08:38:36 -04:00
Yorik van Havre 4133053da9 Arch: Fixed IFC export of arrays - issue #12802 2024-03-12 12:44:18 +01:00
wmayer 9140327832 Mesh: fix many linter warnings 2024-03-12 00:36:28 +01:00
Chris Hennes 52fffaf50e Merge pull request #12804 from bgbsww/bgbsww-toponamingPartFeature
Toponaming/Part: methods in part feature and dependencies for correct elementMaps
2024-03-11 13:35:59 -05:00
Max 0b761c1d57 Relable Path to CAM in GH template and lable action 2024-03-11 12:39:50 -05:00
Chris Hennes 0263199b57 Addon Manager: Python package installer wait for thread 2024-03-11 18:36:42 +01:00
Chris Hennes 87fb94342f Addon Manager: Fix README fetch for macros
When no macro metadata is downloaded, the macro has no URL yet.
2024-03-11 18:35:48 +01:00
Chris Hennes ee50a0474f Addon Manager: Strip some HTML tags from Markdown 2024-03-11 18:35:29 +01:00
Yorik van Havre 4e3467ae5e Draft: Allow to prevent layers to claim children 2024-03-11 12:29:13 -05:00
Roy-043 18f6abb3c0 Sketcher: correct position of ConstrainLock and ConstrainRadiam in GUI
Sketcher_ConstrainLock after Sketcher_ConstrainAngle.
Sketcher_ConstrainRadiam before Sketcher_ConstrainRadius.

This was not always correct.

See also #12667.
2024-03-11 12:28:28 -05:00
wmayer eb32abe7ef Part: fixes #12744: mesh export creates open edges
For the concatenated domains check if points are duplicate and if yes remove them
2024-03-11 12:25:57 -05:00
Florian Foinant-Willig 0625ac026d Core: Fix unselectable area in SoDatumLabel 2024-03-11 12:24:00 -05:00
André Althaus 2224d87e6e Fix #12780: An additional visibility icon is shown for features in groups
The icons in the testStatus() function are taken by reference and modified
inside. This seems to be used for caching when the same item occurs
multiple times in the tree. This can be the case for groups.

The visibility icon was added without taking the cached icon into
consideration and so it was added a second time.
The code is now moved into the if statement checking for this case.
2024-03-11 12:23:04 -05:00
FEA-eng a7fe334a91 Elmer FEM 2D flow examples fix (#12777)
* Update equation_flow_elmer_2D.py

* Update equation_flow_initial_elmer_2D.py

* Update equation_flow_turbulent_elmer_2D.py
2024-03-11 12:21:46 -05:00
FEA-eng b92e3477f5 Update meshtools.py (#12774) 2024-03-11 12:21:14 -05:00
mosfet80 97b5fb68c7 [Mod] Removed unnecessary function (#12772)
* Removed unnecessary function

the "renamedDocumentObjet" function does nothing

* [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-11 12:20:32 -05:00
Chris Hennes 46e2c45e2e Sketcher: Translate QWidgetAction items
Explicitly set the context used by tr() to fix missing context without it.
2024-03-11 18:17:32 +01:00
Chris Hennes 93d58802aa Tests: Migrate Google Test to a submodule
Pin Google Test submodule to v1.14.0
2024-03-11 12:16:09 -05:00
mosfet80 ab89eb0cfd [MOD] clean SMESH (#12754)
removed old smesh CODE <7
2024-03-11 12:13:00 -05:00
Chris Hennes f6eead2e3b Merge pull request #12753 from davesrocketshop/20240301_FEM_Models
Material: New data models to support elasticity
2024-03-11 12:11:05 -05:00
Chris Hennes 9dac8385f6 Fix missing translations in task panel (#12738)
* Draft: Add missing translation to task panel

* PD: Add missing translation to task panel
2024-03-11 18:10:42 +01:00
Chris Hennes 8a6bc53dd6 PD: Translate attachment task title
Eliminate default title, which is untranslatable.
2024-03-11 18:08:22 +01:00
Chris Hennes b0fab6ec79 Sketcher: Fix missing translations in DSH tools 2024-03-11 18:07:42 +01:00
Chris Hennes d56a051c4c Sketcher: Translate menu entries for rectangle spec 2024-03-11 18:06:09 +01:00
Chris Hennes e91c16aae1 PD: Translate shaft end types
Adds support for menu items having 'user data' that is the untranslated string. It would be better if these were enumerations, but that's a much larger refactoring process.
2024-03-11 18:05:29 +01:00
marioalexis 673f5d0745 Fem: Add partial support for hexahedral elements - fixes #12526 2024-03-11 12:03:15 -05:00
FEA-eng 8e3fed1ad5 FEM CalculiX output frequency setting (#12672)
* Update solver.py

* Update write_step_output.py

* Update box_frequency.inp

* Update box_static.inp

* Update ccx_buckling_flexuralbuckling.inp

* Update ccx_cantilever_beam_circle.inp

* Update ccx_cantilever_beam_pipe.inp

* Update ccx_cantilever_beam_rect.inp

* Update ccx_cantilever_ele_hexa20.inp

* Update ccx_cantilever_ele_quad4.inp

* Update ccx_cantilever_ele_quad8.inp

* Update ccx_cantilever_ele_seg2.inp

* Update ccx_cantilever_ele_seg3.inp

* Update ccx_cantilever_ele_tria3.inp

* Update ccx_cantilever_ele_tria6.inp

* Update ccx_cantilever_faceload.inp

* Update ccx_cantilever_nodeload.inp

* Update ccx_cantilever_prescribeddisplacement.inp

* Update constraint_contact_shell_shell.inp

* Update constraint_sectionprint.inp

* Update constraint_selfweight_cantilever.inp

* Update constraint_tie.inp

* Update constraint_transform_beam_hinged.inp

* Update constraint_transform_torque.inp

* Update frequency_beamsimple.inp

* Update material_multiple_bendingbeam_fiveboxes.inp

* Update material_multiple_bendingbeam_fivefaces.inp

* Update material_multiple_tensionrod_twoboxes.inp

* Update material_nonlinear.inp

* Update square_pipe_end_twisted_edgeforces.inp

* Update square_pipe_end_twisted_nodeforces.inp

* Update thermomech_bimetall.inp

* Update box_frequency.inp
2024-03-11 12:02:41 -05:00
sliptonic 575f282f45 Merge pull request #12665 from Ondsel-Development/pathrename
Rename the Path Workbench to CAM
2024-03-11 11:01:59 -06:00
Yorik van Havre b2f1add784 Draft: Introduce mouse delay (#12624)
* Draft: Introduce mouse delay - fixes #11807

* Draft: set default mouse delay to 1
2024-03-11 11:54:07 -05:00
wmayer d3e790cf21 Tests: add test function to write to file stream 2024-03-11 16:05:30 +01:00
wmayer 7b7a806bdf App: Change output stream from std::stringstream to std::ostream 2024-03-11 16:05:30 +01:00
wmayer 1775991b50 Base: Implement FileInfo::size() 2024-03-11 16:05:30 +01:00
wmayer 2cdc94e15c Gui: Fix using context-menu of ExpressionLineEdit
If for the DlgExpressionInput the user config parameter 'NoSystemBsckground' is set to True it's not used as a normal dialog but as a pop-up window.
In this mode the context-menu of the ExpressionLineEdit isn't working. A previous commit (a3036d16f1) fixed a crash but not this issue.

For Qt4 DlgExpressionInput has overridden the eventFilter() to handle using the context-menu but this is not working any more for Qt5 or Qt6.
Luckily, it has appeared that with Qt5 and Qt6 it works out-of-the box now and the event filter is not needed any more.
2024-03-11 16:04:00 +01:00
wmayer 2ce903a46c Fix build failure for MinGW
MinGW needs to know about the COIN_DLL export macro
2024-03-11 16:02:48 +01:00
xtemp09 9961f2949a Fix segmentation fault in Sketcher
Closes #11954.
2024-03-11 16:02:15 +01:00
wmayer 053d0fa047 Mesh: replace QtConcurrent::run with std::async 2024-03-11 16:00:25 +01:00
wmayer 33cacc3fb0 Mesh: make sure in VisitNeighbourFacets() and VisitNeighbourFacetsOverCorners() that start index is within the valid range 2024-03-11 16:00:25 +01:00
Max Wilfinger 9099d75884 Merge pull request #12863 from furgo16/title-removed
Remove placeholder title from PROBLEM_REPORT.yml issue report template
2024-03-11 13:49:28 +01:00
furgo16 63f7e7cd17 Remove title from PROBLEM_REPORT.yml 2024-03-11 08:13:17 +01:00
Chris Hennes 1c7dc55eda Material: Linter cleanup 2024-03-10 17:44:47 -05:00
Max Wilfinger addf08ce6b Update PROBLEM_REPORT.yml
change title of issue report
2024-03-10 16:39:44 -05:00
Max Wilfinger 6ad3f0df9e Update PROBLEM_REPORT.yml
remove "[Problem]" in the title.
2024-03-10 14:40:03 -05:00
wmayer 5b5be480a3 Increment year in copyright notice 2024-03-09 16:18:57 +01:00
wmayer 81177b08e8 Test: change license of test file 2024-03-09 16:18:14 +01:00
wmayer d42518c214 App: fix some linter issues 2024-03-09 16:18:14 +01:00
xtemp09 a3036d16f1 Fix the crash described in #12785
Closes #12785. The cause of the segmentation fault is access to the
already deleted _QMenu_. Simple setting attribute `Qt::WA_DeleteOnClose`
and removal of `delete menu` prevented it. To reproduce the crash, one
needs to mess up the `user.cfg` file in the way described in the issue.

Here is the fragment from the issue to mess up the `user.cfg` file:

```xml
<FCParamGroup Name="Expression">
<FCText Name="EditorTrigger">=</FCText>
<FCBool Name="AntoHideEditorIcon" Value="1"/>
<FCBool Name="NoSystemBackground" Value="1"/>
<FCInt Name="EditDialogBGAlpha" Value="1"/>
<FCInt Name="EditDialogWidth" Value="300"/>
<FCInt Name="EditDialogHeight" Value="214"/>
<FCInt Name="EditDialogTextHeight" Value="35"/>
</FCParamGroup>
```

---

This commit changes also unconnected things:

- usage of `QObject::connect` instead of if statements
- relocation of a separator and an action inside the if statement (I saw
no reason to have a separator and an action for _ExpressionCompleter_ if
there is no expression completer)
- usage of asynchronous `QMenu::popup()` instead of synchronous
`QMenu::exec()`. This way is used within [the source code of Qt]
(https://github.com/qt/qtbase/blob/5.15/src/widgets/widgets/
qlineedit.cpp#L2191-L2197).
2024-03-09 16:12:47 +01:00
pavltom 7212cccae5 [TechDraw] Reimplement Weld Symbol parent linking 2024-03-09 08:32:24 -05:00
wmayer 5af2cc89cc Tests: add tests for ProjectFile 2024-03-08 22:25:59 -06:00
wmayer 87716e1102 App: Add class ProjectFile to access metadata and data files of a project 2024-03-08 22:25:59 -06:00
wmayer eb5a1b3339 Fix MinGW build
The commit 028739df caused a regression by breaking MinGW builds because the line
'#if defined(__MINGW32__)' has been removed.
As a result the 'if defined (FC_OS_WIN64) || defined (FC_OS_WIN32)' has become active
where the types '__int64' or 'unsigned __int64' that are not defined for MinGW
2024-03-08 10:24:49 +01:00
bgbsww 3df25821e5 Toposhape/Part:: Fix, relocate and test element methods in ComplexGeoData and TopoShape 2024-03-07 23:00:48 -05:00
Zheng, Lei ae5c0a6d9c Toposhape/Part: Bring in element methods in FeaturePart, TopoShapePy::Init and TopoShape::GetPyObject 2024-03-07 13:15:40 -05:00
wmayer 2e96599903 Tests: fix compiler warning about unused parameters 2024-03-06 15:22:21 +01:00
wmayer 0d37ea2629 Part: Add class BRepMesh
This refactors the code of TopoShape::getFacesFromDomains and the the private class BrepMesh of the MeshPart module
to reduce code duplication.
2024-03-06 07:20:39 +01:00
Chris Hennes da36c0c1f3 Merge pull request #12066 from 3x380V/time_cleanup
Base: Use std::chrono for time manipulation
2024-03-05 15:47:33 -06:00
Chris Hennes bdf46e7337 TD: Add missing translation strings to menu 2024-03-05 12:54:54 -05:00
Chris Hennes f3378bc113 TD: Fix translation of pending updates string
Switch to %n form so translators can adjust based on the number. Also allows English adaptation to plural/singular, if desired.
2024-03-05 12:53:59 -05:00
Chris Hennes b257870c16 TD: Clean up translations of HoleShaftFit 2024-03-05 12:52:19 -05:00
WandererFan 2e8473b659 Merge pull request #12749 from pavltom/techdraw_leaderline_linking
[TechDraw] Reimplement Leader Line parent linking
2024-03-05 12:50:09 -05:00
WandererFan 42d1bda60a Merge pull request #12775 from WandererFan/fixSSUnit
[TD]correct s/s cell format
2024-03-05 12:44:19 -05:00
wmayer 5d1564fec5 Sketcher: fix crash when trying to edit malformed sketch
For more details see: https://forum.freecad.org/viewtopic.php?p=745031#p745031
2024-03-05 10:34:01 -06:00
Yorik van Havre 1e164f24c0 Translations (#12748)
* Updated ts files

* Merged crowdin translations

* [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-05 08:54:36 -06:00
Chris Hennes 08fe694bd7 Addon Manager: Switch to using QtTranslate's %n for updates 2024-03-05 08:35:26 -06:00
Chris Hennes 988391fe22 Sketcher: Fix missing translation of 'Sketcher visual' 2024-03-05 08:35:26 -06:00
wmayer c4e1495d81 Gui: fix -Wlogical-op-parentheses 2024-03-05 08:34:19 -06:00
Chris Hennes 412a654b5d Merge pull request #12750 from bgbsww/bgbsww-toponamingElementCacheExtras
Toponaming/Part element cache extras
2024-03-05 08:32:32 -06:00
wandererfan b36abb146c [TD]correct s/s cell format 2024-03-05 07:29:29 -05:00
Ladislav Michl 1677e3d105 Base: Remove StopWatch
StopWatch is now used on single place only, remove it in favour of TimeElapsed
2024-03-05 12:30:56 +01:00
Ladislav Michl e4d304f934 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
Ladislav Michl 159fe5c21f Base: Use std::chrono for time handling
Replace platform specific implementations with standard C++ std::chrono.
As time_t is now 64-bit on all supported systems, use it to set the clock.
2024-03-05 12:22:40 +01:00
Ladislav Michl de1305413e Base: Move currentDateTimeString out of TimeInfo
currentDateTimeString does not have anything in common
with TimeInfo class, move it into Tools.
2024-03-05 12:22:40 +01:00
Chris Hennes 16016e2d2b Part: Correct context for selection filter 2024-03-05 10:39:25 +01:00
Chris Hennes 672d879653 Gui: Fix translation strings for Part, Group, and Link
Extra HTML tags were added outside the translation NOOP. They were unnecessary, and broke translation.
2024-03-05 10:38:51 +01:00
wmayer 8743f5e82a Sketch: fix compiler warning
Fix warning: add explicit braces to avoid dangling else [-Wdangling-else]
2024-03-04 23:15:42 -06:00
bgbsww 609cd12b4b Merge branch 'main' into bgbsww-toponamingElementCacheExtras 2024-03-04 21:19:42 -05:00
WandererFan d8037eda36 Merge pull request #12736 from HowThatWorks/main
A set of ISO 7200/ISO 5457 templates for TechDraw
2024-03-04 20:25:53 -05:00
Chris Hennes 84e0cc7293 Apply suggestions from code review 2024-03-04 19:01:18 -06:00
Chris Hennes b7a4680504 Merge pull request #12726 from bgbsww/bgbsww-toponamingTestHelperfix
Toponaming/Part: Correct elementsMatch to test all entries
2024-03-04 18:32:53 -06:00
sliptonic cc72c73f64 addon manager list of wbs 2024-03-04 16:59:30 -06:00
bgbsww 834bbff6b0 Toposhape/Part:: fix, relocate and test element methods in ComplexGeoData and TopoShape 2024-03-04 17:16:59 -05:00
Zheng, Lei 5e532494ca Toposhape/Part: element methods in ComplexGeoData and TopoShape 2024-03-04 17:16:59 -05:00
Chris Hennes 11a9305be5 Addon Manager: Fix score pref path 2024-03-04 16:04:22 -06:00
bgbsww d232549286 Toponaming/Part: Correct tests that show platform variations when all elements tested 2024-03-04 16:23:40 -05:00
Chris Hennes cd0d58cfe9 Merge pull request #12683 from bgbsww/bgbsww-toponamingPropertyTopoShape
Toponaming/Part: property topo shape
2024-03-04 15:05:16 -06:00
bgbsww 7945bf686e Toponaming/Part: Cleanups, problem fixes, and tests 2024-03-04 16:04:01 -05:00
WandererFan ce90c89b54 Merge branch 'main' into techdraw_leaderline_linking 2024-03-04 15:34:48 -05:00
marioalexis 11ac84f373 Fem: Use mixed cell types in pipeline unstructured grid - fixes #12581 2024-03-04 13:01:35 -06:00
pre-commit-ci[bot] ce5965982b [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2024-03-04 18:23:23 +00:00
mosfet80 9e1903d461 [tools] cleanVisual studio
removed visual studio project files
2024-03-04 18:28:00 +01:00
wmayer 5ef6045fea Part: fixes #12274: Incorrect calls in ConePyImp 2024-03-04 11:24:03 -06:00
wmayer 4732cbf3b9 Gui: fix -Wlogical-op-parentheses 2024-03-04 11:23:09 -06:00
Josh Coalson a8ae56e06a Part: Rename AttachExtension::Support property to AttachmentSupport, to avoid name conflict with base features. Fixes #7052 2024-03-04 18:22:43 +01:00
Max 4e29ce1fcf add description of colinear function to Sketcher_ConstrainTangent 2024-03-04 18:20:18 +01:00
Brad Collette 918b3f453e moving Path Tests to CAM tests 2024-03-04 11:18:41 -06:00
Brad Collette d041482ab7 move Path to CAM 2024-03-04 11:18:41 -06:00
Brad Collette af0f07184f Fix tooltip and command description strings. Fixes #8046 2024-03-04 11:18:41 -06:00
Brad Collette 16c6b39e8d rename icons 2024-03-04 11:18:41 -06:00
Brad Collette 5605446d74 deprecate Hop 2024-03-04 11:18:41 -06:00
Brad Collette 8c2aa50826 Change command names and icons 2024-03-04 11:18:41 -06:00
Brad Collette cb3ebe55a5 rename workbench 2024-03-04 11:18:41 -06:00
FEA-eng fe885e7bd3 Remove the need to include geometrical nonlinearity when nonlinear material is used in CalculiX FEM (#12703)
* Update commands.py

* Update checksanalysis.py
2024-03-04 11:16:54 -06:00
Chris Hennes 4b1decfc6b Merge pull request #12694 from CalligaroV/toponaming-PartFeature-FeatureCreate
Part/Toponaming: Transfer Part::Feature::create()
2024-03-04 11:14:41 -06:00
Roy-043 8145eed95f Sketcher: Sketcher_ConstrainHorizontal before Sketcher_ConstrainVertical in GUI
Changes to TaskSketcherElements.cpp are not required, but were done for consistency. The order in the file follows the GUI.
2024-03-04 11:12:38 -06:00
FEA-eng 9df688b8e6 FEM CalculiX isotropic and kinematic hardening (#12666)
* Update material_mechanicalnonlinear.py

* Update write_femelement_material.py

* Update material_mechanicalnonlinear.py
2024-03-04 11:11:48 -06:00
sliptonic 7d3c265769 Merge pull request #12661 from djmdjm/adaptive-glitch-fix
PATH: Fix adaptive glitch by removing coincident points
2024-03-04 10:09:21 -07:00
Bas Ruigrok 14cbd1716b Gui: Set rotation center when entering dragging in TinkerCAD style 2024-03-04 11:09:04 -06:00
sliptonic dd0ff19859 Merge pull request #12652 from djmdjm/centroid-g43
Add G43 tool height compensation to centroid post
2024-03-04 10:08:31 -07:00
FEA-eng 0bfdf6ca0e Elmer FEM 2D electromagnetic examples fix (#12646)
* Update equation_magnetodynamics_2D_elmer.py

* Update equation_magnetostatics_2D_elmer.py
2024-03-04 11:08:07 -06:00
bdieterm 019adbb846 Base: add missing axis and angle update for Rotation::setEulerAngles 2024-03-04 11:07:21 -06:00
pavltom 9b9086aeb4 Switch to correct page when changing Link property target - add comments 2024-03-04 18:00:41 +01:00
Chris Hennes 047d99e8a7 Merge pull request #12607 from AjinkyaDahale/sketcher-join-curves-2
Sketcher: Improve Join Curves
2024-03-04 10:57:41 -06:00
Florian Foinant-Willig f633fa476a Introduce object freeze (#12580)
* Introduce object freeze

* do nothing at property change
2024-03-04 17:54:25 +01:00
mosfet80 028739df61 [main] clean FCConfig.h
removed discontinued code
__MWERKS__ OSX discontinued from 2005
winnt and cygwin are removed
2024-03-04 10:53:57 -06:00
LemonBoy 1bcefaf9b1 GUI: Follow the widget indications when docking them (#12530)
* GUI: Follow the widget indications when docking them

The overlay manager handles the creation and drawing of the title bars
for the docked widgets. When adding a QDockWidget the manager ignored
the set of features (closable, movable, floatable) provided by the
widget and always showed all the actions.

Amend the code to take into account the features specified by the
widget.

Closes #11944
2024-03-04 10:41:55 -06:00
Chris Hennes 15b3b1d5dd Merge pull request #12205 from Rexbas/animation-easing
Gui: Add easing to navigation animations
2024-03-04 10:37:06 -06:00
HowThatWorks 7985fd1e31 Merge branch 'main' into main 2024-03-04 16:54:14 +01:00
Chris Hennes cf88b0e5f6 Addon Manager: Refactor primary view and enable composite (#12693)
* Addon Manager: Refactor primary view and enable composite

This brings back something akin to the original Addon Manager display, with the side-by-side display of the list and details views.
2024-03-04 08:56:55 -06:00
pavltom 04335d4060 Switch to correct page when changing Link property target 2024-03-04 15:39:48 +01:00
pavltom a9b77de0be [TechDraw] Reimplement Leader Line parent linking 2024-03-04 15:35:06 +01:00
sliptonic 17835ea7c1 Merge pull request #12711 from jffmichi/fix_tagdressup
Path: fix error in Tag dressup when adding a point.
2024-03-04 07:22:09 -07:00
sliptonic 9c73d34f92 Merge pull request #12504 from davidgilkaufman/zigzagoffset_ordering
[Path] Fix path ordering for Offset and ZigZagOffset Pockets
2024-03-04 07:17:58 -07:00
Roy-043 e0d164ceb9 Merge pull request #12745 from Roy-043/Draft-applyConstructionStyle-was-missing-in-params.py
Draft: applyConstructionStyle was missing in params.py
2024-03-04 14:17:51 +01:00
Chris Hennes e0ecd213b2 PD: Translate wire not closed exception
This is a user-visible exception, shown in a dialog box
2024-03-04 11:40:18 +01:00
Roy-043 8e6a308e03 Draft: applyConstructionStyle was missing in params.py 2024-03-04 11:33:10 +01:00
Chris Hennes debc7df148 Draft: Translate annotation styles editor 2024-03-04 11:30:31 +01:00
wmayer cc8fbf83e7 Gui: Enable SoModelMatrixElement
The element type SoModelMatrixElement must be enabled for the node types SoHighlightElementAction and SoSelectionElementAction.
Otherwise an assert() will fail and causes a crash in debug mode.
2024-03-04 11:24:39 +01:00
David Carter 31135624b2 Usee display name in editor 2024-03-04 04:44:45 -05:00
David Carter de168aae27 Add property models for FEM 2024-03-04 00:50:32 -05:00
HowThatWorks 3f75bf3830 Merge branch 'main' of https://github.com/HowThatWorks/ISO-5257-templates 2024-03-04 05:27:54 +01:00
HowThatWorks 7f9aa4caa5 Fixed minor mistakes and omissions 2024-03-04 04:14:12 +01:00
HowThatWorks 599ccd5b9d Added common non-title block things 2024-03-04 04:14:12 +01:00
HowThatWorks 2e89c1ec32 Tidied up the templates 2024-03-04 04:14:12 +01:00
HowThatWorks d9c883ba30 Removed non-ISO compliant templates and replaced them with ISO-conformant templates 2024-03-04 04:14:12 +01:00
HowThatWorks 54b06f7079 Some ISO 7200 title blocks 2024-03-04 04:14:12 +01:00
HowThatWorks cfb367abbf ISO 5457 compliant bases for TechDraw templates. 2024-03-04 04:14:12 +01:00
HowThatWorks e3812ca557 Fixed minor mistakes and omissions 2024-03-04 03:36:44 +01:00
bgbsww 046e43651c Toponaming/Part: Correct elementsMatch to test all entries 2024-03-03 19:49:59 -05:00
HowThatWorks d651f233a0 Added common non-title block things 2024-03-03 20:56:11 +01:00
Ladislav Michl 0420f72ca0 Gui: PythonWrapper: Consolidate typeName handling
Use typeName consistently for both PySide and Python interface
code paths.
2024-03-03 15:20:48 +01:00
wmayer 866909e2f6 Gui: PythonWrapper: Make qt_getCppType more robust
Handle gracefully possible shiboken's Python API changes.
2024-03-03 15:20:48 +01:00
wmayer 26dedb03ce Gui: PythonWrapper: Fix possible crash in qt_wrapInstance 2024-03-03 15:20:48 +01:00
Ladislav Michl a11d8710c1 Gui: PythonWrapper: Use getPyTypeObjectForTypeName consistently 2024-03-03 15:20:48 +01:00
Ladislav Michl 769d14a1f1 Gui: PythonWrapper: Raise exception on qt_wrapInstance failure
When qt_wrapInstance fails it returns Py::Object with internal
pointer set to null. Make PythonWrapper::from* methods raise
exception when this happens to be consistent with PySide code path.
2024-03-03 15:20:48 +01:00
Ladislav Michl da64119797 Gui: Implement PythonWrapper::fromQAction
Wrapping QAction through QObject does not work as QAction class
is a part of QtGui not QtCore, so Py::Object with internal
pointer being null is returned causing a crash later.
Therefore implement fromQAction conversion method.
2024-03-03 15:20:48 +01:00
Max Wilfinger 31b12ae9e2 remove code block quotes from about info 2024-03-03 12:08:12 +01:00
jffmichi 101121f0d7 Path: fix error in Tag dressup when adding a point. 2024-03-03 03:57:17 +01:00
HowThatWorks 5bbd633ca0 Tidied up the templates 2024-03-02 23:47:37 +01:00
FEA-eng 7eae061bf1 FEM CalculiX 2D mechanical analyses (plane stress, plane strain and axisymmetric) (#12562) 2024-03-02 11:46:18 -06:00
CalligaroV 6ef63bb2a2 Part/Toponaming: Transfer PartFeature Feature::create()
* Added test for Feature::create()

Signed-off-by: CalligaroV <vincenzo.calligaro@gmail.com>
2024-03-02 14:07:06 +01:00
Zheng, Lei 32b68b6125 Part/Toponaming: Transfer PartFeature Feature::create()
* Imported Feature::create() method in Part::Feature class
2024-03-02 09:41:36 +01:00
David Carter 6db79f02c4 Ondsel solver update 2024-03-01 23:37:48 -05:00
Zheng, Lei 2adff99c14 Toposhape/Part: Transfer in PropoertyTopoShape and related 2024-03-01 07:55:12 -05:00
Chris Hennes 6c8ee59645 Part: Add BRepOffsetAPI_MakeFilling.hxx to OpenCascadeAll.h 2024-02-29 22:22:02 -06:00
Chris Hennes b3b773eb1b Part: Add BRepOffsetAPI_MakeEvolved.hxx to OpenCascadeAll.h 2024-02-29 21:29:07 -06:00
mosfet80 dd518726f1 clean FindNETGEN.cmake
Removed redundant mac netgen setup
2024-02-29 17:36:40 -06:00
Chris Hennes b6c8f8d460 Update translations 2024-02-29 17:25:46 -06:00
wandererfan d5116ca99c [TD]fix printAll formats 2024-02-29 18:06:04 -05:00
Rexbas 7e2f8c3056 Gui: Add easing to navigation animations 2024-02-29 13:29:37 -06:00
Rexbas 5e3425f753 Gui: Set default navigation animation duration to 500 ms 2024-02-29 13:29:37 -06:00
Vincenzo Calligaro 0e7aa5f7bc Part/Toponaming: Tests for flushElementMap and resetElementMap (#12471)
* Part/Toponaming: tests for flushElementMap and resetElementMap
 * Added test for resetElementMap()
 * Added test for flushElementMap()
 * restored ComplexGeoData::resetElementMap to RT fork
 * modified TopoShape::resetElementMap to match the restored signature of ComplexGeoData::resetElementMap
 * added checks in TopoShape::makeShapeWithElementMap to avoid segfaults
 * added check in TopoShape::setElementComboName to avoid segfaults
 * restored testFindSubShapesForSourceWithTypeAndIndex
 * modified test saveDocFileWithNoElementMap to match the restored signature of ComplexGeoData::resetElementMap
* Part/Toponaming: tests for flushElementMap and resetElementMap
 * Removed comments in ComplexGeoData::resetElementMap()
 * Changed TopoShape::resetElementMap():: from virtual to override
 * Removed comment in TopoShape::resetElementMap()
 * Added comments about differences between main and RT fork
 * Removed comment in test saveDocFileWithNoElementMap
 * Updated expected test result in makeElementCompoundTwoShapesGeneratesMap
 * Updated expected test result in resetElementMapTest
 * Fixed typo in test flushElementMapTest
* Part/Toponaming: tests for flushElementMap and resetElementMap
 * updated expected tests results after previous methods modifications

---------

Signed-off-by: CalligaroV <vincenzo.calligaro@gmail.com>
2024-02-29 13:27:27 -06:00
wandererfan cbc39e989f [TD]fix Projection Group front view position
- also fix checkbox correspondence with view position
2024-02-29 13:06:22 -05:00
Florian Foinant-Willig 677cadee5e PD: Use SuppressibleExtension 2024-02-29 18:24:27 +01:00
bgbsww 68fd2934cf Testing for makeElementEvolve 2024-02-29 09:26:22 -06:00
Zheng, Lei 110f3e000d Toposhape/Part: Transfer in makEEvolve 2024-02-29 09:26:22 -06:00
FEA-eng 96f3a7e8bc Update thermomech_bimetall.inp 2024-02-29 13:47:18 +01:00
FEA-eng 529a6da878 Update thermomech_bimetall.inp 2024-02-29 13:32:18 +01:00
FEA-eng b0759519de Update square_pipe_end_twisted_nodeforces.inp 2024-02-29 09:52:41 +01:00
FEA-eng e135e36d5d Update square_pipe_end_twisted_edgeforces.inp 2024-02-29 09:50:52 +01:00
FEA-eng b3d182f73d Update material_nonlinear.inp 2024-02-29 09:50:33 +01:00
FEA-eng c4f6e9a8c3 Update material_multiple_tensionrod_twoboxes.inp 2024-02-29 09:50:11 +01:00
FEA-eng a8bcdb2a68 Update material_multiple_bendingbeam_fivefaces.inp 2024-02-29 09:49:51 +01:00
FEA-eng 72f91e0c05 Update material_multiple_bendingbeam_fiveboxes.inp 2024-02-29 09:49:32 +01:00
FEA-eng 5d0ab3910c Update constraint_transform_torque.inp 2024-02-29 09:49:08 +01:00
FEA-eng e11ccff6e2 Update constraint_transform_beam_hinged.inp 2024-02-29 09:48:42 +01:00
FEA-eng 1d1841b640 Update constraint_tie.inp 2024-02-29 09:48:17 +01:00
FEA-eng 208d58646c Update constraint_selfweight_cantilever.inp 2024-02-29 09:47:54 +01:00
FEA-eng 02f3d361cc Update constraint_sectionprint.inp 2024-02-29 09:47:37 +01:00
FEA-eng da3069562e Update constraint_contact_shell_shell.inp 2024-02-29 09:47:19 +01:00
FEA-eng 38dce33060 Update ccx_cantilever_prescribeddisplacement.inp 2024-02-29 09:46:39 +01:00
FEA-eng ba6b9de959 Update ccx_cantilever_nodeload.inp 2024-02-29 09:46:19 +01:00
FEA-eng 7e9a468ca3 Update ccx_cantilever_faceload.inp 2024-02-29 09:46:02 +01:00
FEA-eng b18afc0dab Update ccx_cantilever_ele_tria6.inp 2024-02-29 09:45:41 +01:00
FEA-eng 684c8a5367 Update ccx_cantilever_ele_tria3.inp 2024-02-29 09:45:24 +01:00
FEA-eng b0783477a2 Update ccx_cantilever_ele_seg3.inp 2024-02-29 09:45:01 +01:00
FEA-eng 6bddef5c6c Update ccx_cantilever_ele_seg2.inp 2024-02-29 09:44:44 +01:00
FEA-eng 9bc2b5c506 Update ccx_cantilever_ele_quad8.inp 2024-02-29 09:44:26 +01:00
FEA-eng c76dbf4459 Update ccx_cantilever_ele_quad4.inp 2024-02-29 09:44:07 +01:00
FEA-eng 2f7a029ac1 Update ccx_cantilever_ele_hexa20.inp 2024-02-29 09:43:49 +01:00
FEA-eng b49a4f144b Update ccx_cantilever_beam_rect.inp 2024-02-29 09:43:27 +01:00
FEA-eng fd26660cd0 Update ccx_cantilever_beam_pipe.inp 2024-02-29 09:43:08 +01:00
FEA-eng 884dc2c30f Update ccx_cantilever_beam_circle.inp 2024-02-29 09:42:41 +01:00
FEA-eng 734edd8fd1 Update box_static.inp 2024-02-29 09:42:08 +01:00
FEA-eng 51c46d1a24 Update thermomech_bimetall.py 2024-02-29 09:41:23 +01:00
FEA-eng 30914209ae Update square_pipe_end_twisted_nodeforces.inp 2024-02-29 09:38:57 +01:00
FEA-eng 42e8cf6e21 Merge branch 'FreeCAD:main' into fem_ccx_incrementation 2024-02-29 09:17:47 +01:00
Chris Hennes a03ad7f49b Merge pull request #12201 from bgbsww/bgbsww-toponamingGetElementName
Toponaming: transfer in getElementName and dependencies
2024-02-28 21:05:54 -06:00
Chris Hennes a4efcf0533 Toponaming/Part: Clang-format cleanup 2024-02-28 19:18:45 -06:00
Chris Hennes 2630e259a0 Merge pull request #12610 from bgbsww/bgbsww-toponamingReplaceElementShape
Toponaming/Part:  replace element shape and remove element shape
2024-02-28 18:52:18 -06:00
Damien Miller d6720f95ff Fix adaptive glitch by removing coincident points
Remove adjacent coincident and nearly-coincident points from Path.

This is based on PR#5276 by sundtek, but only collapses adjacent points
on the Path. It also addresses (IMO) most of the feedback on the original
PR.

see also discussion on the forum:
https://forum.freecadweb.org/viewtopic.php?f=15&t=42755&start=10#p555566
2024-02-29 11:38:16 +11:00
FEA-eng b04fd40215 Update DlgSettingsFemCcx.ui 2024-02-28 23:29:05 +01:00
FEA-eng cfb2616c36 Update write_step_equation.py 2024-02-28 23:17:34 +01:00
FEA-eng 80a9703acd Update solver.py 2024-02-28 23:13:45 +01:00
bgbsww 7d0afaec54 Toposhape/Part: cleanup and test getElementName 2024-02-28 17:07:36 -05:00
Zheng, Lei 59b563ca69 Toponaming/Part: trasnfer in getElementName 2024-02-28 17:06:09 -05:00
bgbsww 698f306c18 Toposhape/Part: Clean and test replacEShape and removEShape 2024-02-28 16:53:29 -05:00
Zheng, Lei f8cca40b14 Toposhape/Part: Transfer in replacEShape and removEShape 2024-02-28 16:41:07 -05:00
Chris Hennes 566e97e11a Merge pull request #12628 from bgbsww/bgbsww-toponamingFeatureCompound
Toponaming/Part feature compound and revolution
2024-02-28 15:30:11 -06:00
Chris Hennes d472ed18da Merge pull request #12590 from bgbsww/bgbsww-toponamingMakeElementBSplineFace
Toponaming/Part make element b spline face and filled face
2024-02-28 15:29:13 -06:00
Chris Hennes a878b81495 Merge pull request #12474 from NomAnor/pd-pattern-tasks
Refactoring and cleanup of PD Pattern task panels
2024-02-28 15:10:37 -06:00
Chris Hennes dac2fb4d3d PD: Correct typo in pattern parameters 2024-02-28 13:56:16 -06:00
André Althaus a76aead05e Fix reference selection code
PolarPattern was missing some classes. The code is now more consistent
between the patterns.
2024-02-28 17:29:59 +01:00
André Althaus 0bdd72e7e7 Use the isDerived<>() Template function 2024-02-28 17:29:59 +01:00
André Althaus b1f9e9f805 Fix linter hints 2024-02-28 17:29:59 +01:00
Chris Hennes 97f9c4e467 App: Remove unneeded forward declaration
Addresses clang-tidy complaint: declaration 'Feature' is never referenced, but a declaration with the same name found in another namespace 'Part' [bugprone-forward-declaration-namespace]
2024-02-28 12:58:46 +01:00
pre-commit-ci[bot] 5829c3a058 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2024-02-28 12:58:07 +01:00
Roy-043 dcc41bf80c Sketcher: improve GUI texts for arcs and conics
The descriptions were sometimes not accurate (major/minor radius for ellipses). I have also tried to improve the constistency a little.

Forum topic:
https://forum.freecad.org/viewtopic.php?t=85396
2024-02-28 12:58:07 +01:00
pre-commit-ci[bot] 8f1b8b1f1f [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2024-02-28 12:55:40 +01:00
Roy-043 5cc566bb98 Sketcher: improve GUI texts for rectangles
The texts for the modes were changed to match those of the line tool.
2024-02-28 12:55:40 +01:00
pre-commit-ci[bot] 6a3c689d40 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2024-02-28 12:54:11 +01:00
Roy-043 86726f21b7 Sketcher: Change Sketcher_CreatePointFillet button text to match menu text
The menu text is "Create corner-preserving fillet" it makes sense to use a similar text for the button and not "Constraint-preserving sketch fillet".
2024-02-28 12:54:11 +01:00
Damien Miller ec9b2239ce regress test for G43 in centroid post
Since the centroid post now support --no-tlo, we can test that
too.
2024-02-28 22:00:52 +11:00
Damien Miller 2b2ada89fb Add G43 tool height compensation to centroid post
This adds G43 tool height compensation to the centroid CAM post-processor using
a similar approach to the G43 support in the MACH3 post.

Specifically, G43 is emitted at every tool change by default and a new
`--no-tlo` post argument can restore the old behaviour of no height
compensation being emitted. These both match how the MACH3 post does it.
2024-02-28 21:59:33 +11:00
Chris Hennes 8e15f24a22 Addon Manager: Fix scroll distance on scrollbar click 2024-02-27 22:36:16 -06:00
PaddleStroke dfa1b94c83 Sketcher: Line DSH: Harmonize width/length behavior with rectangle. 2024-02-27 21:46:41 -06:00
Ed Williams f88f48f64f Change the calculation of the b parameter of the hyperbolic arc (#12467)
* Change the calculation of the b parameter of the hyperbolic arc
so that it does not give 0/0 when cos(phi) = 0

This gave problems if the first two points defined in the sketcher had
the same x-coordinate.
2024-02-27 14:38:05 -06:00
bgbsww e3c4461891 Toposhape/Part: Cleanup and tests for FeatureCompound and FeatureRevolution 2024-02-27 09:58:13 -06:00
Zheng, Lei 99256f23e7 Toposhape/Part: Transfer in FeatureCompound and FeatureRevolution 2024-02-27 09:58:13 -06:00
Ajinkya Dahale da7d5391af [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 f8f159c4d3 [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 d1c9370614 [Sketcher] Use angle-via-two-points in e2e with BSplines 2024-02-27 09:57:52 -06:00
Ajinkya Dahale 5539ef625c [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
bgbsww 16c29ceb27 Toponaming/Part: Add tests and clean makeElementBSplineFace and makeElementFilledFace 2024-02-27 09:57:27 -06:00
Zheng, Lei 5aed0c78f5 Toposhape/Part: Transfer in makEFilledFace and makEBSplineFace 2024-02-27 09:57:27 -06:00
wmayer 8173e4474b Tests: use the correct value as reference 2024-02-27 08:47:47 -06:00
mosfet80 36f42cf4d8 Delete src/Tools/update_qt_language_files.py
Empty file
2024-02-27 08:42:56 -06:00
mosfet80 d8598139ce Clean ConfigureChecks.cmake
Clean cmake
2024-02-27 15:09:48 +01:00
PaddleStroke 57a83955cb Fix ViewProviderSuppressibleExtension 2024-02-27 15:05:50 +01:00
PaddleStroke d74eb1439a Remove warning in Tree.cpp from 12293 2024-02-27 10:22:30 +01:00
Chris Hennes f554750f8e Addon Manager: Add UI for setting Score source 2024-02-26 21:43:21 -06:00
Chris Hennes 7d882ca37f Addon Manager: Add fetching of 'score' database 2024-02-26 21:43:21 -06:00
mos 7e0cd689a5 [Base] remove MemDebug
removed unused Memdebug files
2024-02-26 20:38:46 -06:00
HowThatWorks fea52bf4a0 Removed non-ISO compliant templates and replaced them with ISO-conformant templates 2024-02-26 23:17:49 +01:00
pavltom 74d0c2e2c1 [TechDraw] Add new Insert Repetition Count command 2024-02-26 16:40:25 -05:00
Chris Hennes c356223702 Merge pull request #12572 from bgbsww/bgbsww-toponamingMakeElementRevolve
Toponaming/Part: make element revolve and prism
2024-02-26 15:32:22 -06:00
pavltom d11d3cd7b8 [TechDraw] Reimplement Rich Annotation parent linking 2024-02-26 16:22:30 -05:00
Chris Hennes 0c09c6257c Addon Manager: Change branch rename to rm and clone 2024-02-26 13:23:46 -06:00
marioalexis a5ea8023a2 Fem: Create mesh for check type analysis in CalculiX - fixes #12503 2024-02-26 11:24:36 -06:00
FEA-eng 2529dc56f4 Remove the unfinished FEM Nodes set tool from GUI (#12611) 2024-02-26 11:23:53 -06:00
FEA-eng ce4dca481d Update ElementGeometry1D.ui 2024-02-26 11:22:51 -06:00
Chris Hennes 16167281dd Addon Manager: Fix calculation in Qt6 2024-02-26 11:22:09 -06:00
wmayer 58a53e929d Gui: refactor Application::runApplication 2024-02-26 11:21:38 -06:00
Bas Ruigrok 45e33a7f12 Gui: Fix selection in Blender, CAD and Revit style 2024-02-26 11:21:07 -06:00
Chris Hennes 1e487c3346 Merge pull request #12506 from Ondsel-Development/assemblyExample
Assembly: add example file and new file template
2024-02-26 11:02:24 -06:00
wmayer 51a01b9e2b Fix compiler warnings:
fix [-Winconsistent-missing-override]
fix [-Wunused-lambda-capture]
fix [-Wunused-variable]
fix [-Wswitch]
2024-02-26 11:01:37 -06:00
FEA-eng 3c44afdc6a FEM Beam Shell Result Output 3D true by default (#12493) 2024-02-26 11:01:05 -06:00
mosfet80 38f3ec7a31 Main: remove branding.xml
File brandind.xml are unused
2024-02-26 18:00:24 +01:00
LemonBoy 74dc66f6f2 PD: Make datum points highlightable/selectable (#12439)
* PD: Make datum points highlightable/selectable

Give the user some feedback by changing the color of the datum point
marker as the user selects or hovers over it.

Closes #9540
2024-02-26 13:55:36 -03:00
Chris Hennes d144e85a34 Merge pull request #12412 from FlachyJoe/suppressibleExt
Core: Create a SuppressibleExtension to provide the Suppressed property to all the WBs
2024-02-26 10:53:46 -06:00
Chris Hennes 717525c5be Merge pull request #12298 from NomAnor/visibility-icon
Add an icon to toggle the visibility of items in the tree view
2024-02-26 10:45:07 -06:00
PaddleStroke ee0c55703f Core: Tree: Allow reordering in root and groups allowing it (parts, groups 2024-02-26 10:42:21 -06:00
Florian Foinant-Willig d7a95b4e90 PartDesign_Helix: use computed wires
use the wires of the computed face instead of the selected ones.
2024-02-26 17:41:21 +01:00
Ladislav Michl 1215301e59 Base: Fix #12061
While rebasing after f539138dd9 ("fix readability-*:") a mistake was
make, causing  exception been thrown for every file opened. While there,
invert file test existence logic, so we return early on failure.

Fixes: 95b37fa806 ("Base: Do not use else before return")
2024-02-26 17:39:33 +01:00
mos a025af2d26 removed deprecaded functions
.

.
2024-02-26 17:38:01 +01:00
Chris Hennes e1ca8c8cc0 Merge pull request #12527 from marioalexis84/fem-update_constraint_symbols
Fem: Update constraint symbols when moving reference shape - fixes #6093
2024-02-26 09:42:50 -06:00
mos 3b39012f96 github CI: switch to actions/cache@v4 for ccache
with ´save-always: true´ flag
2024-02-26 14:26:02 +01:00
marioalexis 5938489654 Fem: Update constraint symbols when moving reference shape - fixes #6093 2024-02-26 04:01:28 -03:00
marioalexis 6132f25fdf Part: Make fromPlacement function return general trasformation 2024-02-26 04:01:28 -03:00
Chris Hennes e99220daf6 Merge pull request #12553 from bgbsww/bgbsww-toponamingMakeElementSliceMirror
Toponaming: Part: make element slice mirror
2024-02-25 23:36:32 -06:00
Chris Hennes 7f8d6e2bb1 Update translations (#12557)
* Update translations

* [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-02-24 21:38:37 -06:00
wmayer a38e73135e Sketcher: fixes #12343: Undo/Redo for sketcher constraints doesn't work correctly 2024-02-25 00:59:35 +01:00
wmayer 53b512da1c MSVC: fix compiler warnings 2024-02-25 00:12:34 +01:00
wmayer a2315503fa Sketcher: expose the LabelDistance and LabelPosition members of Constraint to Python 2024-02-25 00:10:56 +01:00
wmayer 41b3be8fb6 Gui: improve PropertyMaterialListItem 2024-02-24 23:59:58 +01:00
wmayer c633edfe8a Gui: improve PropertyMaterialItem 2024-02-24 23:59:58 +01:00
wmayer 1187ed58ed Gui: allow to set ranges for property item editors when used as sub-items 2024-02-24 23:59:58 +01:00
wmayer e57a1fe02e Fixes #12586: FEM requires OpenMP 5.0 (e.g. GCC >= 9) 2024-02-24 21:11:06 +01:00
marioalexis84 4932f17dc5 Fem: Enable checkbox for references mesh groups - fixes #10071 (#12437) 2024-02-24 10:29:00 -06:00
Chris Hennes 628bad452a Addon Manager: Add sorting (#12561) 2024-02-23 22:33:20 -06:00
Chris Hennes 80b516df45 Addon Manager: Fix ZIP-based update 2024-02-23 22:31:36 -06:00
Ladislav Michl 967633eca9 Gui: PythonWrapper: Do not steal reference
Foreign Python objects needs to be passed as Py::Object().
Py::asObject() is stealing reference and object might be garbage
collected even before dereferenced. Problem didn't show in the
original code because methods Py::asObject() was used in were
never called.

Fixes: ac6f991baf (Gui: Consolidate Python -> Qt class conversion)
2024-02-24 01:18:30 +01:00
bgbsww 1fa89ea4c1 Toponaming/Part: Cleaning and tests for makeElementRevolve, makeElementPrism, makeElementPrismUntil 2024-02-23 15:04:28 -05:00
Zheng, Lei c3d152540c Toponaming/Part: Transfer in makERevolve, makEPrism, makEPrismUntil 2024-02-23 14:50:44 -05:00
bgbsww 7bdf8f69ea Correct incorrect comment 2024-02-23 11:54:32 -05:00
bgbsww 331881ae22 Merge branch 'main' into bgbsww-toponamingMakeElementSliceMirror 2024-02-23 10:37:47 -05:00
bgbsww 85b5cfc62a Merge branch 'main' into bgbsww-toponamingMakeElementSliceMirror 2024-02-23 10:24:44 -05:00
HowThatWorks c3f19af093 Some ISO 7200 title blocks 2024-02-23 12:21:42 +01:00
HowThatWorks 84af77498d ISO 5457 compliant bases for TechDraw templates. 2024-02-23 12:18:01 +01:00
Chris Hennes 8a3407aee6 Merge pull request #12525 from bgbsww/bgbsww-toponamingMakeElementSolid
Toponaming/Part: make element solid
2024-02-22 21:18:51 -06:00
bgbsww 8ecfd6883c Remove redundant from merge 2024-02-22 20:11:08 -05:00
bgbsww 68edc6f123 Merge branch 'main' into bgbsww-toponamingMakeElementSolid 2024-02-22 20:06:51 -05:00
bgbsww 405bf03ce9 Clean and add tests for makeElementSolid 2024-02-22 19:18:08 -05:00
Chris Hennes 6dcf908eaa Merge pull request #12523 from bgbsww/bgbsww-toponamingMakeElementTransform
Toponaming/Part: make element transform, _transform and gtransform
2024-02-22 17:46:19 -06:00
bgbsww e33e0a3f5e Toponaming/Part: Clean and add tests for elementTransform methods 2024-02-22 17:28:35 -05:00
bgbsww dbe7c9d372 Toposhape/Part: Cleanups and tests for makeElementSlice, makeElementSlices, and makeElementMirror 2024-02-22 17:16:46 -05:00
FEA-eng 9a0e40feec FEM: Beam reduced integration (#12513) 2024-02-22 15:30:47 -06:00
Chris Hennes 971c4f4bb1 App: Add PreCompiled.h to Varset cpp file (#12541)
* App: Add PreCompiled.h to Varset cpp file
2024-02-22 11:23:14 -06:00
Chris Hennes 3d66f6b1e5 Addon Manager: Fix metadata license fetch and display 2024-02-22 11:22:51 -06:00
Zheng, Lei 7fc99b42e7 Toposhape/Part: Transfer in _makETransform, makETransform, makEGTransform 2024-02-22 12:13:54 -05:00
Chris Hennes dead40e8c5 Merge pull request #12549 from bgbsww/bgbsww-toponamingMakeElementFillet
Toponaming/Part make element fillet
2024-02-22 11:04:11 -06:00
Zheng, Lei 8e91aad2f0 Toposhape/Part: Transfer in makESlice and makEMirror 2024-02-22 08:57:01 -05:00
bgbsww 715faeac54 Toposhape/Part: clean, add tests for makeElementFillet and makeElementChamfer 2024-02-22 08:27:40 -05:00
Zheng, Lei 3c53e10448 Toposhape/Part: Transfer in makEFillet and makEChamfer 2024-02-22 07:40:59 -05:00
wmayer 90ede977a3 CMake: set policy CMP0148 to old 2024-02-22 11:47:48 +01:00
wmayer 89a1dc0363 Gui: fix linter warnings 2024-02-22 11:47:48 +01:00
wmayer b335a15ccc Gui: fixes #12540: ‘ModuleShiboken’ was not declared in this scope 2024-02-22 11:47:48 +01:00
Chris Hennes 14d2915e6c Merge pull request #12528 from bgbsww/bgbsww-toponamingMoveEqualOperator
Toponaming/Part:  Bring in = operator, resetMap and flushMap overrides, and fix affecte…
2024-02-21 16:08:32 -06:00
André Althaus ecf25d936e Unrelated changes from automatic code generation
These are mostly comment changes.
2024-02-21 19:28:33 +01:00
André Althaus 5aacd52ed8 Add a new preference for the visibility icons
Add a preference to Display->UI that allows the user to choose if
the visibility icons are shown in the tree view.
2024-02-21 19:28:28 +01:00
André Althaus 15944bb079 Add a function to recalculate the icons for use when the visibility icon preference changes 2024-02-21 19:25:13 +01:00
André Althaus 47bbc1f6af Toggle visibility when clicking the visibility icon
If the visibility icon is enabled a mouse press on that part of the icon
toggles the visibility of the tree item.
2024-02-21 19:25:13 +01:00
André Althaus e7665f523f Add visibility icon
Prepends the visibility icon to the normal icon if enabled and uses
the result as the new icon.
2024-02-21 19:25:12 +01:00
André Althaus 47773d423b Add visibility icons to resources
The icons are taken from https://github.com/realthunder/FreeCAD/tree/LinkMerge
2024-02-21 19:25:12 +01:00
bgbsww d7f14d3df5 Bring in = operator, resetMap and flushMap overrides, and fix affected tests 2024-02-21 12:13:16 -05:00
Zheng, Lei 84b139f76b Toposhape/Part: Transfer in makESolid 2024-02-21 12:00:51 -05:00
bgbsww b5eafe6783 Toposhape/Part: Clean GeneralFuse, Fuse, Cut; add tests; tweak other tests 2024-02-21 12:00:51 -05:00
bgbsww b2cad5297a Toponaming/Part: Clean and add tests for elementTransform methods 2024-02-21 11:56:22 -05:00
Zheng, Lei a90ad10d60 Toposhape/Part: Transfer in _makETransform, makETransform, makEGTransform 2024-02-21 11:56:22 -05:00
wandererfan 456fa53eab [TD]use correct tooltip in first/third angle 2024-02-21 11:46:18 -05:00
wandererfan 289c386f6b [TD]ANSI/ASME section line conformance 2024-02-21 11:46:18 -05:00
Florian Foinant-Willig 735fed082f Add Suppress action to contextmenu 2024-02-21 16:19:38 +01:00
Florian Foinant-Willig 5a22009217 Add SuppressibleExtension 2024-02-21 16:19:32 +01:00
Chris Hennes 23741ffa77 Merge pull request #12517 from bgbsww/bgbsww-toponamingMakeElementGeneralFuse
Toponaming/Part:  make element generalfuse, fuse, cut
2024-02-21 08:25:12 -06:00
André Althaus b301816889 Refactor the apply function to be virtual public 2024-02-21 15:04:38 +01:00
André Althaus 7bbca2f00d Fix crash when canceling the MultiTransform panel while a newly cretated subfeature is edited
Before calling the closeSubTask() function from the dialog reject()
function, the slotDeletedObject() is called from the transaction being
aborted. This causes the subFeature pointer to be nullptr and subsequent
apply() functions from the SpinBox widgets to crash.

Before calling apply check if the subFeature is still there.
2024-02-21 14:56:23 +01:00
Pieter Hijma 095e94183a [Core] Managing Custom Data Elements: VarSet (#12135)
* [Core] Add a basic VarSet document object

* [Core] Add basic tests for VarSets

* Core: Replace the VarSet icon with an outlined one
2024-02-21 10:38:06 +01:00
wmayer 260daaf24c Tests: add unit tests for all token types defined in ExpressionParser.l 2024-02-21 07:32:14 +01:00
Chris Hennes 5d1c4caba0 Base: Rename ASCIIInputStream to TextInputStream 2024-02-21 07:31:22 +01:00
Adrián Insaurralde Avalos 21bcb052ad Add assembly template to startpage 2024-02-21 01:43:16 -03:00
Adrián Insaurralde Avalos a2b2c7ebc1 Assembly: add example file 2024-02-21 01:39:06 -03:00
bgbsww 917093b550 Toposhape/Part: Clean GeneralFuse, Fuse, Cut; add tests; tweak other tests 2024-02-20 15:10:28 -05:00
wmayer aed799ce2a Gui: removed unused variable 2024-02-20 14:44:53 +01:00
wmayer 1262aef95d Gui: port to Qt6 2024-02-20 14:44:53 +01:00
David Kaufman 583c86d157 [Path] Change ZigZagOffset so the profile starts at the end of the zigzag 2024-02-19 23:13:44 -05:00
David Kaufman 8807106ab8 [Path] disable wire sorting for ZigZagOffset and Offset
Also enable the Min Travel checkbox unconditionally, since it can now be
used to override this "disable" feature and enable wire sorting
2024-02-19 23:13:37 -05:00
Zheng, Lei c78027cc5c Toposhape/Part: Transfer in makEGeneralFuse, makeEFuse, makeECut 2024-02-19 21:12:52 -05:00
wmayer 8993f3fc21 Part: fix -Wextra-semi 2024-02-20 01:14:15 +01:00
Chris Hennes 44d86f3296 Base: Add ASCIIInputStream
Based on the modifications to InputStream from the LinkStage3 fork. Needed for correct restoration of StringHasher.
2024-02-19 16:47:28 -06:00
Max Wilfinger 3e47de6d92 fix typo in polygon task dialog 2024-02-19 15:51:25 -06:00
czinehuba 7a025e4e60 Updated space in dashed lines 2024-02-19 18:39:58 +01:00
Huba Czine e20a07653c Update icons for Sketcher_ToggleConstruction & Sketcher_ToggleConstruction_Constr 2024-02-19 18:39:58 +01:00
Jacob Oursland f5bc071cb3 Conda: Unpin OCCT as FreeCAD now builds with OCCT 7.8.0+. 2024-02-19 18:36:00 +01:00
Jacob Oursland 104b64fbe2 Conda: Unpin coin3d as the latest bugfix version corrects the build incompatibility. 2024-02-19 18:35:14 +01:00
Jacob Oursland 9f7a189511 Conda: Pin Python to prevent automatically downgrading without error. 2024-02-19 18:34:51 +01:00
sliptonic f6e1f0faa3 Merge pull request #12358 from maxwxyz/sketcher-translate-scale-to-context-menu
[Sketcher] add translate and scale commands to context menu
2024-02-19 18:33:14 +01:00
Yorik van Havre e16f993df7 [Arch] Always use a default IFC type - fixes yorikvanhavre/FreeCAD-NativeIFC#60 2024-02-19 11:26:38 -06:00
mosfet80 637287e932 Clean FindPyCXX.cmake (#12333)
* Clean FindPyCXX.cmake
2024-02-19 11:25:01 -06:00
Chris Hennes 40e41f1bb7 Merge pull request #12309 from chennes/addonManagerRefactorGUIArea
Addon manager: Refactor GUI area
2024-02-19 11:20:00 -06:00
Chris Hennes 3aa70320c7 Merge pull request #12306 from Rexbas/fix-disappearing-handles
Gui: Fix disappearing element handles in sketcher
2024-02-19 11:18:10 -06:00
Chris Hennes a55f40deea Merge pull request #12305 from bgbsww/bgbsww-toponamingFeaturePartFuse
Toponaming/Part FeaturePartFuse
2024-02-19 11:16:53 -06:00
LemonBoy 1c8ca27f28 Preserve object order when moving them
Remove and re-insert the selected objects at the specified point in the
tree while preserving their relative order.

The code used to insert them in reverse order.

Closes #12287
2024-02-19 11:16:08 -06:00
marioalexis 6d0f757b94 Fem: Use expression binding with the constraint tie Tolerance property 2024-02-19 11:13:42 -06:00
Andrei Pozolotin c5ad7b50b6 Resolve #11965 - no proper execute() for cross-property references
Solution B: parsequant() function
2024-02-19 11:12:52 -06:00
sliptonic d7d9c84395 Merge pull request #12426 from Schildkroet/bugfix_uccnc_drillcycles
[Path] Bugfix uccnc_post.py
2024-02-19 17:50:13 +01:00
bdieterm bed5e4362b Gui: unite init code for FreeCAD GUI (normal and via Gui.showMainWindow()) 2024-02-19 10:48:00 -06:00
Chris Hennes 925be2aa48 Merge pull request #12088 from 3x380V/qt6_fixes
Gui: Consolidate PythonWrapper
2024-02-19 10:46:12 -06:00
sliptonic 942b219e84 Merge pull request #12075 from chennes/facemakerTranslationFix
Part: Fix translation bug in FaceMaker
2024-02-19 17:43:18 +01:00
Roy-043 cbd27854df Draft: update DefaultShapeColor in params.py to match new default 2024-02-19 10:11:48 +01:00
bgbsww 0065c9cce7 Toponaming/Part: Remove makeElementShape and cleanup opcode code 2024-02-18 21:57:12 -06:00
Chris Hennes 2d0ef0e659 Merge pull request #12484 from bgbsww/bgbsww-toponamingPartFeatures
Toponaming/Part  part features transfer
2024-02-18 21:56:34 -06:00
marioalexis 38fdba4a95 Fem: Prevent stop CalculiX immediately - fixes #12448 2024-02-18 21:55:41 -06:00
Vincenzo Calligaro 5763ac32b0 Part/Toponaming: tests for MapperHistory (#12402)
* Part/Toponaming: MapperHistory
 * added test for MapperHistory::modified
 * added test for MapperHistory::generated
 * renamed edges in the test for MapperHistory::modified

---------

Signed-off-by: CalligaroV <vincenzo.calligaro@gmail.com>
2024-02-18 16:42:41 -06:00
bgbsww 4959f7d140 Toponaming/Part: Clean up code 2024-02-18 17:35:15 -05:00
Zheng, Lei 56355b0215 Toponaming/Part: transfer in FeaturePartFuse 2024-02-18 17:28:25 -05:00
Chris Hennes 1ed79aea7d Merge pull request #12483 from bgbsww/bgbsww-toponamingMakeElementThickSolid
Toponaming/Part make element thick solid
2024-02-18 15:46:49 -06:00
Max Wilfinger 2a264241dc change default shape color 2024-02-18 14:12:22 -06:00
bgbsww dbe300133a Toponaming/Part: Clean and test PartFeatures 2024-02-18 12:57:49 -05:00
FEA-eng 62c8469bde FEM new matrix solver types (PaStiX and Pardiso) (#12478)
* Update solver.py
* Update write_step_equation.py
* Update DlgSettingsFemCcx.ui
2024-02-17 20:14:32 -06:00
bgbsww 10095d2625 Toponaming/Part: Add tests and clean 2024-02-17 21:13:08 -05:00
Zheng, Lei 08dc14c97b TopoNaming/Part: transfer makeElementThickSolid 2024-02-17 21:11:52 -05:00
Max Wilfinger f6f8243b7e [Material] Adjust default material appearance (#12380) 2024-02-17 20:07:44 -06:00
Chris Hennes b2c1f1a272 Merge pull request #12482 from bgbsww/bgbsww-toponamingGetSubTopoShape
Toponaming/Part: get sub topo shape
2024-02-17 20:03:59 -06:00
Chris Hennes 4306699826 Toponaming/Part: clang-format pass 2024-02-17 19:37:29 -06:00
Zheng, Lei f7fe3ce345 Toponaming/Part: move in PartFeatures 2024-02-17 19:41:43 -05:00
bgbsww ddcfdddcf2 Toponaming/Part: Add tests and clean 2024-02-17 19:30:47 -05:00
Zheng, Lei f75e70343b TopoNaming/Part: transfer makeElementThickSolid 2024-02-17 18:28:50 -05:00
bgbsww 5db6ef559e Toponaming/Part: tests addition and cleaning 2024-02-17 18:07:23 -05:00
Zheng, Lei 99808e9ef2 Toponaming/Part: transfer in and clean getSubShapes, getSubTopoShapes, getOrderedEdges 2024-02-17 18:06:56 -05:00
wandererfan 609a7864e1 [TD]fix Prefs Annotation tab
- prevent premature save of LineStandard
2024-02-17 12:11:14 -05:00
André Althaus bb25074076 Reformat files with clang-format 2024-02-17 17:13:14 +01:00
André Althaus fd4bea24b7 Fix apply() method not called consistently
The python console commands where not consistenly reported because
the apply function was not called or not implemented.

The function is now called from the base class and also when
a subfeature is closed in MultiTransform.

Some missing properties are also added.
2024-02-17 17:13:14 +01:00
André Althaus 48d9a8da86 Refactor: optimize member access specifiers
After refactoring many members have unnecessarily open access specifiers.
This changes as many members as possible to private or protected.
2024-02-17 17:12:59 +01:00
André Althaus 77bcd7e50f Refactor: remove unused functions 2024-02-17 17:12:59 +01:00
André Althaus 4ae184706d Refactor: add default member initializers 2024-02-17 17:12:59 +01:00
André Althaus ab7dd607a5 Refactor: replace enum with enum class 2024-02-17 17:12:59 +01:00
André Althaus 24c138373c Move duplicated code to the base class
All pattern sublcasses contain the same code for handling the
feature list. This code is now moved into the base class that handles
the common ui.

The subclasses now only need to call the setupUI/setupParameterUI function
in their constructors and implement the setupParameterUI function
to create their parameter ui into the specified widget.

The MultiTransform also handles it's common ui and the subclasses
can reuse setupParameterUI without code duplication.
2024-02-17 17:12:32 +01:00
André Althaus 5139182dbe Refactor PD Pattern Tasks ui files
All files contain the same add/remove buttons and a feature list.

These common elements are moved into the TaskTransformedParameters.ui file.
The same goes for the common OK Button that is used in a MultiTransform.

The ui files for the patterns only contain their distinctive
parameters. And the common ui files contain an empy widget that will
be filled with the respective parameter widgets from the patterns.
2024-02-17 17:11:57 +01:00
Chris Hennes c4daf256b2 Merge pull request #12460 from bgbsww/bgbsww-toponamingMakeElementPipeShell
Toponaming/Part:  make element pipe shell
2024-02-16 22:54:22 -06:00
mosfet80 9960838ca3 Gui: remove SoNavigationDragger (#12409)
Removed SoNavigationDragger files. These files are no longer used in the project
2024-02-16 21:39:28 -06:00
mosfet80 e4d22af2a1 Gui: remove ProjectView (#12410)
This class is not used anywhere, remove it.
2024-02-16 21:38:42 -06:00
mosfet80 2fe8f546b7 removed unused files 2024-02-16 21:36:36 -06:00
bgbsww abde135776 Toponaming/Part: Cleanup makeElementPipeShell, add tests, and some delinting 2024-02-16 22:16:58 -05:00
marioalexis 7262b0ecc8 Fem: Run option in examples open and run analysis - fixes #11056 2024-02-16 21:01:23 -06:00
Zheng, Lei ac1d862a3e Toponaming/Part: Transfer makEPipeShell 2024-02-16 21:01:49 -05:00
Chris Hennes 21b2bc41e4 Merge pull request #12435 from bgbsww/bgbsww-toponamingMakeElementLoft
Toponaming/Part: make element loft
2024-02-16 17:07:08 -06:00
bgbsww 921be4daaa Toponaming/Part: Clean and add tests 2024-02-16 14:01:12 -05:00
Zheng, Lei d80758e882 Toponaming/Part: transfer in makELoft 2024-02-16 11:22:29 -05:00
bgbsww 044329ae82 TopoNaming/Part: cleanups and tests 2024-02-16 11:22:29 -05:00
Roy-043 69097667df Merge pull request #12443 from Roy-043/Draft-fix-wrong-selection-after-commands-improved
Draft: fix wrong selection after commands (improved)
2024-02-16 11:46:04 +01:00
Roy-043 ca1a10585a Draft: fix wrong selection after commands (improved)
The previous fix was not correct. Some commands would cause a crash and several files were missed.

Forum topic reporting a crash:
https://forum.freecad.org/viewtopic.php?t=85243
2024-02-16 10:56:10 +01:00
Ladislav Michl 16232eed95 Gui: PythonWrapper: move getCppPointer into template 2024-02-16 09:25:02 +01:00
Ladislav Michl 6f8268b394 Gui: PythonWrapper: move wrap instance argument into template 2024-02-16 09:22:57 +01:00
Ladislav Michl 9e65a334fb Gui: PythonWrapper: fix access via Python to QObject and QWidget 2024-02-16 09:22:57 +01:00
Ladislav Michl ec93b2aef1 Gui: PythonWrapper: unify getPyTypeObjectForTypeName 2024-02-16 09:22:57 +01:00
Ladislav Michl 92d0e5a266 Gui: PythonWrapper: consolidate module loader 2024-02-16 09:22:54 +01:00
Ladislav Michl 3a603138bd CMake: Fix include path returned by find_pip_package
SetupShibokenAndPyside macro checks module include path and eventually
decides to disable respective module in case its include directory is
missing. Make this process more straightforward by testing directory
existence; "Location: " string is 10 not 9 characters long and leading
whitespace makes testing for directory name fail.
While there, rename variables to respect that find_pip_package returns
only single include and library path.
2024-02-16 09:19:09 +01:00
Ladislav Michl f32ed05a01 CMake: Move build options for Shiboken/Pyside to the top 2024-02-16 09:19:09 +01:00
Chris Hennes 43723b6d78 Merge pull request #12431 from bgbsww/bgbsww-toponamingMakeElementRuledSurface
Toponaming/Part:  make element ruled surface
2024-02-15 20:55:29 -06:00
bgbsww ac618d8ec5 TopoNaming/Part: cleanups and tests 2024-02-15 19:07:19 -05:00
Zheng, Lei c0c16f684c TopoNaming/Part: transfer in MakERuledSurface 2024-02-15 19:05:55 -05:00
Chris Hennes dd02306da0 Merge pull request #12417 from bgbsww/bgbsww-toponamingLinearize
Toponaming/Part: transfer in linearize
2024-02-15 18:02:08 -06:00
Roy-043 c02762cd31 Merge pull request #12430 from Roy-043/Draft-remove-reapply_diffuse_color-workaround-step-2
Draft: remove reapply_diffuse_color workaround step 2
2024-02-15 23:44:52 +01:00
Roy-043 88f7d4dd2d Merge pull request #12429 from Roy-043/Draft-gui_line_add_delete.py-is-obsolete
Draft: gui_line_add_delete.py is obsolete
2024-02-15 23:44:29 +01:00
bgbsww 61bcd553ee Toponaming/Part: Clean up linearize, add tests, and some delinting 2024-02-15 16:53:01 -05:00
Roy-043 faa9ad4c16 Draft: remove reapply_diffuse_color workaround step 2
Stuff that was missed in #11946
2024-02-15 22:28:37 +01:00
Roy-043 167b3846de Draft: gui_line_add_delete.py is obsolete 2024-02-15 22:20:53 +01:00
Max Wilfinger d0c23eed30 added Assembly option to problem template 2024-02-15 15:18:27 -06:00
Schildkroet 6ff19bb69e Bugfix uccnc_post.py
Fixed drill cycles for uccnc post
2024-02-15 21:58:35 +01:00
marioalexis ea840bc3a3 Fem: Expose Constraint view provider symbol node to Python 2024-02-15 13:31:20 -06:00
marioalexis c49c52716c Fem: Move Points and Normals properties to base class 2024-02-15 13:31:20 -06:00
Ladislav Michl a489b095f0 Assembly: Add ${PYTHON_INCLUDE_DIRS} to CMakeLists.txt
Assembly Gui is including <Base/PyObjectBase.h> which in turn
includes <Python.h>, so path to Python includes is needed.
2024-02-15 13:24:15 -06:00
Zheng, Lei 964e15805a Toponaming/Part: transfer in linearize 2024-02-15 14:21:32 -05:00
Chris Hennes 779c63c2fd Merge pull request #12414 from bgbsww/bgbsww-toponamingSearchSubShape
Toponaming/Part: Add  searchSubShape as findSubShapesWithSharedVertex
2024-02-15 12:49:42 -06:00
Max Wilfinger f2d4a31171 add action workflow to generate monthly issue metrics 2024-02-15 12:39:57 -06:00
bgbsww 6c3f250e4c Toponaming/Part: Add tests for searchSubShape 2024-02-15 12:36:23 -05:00
Ajinkya Dahale c5d462a3d9 [planegcs][test] Fix issue in arc-B-spline tangent test
Correct the size of the knot vector used (described here with knots and multiplicities).
2024-02-15 10:58:41 -06:00
Zheng, Lei db377c1854 Toponaming/Part: transfer in searchSubShape 2024-02-15 07:54:22 -05:00
Chris Hennes 9917565d95 Merge pull request #12405 from bgbsww/bgbsww-toponamingMakeElementDraft
Toponaming/Part: Transfer in MakeElementDraft
2024-02-14 21:10:56 -06:00
Chris Hennes b075f7d5d6 Part/Toponaming: Apply clang-format to TopoShapeExpansion 2024-02-14 18:56:38 -06:00
Chris Hennes 66e29cbd79 Assembly: Add ${COIN3D_INCLUDE_DIRS} to CMakeLists.txt (#12407)
* Assembly: Add ${COIN3D_INCLUDE_DIRS} to CMakeLists.txt
2024-02-14 18:26:30 -06:00
bgbsww 6e9cd051f2 Toponaming/Part: Cleanup and test makeElementDraft 2024-02-14 12:20:10 -05:00
Chris Hennes 69741a79ba Merge pull request #12360 from FreeCAD/revert-11937-issue_11825
Revert "Resolve #11825 - no automatic quantity conversion: App::anyToQuantity"
2024-02-13 19:00:32 -06:00
LemonBoy 7f5d89fa19 Part Attacher: Implement 1D intersection for attachments (#12328)
* PD: Implement 1D intersection for attachments

Extract a line from the intersection of two faces.

Closes #6870

* fixup! Use Handle macro

For some reason I don't fully understand yet the CI was failing, let's
see if this fixes the compilation errors.

* fixup! Add missing(?) header

Well, it compiles just fine on my system...

* fixup! Be more specific in error messages
2024-02-13 17:45:01 -03:00
LemonBoy c0e318c6d0 Part Grid: Exclude the grid group from bbox computation (#12349)
Fixes the problem where View_FitAll would compute a huge bounding box
when the infinite grid is enabled.

Closes #11570

Co-authored-by: wwmayer <werner.wm.mayer@gmx.de>
2024-02-13 17:42:51 -03:00
Florian Foinant-Willig 74c52c9063 PD: handle null pointer in Feature::getBaseShape (#12385) 2024-02-13 17:41:25 -03:00
Chris Hennes d89f4d7f29 Merge pull request #12366 from bgbsww/bgbsww-toponamingGetSubTopoShape
Toponaming/Part:  Move getSubTopoShape
2024-02-13 14:09:24 -06:00
Zheng, Lei c5ba519470 Toponaming/Part: move in makeElementDraft 2024-02-13 13:41:56 -05:00
Chris Hennes 61ec050405 Merge pull request #10764 from Ondsel-Development/asm_card9
[Assembly] Solve the assembly (Card 9).
2024-02-13 10:13:08 -06:00
JULIEN MASNADA eb468a34d9 Fixed invalid vector in distance calculation (#12364)
* Fixed invalid vector in distance calculation
2024-02-13 10:11:22 -06:00
bgbsww ae4393978f Toponaming/Part: clean, doc, and test getSubTopoShape 2024-02-13 10:14:39 -05:00
Zheng, Lei 76df39e99d Toponaming/Part: transfer in getSubTopoShape 2024-02-13 10:01:17 -05:00
howetuft b39d246c27 Release GIL while meshing in MeshPart.meshFromShape
This commit releases the Global Interpreter Lock around mesher call and
should enable multithreading use when exporting large quantities of
objects (for instance for external rendering).
2024-02-13 11:15:52 +01:00
Mark Peres adf69f23f6 add subvolume property 2024-02-13 10:18:12 +01:00
Mark Peres 6717065a2b refactor getSubVolume method -> use early exit 2024-02-13 10:18:12 +01:00
Roy-043 0feb0143ee Arch: Arch_Window round values in getSolidSignature
Values in getSolidSignature must be rounded, else matching solids are often not found.
2024-02-13 10:16:23 +01:00
PaddleStroke ead9f41541 Assembly: Small language tweaks by @chennes 2024-02-13 08:26:54 +01:00
PaddleStroke 926490adce Assembly fixes 2024-02-13 08:26:54 +01:00
PaddleStroke 51b81c1426 Assembly: Esc pref 2024-02-13 08:26:54 +01:00
PaddleStroke 11fd6eb4da Assembly: Fix annoying incomplete initial selections 2024-02-13 08:26:54 +01:00
PaddleStroke ea5a11b44e Assembly: fix vertex preselection JCS bug 2024-02-13 08:26:54 +01:00
PaddleStroke 098fdda661 Assembly: fixes 2024-02-13 08:26:54 +01:00
PaddleStroke 56dc773b5c Assembly : fix bugs 2024-02-13 08:26:54 +01:00
PaddleStroke 2a5b22f0c8 Assembly : Fixes for sketches in bodies 2024-02-13 08:26:54 +01:00
PaddleStroke 1062ea4eb0 AssemblyTest: Introduce assembly test module 2024-02-13 08:26:54 +01:00
PaddleStroke 7af02003d8 vector3d getAngleOriented test. 2024-02-13 08:26:49 +01:00
Paddle cdb1af6543 Assembly : Add support for perspective camera.
Remove exportASMT from toolbar.
Fix Fixedjoint name and tooltip
Fix various bugs
Introduce solver drag functions.
2024-02-13 08:25:46 +01:00
Paddle 46b1a1ebfc Assembly: set the rotating joint visible when dragging. 2024-02-13 08:25:46 +01:00
Paddle a0749888c4 Assembly: Enable part manipulation in active App::Part with the fixed joint. 2024-02-13 08:25:46 +01:00
Paddle d13df26333 Assembly: Adds a pre-solve when creating joint, preventing wrong orthogonal solutions from solver. 2024-02-13 08:25:46 +01:00
howie-j 672b04c0c4 Assembly: Fixes FreeCAD#10748 (Card 4: Elements should highlight) 2024-02-13 08:25:46 +01:00
Paddle 48173f2b9d Assembly: Implement special drag mode for revolute. 2024-02-13 08:25:46 +01:00
Paddle 43019a8f34 Assembly: Add support for body subobjects (coordinate systems, datums...) and various fixes 2024-02-13 08:25:46 +01:00
Paddle 22e4d7f2dd Assembly: Change the joint placements to be relative to the object rather than to the doc origin.
This enable 'detaching' them, so that they are not recomputed
2024-02-13 08:25:46 +01:00
Paddle 4a119c43f1 Assembly: Add support to external objects. (And various fixes) 2024-02-13 08:25:45 +01:00
Paddle 323deff46a Assembly: Replace Tangent+Parallel+Planar by 'Distance'. 2024-02-13 08:25:45 +01:00
Paddle d77cd7acf5 Assembly: Introduce core functionality of assembly workbench. 2024-02-13 08:25:45 +01:00
Paddle 13d4cb128a Update Ondsel Solver 2024-02-13 08:25:45 +01:00
Chris Hennes 3df8ae2fab Revert "Resolve #11825 - no automatic quantity conversion: App::anyToQuantity"
This reverts commit 6a54591bac.
2024-02-12 15:29:15 -06:00
Max Wilfinger e135f68e8a add new Sketcher commands translate and scale to context menu 2024-02-12 21:50:07 +01:00
Chris Hennes a1fcb66536 Merge pull request #11267 from Ondsel-Development/pw_translate
[Sketcher] Translate DSH : replacement for rectangular array / move / copy / clone
2024-02-12 13:24:08 -06:00
Adrián Insaurralde Avalos 9c3ab15ecb Base: escape quotes in Quantity::getSafeUserString
fix #12204 and fix #12206
2024-02-12 12:09:30 -06:00
mosfet80 006f64b64e Clean SetupQt.cmake (#12335)
* Update SetupQt.cmake
2024-02-12 12:08:09 -06:00
mosfet80 b546b17342 Clean CompilerChecksAndSetups.cmake
CMAKE_CXX_COMPILER_VERSION are always greater than  3.9
2024-02-12 12:05:11 -06:00
wmayer cc8452a545 Part: use of ShapeMapHasher for code simplification 2024-02-12 12:02:17 -06:00
wmayer b45fcead7a Part: add helper class ShapeMapHasher to reduce conditional inclusions 2024-02-12 12:02:17 -06:00
wmayer 134a5f0f50 Mod: remove leftovers of includes of Standard_math.hxx 2024-02-12 12:02:17 -06:00
wmayer e3a5703c1f Gui: check dialog width after language change 2024-02-12 12:00:11 -06:00
wmayer 4d6a5ee456 Gui: set minimum width of preferences dialog to avoid to truncate or hide controls 2024-02-12 12:00:11 -06:00
Yorik van Havre 638e398bec Crowdin translations (#12313)
* updated ts files

* merged crowdin translations

* [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-02-12 11:59:08 -06:00
wmayer b03ed3b42e Base: fix IsNormal() and IsParallel()
Fix the IsNormal() and IsParallel() methods to pass the unit tests
2024-02-12 11:58:45 -06:00
wmayer 5368465ec1 Tests: add unit tests for IsNormal() and IsParallel() 2024-02-12 11:58:45 -06:00
sliptonic 49b0889a8d Merge pull request #12247 from bgbsww/bgbswwFixTestArtifacts
Stop tests from leaving files around after execution
2024-02-12 18:56:21 +01:00
LemonBoy 82582ace52 Clear projected shape when changing extrude height
When the height is zero no solid is produced, the code was thus showing
the result of the previously selected projection height.

Closes #12113
2024-02-12 11:54:48 -06:00
LemonBoy aa977648c3 Fix icon order in constraint menu
Closes #12264
2024-02-12 11:50:41 -06:00
wmayer e03fcf9c3f Gui: fixes #12043: Treeview doesn't work if not in combo view mode 2024-02-12 18:46:29 +01:00
wmayer 100ab2a975 Py3.12: initialize field 'tp_watched' 2024-02-12 11:41:49 -06:00
wmayer 6043c90462 Py3.12: harmonize with upstream of PyCXX 2024-02-12 11:41:49 -06:00
wmayer 37e3cc91ee Gui: Give property editors an object name
This allows it to easily find the widgets with Qt's findChild() method
2024-02-12 11:41:09 -06:00
wmayer ad605d6e23 Mesh: fixes #11985: 3MF export to Prusa with clone = open edge warnings on clone
See https://forum.freecad.org/viewtopic.php?p=738731#p738731
2024-02-12 11:40:45 -06:00
wmayer df7e783513 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
LemonBoy 5af7933462 Avoid overriding ImagePlane size during import
When copying&pasting an ImagePlane whose ImageFile property is a
PropertyFile we'd get two updateData notifications, one when the
property value is restored (which doesn't do much as the file doesn't
exist yet) and another when the RestoreDocFile method is invoked.

The solution is simple, do not set Xsize and Ysize when importing the
object as we expect the properties to already have the correct values.

Closes #11036
2024-02-12 11:38:18 -06:00
mosfet80 aca71dfb05 removed unused code (#12276)
* removed unused code

* [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-02-12 11:36:57 -06:00
marioalexis c7b7071308 Fem: Enable "Stop CalculiX" button - fixes #11448 2024-02-12 11:35:59 -06:00
André 571fa00292 Resolve #12248: Remove redundant and non-functional selection checkbox preference (#12263)
Remove the selection checkbox preference from Display->UI.
The same preference exists under General->Selection.

When changing the preference and then applying the settings, it reverts
back to the value under General->Selection and thus is not usable.
2024-02-12 14:34:28 -03:00
Roy-043 3b3ed05dc8 Draft: fix wrong selection after commands
Fixes #10469

The code of the `end_all_events()` function is by Chris Hennes (chennes).
See https://forum.freecadweb.org/viewtopic.php?p=656362#p656362.
2024-02-12 11:32:58 -06:00
Andrei Pozolotin 4ff2ee43d2 Resolve #12235: labels in Mod/Part/Gui/TaskAttacher.ui 2024-02-12 11:29:51 -06:00
marioalexis84 b8e460f2a2 Fem: Prevent selection of partially attached object - fixes #12163 (#12220)
* Fem: Use of wrong class name in macro
* Fem: Prevent selection of partially attached object - fixes #12163
2024-02-12 11:22:44 -06:00
Florian Foinant-Willig 1eb0444bd5 Part & PartDesign Cone: allow equal radii (#12219)
* PartDesign_Cone: allow equal radii

* fix R2 < R1

* Part_Cone: allow equal radii
2024-02-12 14:21:53 -03:00
Zolko-123 51f546f1f6 Update Mod/PartDesign/Gui/ViewProviderDatumCS.cpp
This is a small harmless visual improvement of the LCS representation in the 3D window: it leaves a small empty gap at the origin of the LCS which allows to select the point/vertex on which the LCS is attached
2024-02-12 11:20:20 -06:00
PaddleStroke ada76964c3 Sketcher: CommandConstraint.cpp : modernize for loops and use some auto 2024-02-12 11:14:22 -06:00
PaddleStroke f06bcf3163 Sketcher: Parallel: Ignore selected points instead of throwing an error. 2024-02-12 11:14:22 -06:00
mos 81d7d542e4 removed unused example 2024-02-12 11:12:25 -06:00
LemonBoy fc6d4b6d0f Dim the Navigation Cube when not active
Implement the InactiveOpacity option, allowing the user to dim the
navigation cube when not focused by making it transparent.
2024-02-12 18:10:12 +01:00
Kacper Donat e40131d4b8 Gui: Add ability to set coordinate system axis letter color
Fixes: #12172
2024-02-12 18:07:02 +01:00
Chris Hennes 913a5dd60f Merge pull request #12171 from Rexbas/tux-remove-duplicate-icons
Tux: Remove duplicate icons
2024-02-12 11:05:24 -06:00
Max Wilfinger 4164919e58 Improvements to contextual right click menu in Sketcher.
Consider preselection, external geo and copy/cut/paste commands.
2024-02-12 11:04:06 -06:00
Chris Hennes 47005e837f Merge pull request #12104 from Rexbas/navigation-fixes
Gui: Mouse navigation fixes
2024-02-12 10:56:35 -06:00
Florian Foinant-Willig 86e75037d9 Set Suppressed false if no shape 2024-02-12 17:55:51 +01:00
Florian Foinant-Willig 4d929d3301 [PD] Add a Suppressed property to disable a feature 2024-02-12 17:55:51 +01:00
PaddleStroke b7656abfc5 Sketcher: change DSH framework so that tab cycle through OVP and widget parameters. 2024-02-12 17:48:35 +01:00
PaddleStroke b3e4bf1031 Sketcher: DSH: add two shortcuts for DSH to use. Fix a small syntax error in polygon/rotate. 2024-02-12 17:48:29 +01:00
Paddle f8b57283e5 Remove Copy/clone/move and RectangularArray from the toolbar/menu. But does not remove the code of these. 2024-02-12 17:48:29 +01:00
Paddle c4720e56c1 Translate DSH : A replacement for rectangular array. 2024-02-12 17:48:22 +01:00
Adrian Insaurralde Avalos b70dddb3b2 Fix warning in DlgMacroExecute.ui 2024-02-12 10:48:08 -06:00
Chris Hennes 70e707217e Merge branch 'main' into facemakerTranslationFix 2024-02-12 10:45:47 -06:00
mosfet80 7f3851fb64 CI: update setup-miniconda to version 3 and checkout to v4 (#12032)
Fix condaBasePath when useBundled is false, and there's no pre-existing conda

..other fix and improvements
Update sub_buildMacOSCondaIntel.yml

Revert
updated action checkout to version 4

updated setup-miniconda to version 3
2024-02-12 13:42:21 -03:00
PaddleStroke 458d9aea63 Update TopoShapeMapper.cpp 2024-02-12 08:53:02 -06:00
PaddleStroke 7ef3464a5f Update TopoShapeExpansion.cpp
...
2024-02-12 08:53:02 -06:00
PaddleStroke 8b4a211f13 Update TopoShapeExpansion.cpp
Fix I have not seen it's in the precompiled if but not in the precompile.h
2024-02-12 08:53:02 -06:00
PaddleStroke fddab25ed8 Fix compilation failures in TopoShapeExpansion and TopoShapeMapper. 2024-02-12 08:53:02 -06:00
Roy-043 063bec95ca Help: Update prefs ui file
Specify `Gui::FileChooser::Directory` mode for `Gui::PrefFileChooser` and update path in tooltips.
2024-02-12 12:01:48 +01:00
pre-commit-ci[bot] 54d2f5a61d [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2024-02-12 12:01:48 +01:00
Roy-043 bcd237fa5e Help: Fix path for off-line documentation
See: https://github.com/FreeCAD/FreeCAD-Help/pull/23
2024-02-12 12:01:48 +01:00
Roy-043 b11475f45c Arch: importIFC fix clone placement
Forum topic:
https://forum.freecad.org/viewtopic.php?p=738864#p739039
2024-02-12 11:52:21 +01:00
Roy-043 65b211259d Arch: Arch_Window fix clone recompute issue
See https://github.com/FreeCAD/FreeCAD/pull/11868#issuecomment-1937633689
2024-02-12 11:23:54 +01:00
Chris Hennes d3a53f4a23 Addon Manager: Fix abort_all() code 2024-02-11 17:19:23 -06:00
Chris Hennes 269273e102 Addon Manager: Protect call to setTransferTimeout
Unsupported by Qt 5.12
2024-02-11 17:19:23 -06:00
Chris Hennes 92d2fcdb70 Addon Manager: Qt < 5.15 fallback for network timeout 2024-02-11 17:19:23 -06:00
Chris Hennes 4b0e2555f3 Addon Manager/Tests: Update license string in tests 2024-02-11 17:19:23 -06:00
Chris Hennes a373b73748 Addon Manager: Preference to hide unlicensed 2024-02-11 17:19:23 -06:00
Chris Hennes 1056b7b0ca Addon manager: Update test to check license 2024-02-11 17:19:23 -06:00
Chris Hennes 2d5b665319 Addon Manager: Bug fixes and license cleanup 2024-02-11 17:19:23 -06:00
Chris Hennes b446f2012d Addon Manager: Fixes for license handling 2024-02-11 17:19:23 -06:00
Chris Hennes 956307ffa0 Addon Manager: Cleanup warnings 2024-02-11 17:19:23 -06:00
Chris Hennes 9aef453acc Addon Manager: Calculate width for filter box 2024-02-11 17:19:23 -06:00
Chris Hennes 99aaaa5ff6 Addon Manager/Tests: Update tests 2024-02-11 17:19:23 -06:00
Chris Hennes 9812548b68 Addon Manager: Break up ReadmeViewer into view and controller
Addon Manager: Cleanup enable/disable message
2024-02-11 17:19:22 -06:00
Chris Hennes 20a01cfc9c Addon Manager: Begin refactor of listing 2024-02-11 17:19:22 -06:00
Chris Hennes b6ab0f0303 Addon Manager: Fix filter display 2024-02-11 17:19:22 -06:00
Chris Hennes 1c09b8bcde Addon Manager: Refactor buttons above detail view 2024-02-11 17:19:22 -06:00
Chris Hennes 5b79970706 Addon Manager: Minor refactoring of buttons 2024-02-11 17:19:22 -06:00
Chris Hennes 418ccc870f Addon Manager: Refactor global button bar 2024-02-11 17:19:22 -06:00
Chris Hennes f44098172b Addon Manager: Clean up new progress bar 2024-02-11 17:19:22 -06:00
Chris Hennes 7dac836110 Addon Manager: Refactor progress bar 2024-02-11 17:19:22 -06:00
Chris Hennes ea39ae2578 Addon Manager: Further macro load cleanup 2024-02-11 17:19:22 -06:00
Chris Hennes 457eafa5dc Addon Manager: Clean up spacing in top bar 2024-02-11 17:19:22 -06:00
Chris Hennes e8b52326a5 Addon Manager: Fix macro cache update hang 2024-02-11 17:19:22 -06:00
Chris Hennes fa4bea510d Addon Manager: Add support for license exclusion 2024-02-11 17:19:22 -06:00
Chris Hennes a79abfb576 Addon Manager: Refactor overall top bar 2024-02-11 17:19:22 -06:00
Chris Hennes d89c05efda Addon Manager: Refactor main GUI area 2024-02-11 17:19:22 -06:00
pavltom c21dca3a21 [TechDraw] Add Owner property to Symbols 2024-02-11 16:03:44 -05:00
Chris Hennes ce2bd168d5 Addon Manager: Use the installed macro icon 2024-02-10 18:38:20 -05:00
Chris Hennes ad2fb73bff Merge pull request #12086 from bgbsww/bgbsww-toponamingMakeElementBoolean
Toponaming: makeElementBoolean
2024-02-10 12:14:20 -05:00
Roy-043 0454ec8515 Merge pull request #12325 from Roy-043/Draft-ShapeString-improve-stick-font-detection-and-fix-fuse-error
Draft: ShapeString improve stick font detection and fix fuse error
2024-02-10 18:08:02 +01:00
Roy-043 2e04cd11f5 Draft: ShapeString improve stick font detection and fix fuse error
Forum topic:
https://forum.freecad.org/viewtopic.php?t=85147
2024-02-10 16:10:55 +01:00
Roy-043 4988894a92 Merge pull request #12292 from Roy-043/Draft-importDXF.py-make_bezcurve-args-should-be-lowercase
Draft: importDXF.py: make_bezcurve args should be lowercase
2024-02-10 15:41:14 +01:00
Roy-043 b566b1df06 Merge pull request #12280 from Roy-043/Draft-Draft_Edit-restore-Relative-checkbox
Draft: Draft_Edit: restore Relative checkbox
2024-02-10 15:40:44 +01:00
bgbsww 7ef0b6ec61 Toponaming/Part: Add tests, dependencies, and cleanup 2024-02-09 16:42:20 -05:00
Chris Hennes 0cdf43925d Addon Manager: Correct usage of QByteArray 2024-02-09 13:56:11 -06:00
Chris Hennes 3a73f916dd Addon Manager: Correct connection check
The connection check code incorrectly handled the case of multiple incoming connections, interpreting them all as connection check signals.
2024-02-09 10:04:46 -06:00
Zheng, Lei 10d95b9ce9 Toponaming/Part: Transfer makeElementBoolean in 2024-02-09 08:23:30 -05:00
JULIEN MASNADA 0c07e83033 Fixed access to Addon::Metadat::Url attributes (#12310) 2024-02-09 08:05:40 -05:00
Chris Hennes 03b41403fa Merge pull request #12189 from CalligaroV/toponamingTopoShapeWire
Toponaming makeElementWire
2024-02-08 20:59:26 -06:00
Chris Hennes c8d33261f8 Addon Manager: Fix signals in connection check 2024-02-08 18:59:38 -06:00
marioalexis dfbc90d351 Fem: Add support for cyclic symmetry - fixes #12155 2024-02-08 16:08:59 -06:00
Rexbas bc713e2d6b Gui: Fix disappearing element handles in sketcher
Finds the bounding sphere when the editing view provider is set. This ensures the right bounding sphere is used for finding the near and far clipping plane
2024-02-08 21:09:08 +01:00
Chris Hennes 9695bf01b8 Merge pull request #11853 from AjinkyaDahale/sketcher-general-tangency-splines
[Sketcher] General Tangency with B-splines (re-do)
2024-02-08 13:46:44 -06:00
Chris Hennes 73d214a2ad Merge pull request #12295 from bgbsww/bgbsww-toponamingFeaturePartBoolean
Toponaming: transfer in FeaturePartBoolean
2024-02-08 13:29:38 -06:00
Ajinkya Dahale 3f1f6387d1 [Sketcher] Handle spline selection in Dimension tool 2024-02-08 23:46:17 +05:30
Ajinkya Dahale 73434e008a [planegcs] Simplify GCS::BSpline::CalculateNormal() 2024-02-08 23:46:17 +05:30
Ajinkya Dahale 459d210f15 [planegcs][test] Add Spline and Arc tangent test 2024-02-08 23:46:15 +05:30
bgbsww b2cbd7e5a7 Clean code and testing tweak 2024-02-08 11:09:36 -05:00
Ajinkya Dahale 1e19926a77 [planegcs] Add SketcherExport macro to classes in Geo.h
...for use in tests.
2024-02-08 20:15:17 +05:30
Ajinkya Dahale da48a72269 [planegcs] Implement BSpline::Value()
Needed for gtests currently.
2024-02-08 20:04:28 +05:30
Ajinkya Dahale b1ef4be6fa [planegcs] Remove some numerical testing
If needed this can be moved to a gtest,
2024-02-08 20:04:28 +05:30
Ajinkya Dahale 65b4dd10ae [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 82f03593fd [planegcs] Implement calculateAngleViaParams
For use in angle-via-point with complex curves.
2024-02-08 20:04:27 +05:30
Ajinkya Dahale 5ba050b467 [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 6a3c0555d0 [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
marioalexis 268edeeb60 Fem: Use override 2024-02-08 08:29:19 -06:00
CalligaroV 3066f74747 Part/Toponaming: makeElementWires
* Renamed enum classes members to lowercaseCapword
 * Moved struct ShapeHasher back to TopoShapeMapper.h
 * Added test for MapperMaker::generated
 * Modifications for clang-tidy warnings
 * Formatting

Signed-off-by: CalligaroV <vincenzo.calligaro@gmail.com>
2024-02-08 13:56:30 +01:00
Roy-043 91f9486b01 Draft: importDXF.py: make_bezcurve args should be lowercase
See:
https://github.com/FreeCAD/FreeCAD/issues/10985#issuecomment-1932797213
2024-02-08 10:25:59 +01:00
CalligaroV d9d6ae825e Merge branch 'main' of https://github.com/FreeCAD/FreeCAD.git into toponamingTopoShapeWire
# Conflicts:
#	src/Mod/Part/App/TopoShape.h
#	src/Mod/Part/App/TopoShapeExpansion.cpp
2024-02-07 23:51:49 +01:00
CalligaroV 728c215372 Part/Toponaming: makeElementWires
* Added test for MapperMaker::generated
 * Renamed spit into splitMkr in the test for MapperMaker::modified
 * Disabled test for TopoShape::makeElementWires

Signed-off-by: CalligaroV <vincenzo.calligaro@gmail.com>
2024-02-07 22:23:03 +01:00
Chris Hennes 31b40ce6a2 Merge pull request #12237 from bgbsww/bgbsww-toponamingMakeRefine
Toponaming: Transfer in makeElementRefine
2024-02-07 15:19:27 -06:00
CalligaroV 1938bbef69 Part/Toponaming: makeElementWires
* Added test for MapperMaker::modified

Signed-off-by: CalligaroV <vincenzo.calligaro@gmail.com>
2024-02-07 15:10:58 +01:00
Roy-043 a138348910 Draft: Draft_Edit: restore Relative checkbox
The relative checkbox was hidden by mistake.
2024-02-07 10:26:16 +01:00
Zheng, Lei d72896c28d transfer in FeaturePartBoolean 2024-02-06 21:09:00 -05:00
bgbsww 46230c9a93 Add Test for MakeElementRefine 2024-02-06 15:58:37 -05:00
Kevin Martin 0dcfe94505 Handle all combos of "group into blocks" "use DXF colors" "use layers"
Fixes #11873 this was the primary goal of these changes

Fixes (partially) #11874 the parts of a polyline are combined as a
compound object (shape) but it would be preferable for them to be made
into a wire (if possible)

Fixes #11872 Objects in a block definition are now kept separately
until the block is inserted, in which case the inserted objects are
subject to all the other options regarding combining.

Fixes (partially, review required) #11871 Text and dimensions are now
kept as part of the block definition and are placed in the drawing when
the block is inserted but this code has not been extensively tested.

Affects #11875, custom types are not made, but the labels now reflect
the object types rather than all being "Shapennn"

This leaves the importer options handling in a bit of a mess that needs
cleanup eventually, but this can be a new issue.
This includes some importer flags that have no corresponding options
(e.g. import frozen layers), some flags not yet implemented, some
flags not yet even declared in the code because their implementation
is further off (import hatch outlines), and some suggested future
options (import SOLIDs as faces)

Centralize the calculation of the OCS for entities as they're read
from the DXF. Most of the entities don't use this yet, but some of
them roll their own crude Normal Vector handling. Because the new
code takes priority over the old for reading the normal vector, such
code will always see (0, 0, 1) as the extrusion direction.
2024-02-06 12:50:30 +01:00
Alexander Neumann c57a83cb4f move #include <SMESH_Version.h> out of ifndef _PreComp_
fix position of #endif for MEFISTO removal
2024-02-05 08:50:56 -06:00
David Carter e9b43a0f83 Material: Material editor enhancements
Improves compatibility when using the legacy editor.

Corrects a number of issues that prevented saved files from being displayed when using the legacy editor.

Reduces the verbosity of console messages.
2024-02-05 08:46:04 -06:00
Roy-043 5d729db905 Merge pull request #12269 from Syres916/Fix_Unguarded_RootNode_Specific_Child
[Arch] [Draft] Add guard for RootNode specific child
2024-02-05 12:30:57 +01:00
Syres916 e4bb7a98e2 [Arch] [Draft] Add guard for RootNode specific child 2024-02-05 11:00:38 +00:00
Adrian Insaurralde Avalos 963652c6a7 Avoid sending unescaped quotes to python console 2024-02-04 16:44:25 -06:00
Adrian Insaurralde Avalos 808e5d9d74 Add Base::Tools::escapeQuotesFromString with corresponding test
To be used to avoid sending unescaped quotes to python console
2024-02-04 16:44:25 -06:00
marioalexis f34861c99b Material: Avoid potential dependency of core system on application module 2024-02-04 16:42:39 -06:00
Zheng, Lei 31b7c3d145 Transfer in makeElementRefine 2024-02-04 08:59:41 -05:00
Roy-043 c5d0fbd707 Merge pull request #12250 from Roy-043/Draft-Fix-messages-that-only-worked-for-objects-supplied-as-strings
Draft: Fix messages that only worked for objects supplied as strings
2024-02-04 11:51:29 +01:00
Roy-043 7ca885eb25 Removed too much in make_label.py 2024-02-04 09:50:45 +01:00
Chris Hennes 2192031ae3 Merge pull request #12229 from bgbsww/bgbsww-toponamingGeometry
Transfer in Geometry.x changes from RT branch
2024-02-04 09:27:43 +01:00
bgbsww 12fdd27326 Switch to using enum 2024-02-04 09:27:16 +01:00
bgbsww f3c9b8ee97 Delinting pass 2024-02-03 18:33:07 -05:00
Roy-043 32072c7f9c Merge pull request #12251 from Roy-043/Draft-Fix-messages-for-Draft_Fillet
Draft: Fix messages for Draft_Fillet
2024-02-03 23:03:58 +01:00
Roy-043 e6c68aab31 Draft: Fix messages for Draft_Fillet
There were still too many messages.
2024-02-03 19:46:20 +01:00
Roy-043 178070af5d Draft: Fix messages that only worked for objects supplied as strings
Some error messages would only work if objects were supplied as strings. These would fail if objects were passed (as objects) that had already been deleted.
2024-02-03 19:38:49 +01:00
Zheng, Lei 1bb5350c51 App: fix PropertyPythonObject persistence backward compatibility
Related #10460
2024-02-03 17:20:46 +01:00
pre-commit-ci[bot] 7e043a62dc [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2024-02-03 15:03:08 +00:00
bgbsww 6a8744e5f9 Stop tests from leaving files around after execution 2024-02-03 09:48:59 -05:00
Roy-043 ede61694e3 Merge pull request #12242 from Roy-043/Draft-Fix-Draft_Wire-conversion-function
Draft: Fix Draft_Wire conversion function
2024-02-03 01:43:50 +01:00
Roy-043 842b0b230b Draft: Fix Draft_Wire conversion function
The Draft_Wire command can combine selected Draft_Wires and Draft_Lines into a single wire. This function did not always behave properly.
* Edges were not sorted, the result could have a different shape (with the correct vertexes).
* If edges formed  a closed shape the resultant wire was not closed.
2024-02-02 22:54:34 +01:00
Roy-043 90c90f705b Merge pull request #12234 from Roy-043/Draft-Draft_Arc_3Points-minor-consistency-update
Draft: Draft_Arc_3Points minor consistency update
2024-02-02 18:07:37 +01:00
Roy-043 ee3e1cd5ce Merge pull request #12230 from kpemartin/Issue11876
Remove excessive output from Draft object creation and editing
2024-02-02 18:06:02 +01:00
Roy-043 834aff05a9 minor edit 2024-02-02 15:17:13 +01:00
Roy-043 cfe13dc0c3 Merge pull request #12232 from Roy-043/Draft-Draft_Point-minor-consistency-update
Draft: Draft_Point minor consistency update
2024-02-02 15:10:54 +01:00
Kevin Martin 39bee92bea Replace deprecated escapes with valid ones 2024-02-02 08:58:49 -05:00
Kevin Martin 02ebb17558 Eliminate many "doing what you told me to" messages
These messages were perhaps originally intended as a debuggin aid but now add clutter to the output panes. Remaining messges are mostly the result of methods to display attributes of an object (which one could call from the Python console) or actually provide some information which would not be obvious from the circumstances
2024-02-02 08:58:45 -05:00
Roy-043 ee3a5a640e Draft: Draft_Point minor consistency update 2024-02-02 14:12:57 +01:00
Roy-043 253c343d73 Draft: Draft_Arc_3Points minor consistency update 2024-02-02 14:11:55 +01:00
Roy-043 af9c60ffef Merge pull request #12233 from Roy-043/Draft-Draft_Fillet-minor-consistency-update
Draft: Draft_Fillet minor consistency update
2024-02-02 14:08:14 +01:00
Roy-043 86195fb8b3 Draft: Draft_Fillet minor consistency update 2024-02-02 11:29:43 +01:00
Adrián Insaurralde Avalos 2adc1bfce4 Test: build Mod test only if the module is being built 2024-02-02 00:04:39 +01:00
Zheng, Lei 728a880078 Transfer in Geometry.x changes from RT branch 2024-02-01 17:48:32 -05:00
Roy-043 9dafb71ca5 Merge pull request #12226 from Roy-043/Draft-Avoid-draftToolBar.getDefaultColor-outside-DraftGui.py
Draft: Avoid draftToolBar.getDefaultColor outside DraftGui.py
2024-02-01 20:08:16 +01:00
Roy-043 0eb8f1f750 Draft: Avoid draftToolBar.getDefaultColor outside DraftGui.py
The draftToolBar.getDefaultColor() function is an indirect way of retreiving a parameter. It is better to avoid it where possible.
2024-02-01 18:02:10 +01:00
Roy-043 4e37153f36 Draft: preferences-drafttexts.ui fix some issues
Increase step size from 0.05 to 0.1
Increase max for scale multiplier from 100 to 10,000
2024-02-01 17:21:14 +01:00
CalligaroV d23b288faf Tests/Toponaming: Add test for simple shapes
* Added test for Tag Info generated by makeShapeWithElementMap
 * Make sure that there's at least one mapped element before checking the element map

Signed-off-by: CalligaroV <vincenzo.calligaro@gmail.com>
2024-02-01 15:19:42 +01:00
Roy-043 cabcd6b2d9 Arch: Add "Opening only" preset to Arch_Window
As discussed on the forum:
https://forum.freecad.org/viewtopic.php?p=734920#p734920
2024-02-01 15:18:44 +01:00
PaddleStroke 66de7f3968 SoDatumLabel: Add arrowheads to angles. And improve arrowhead rendering. 2024-02-01 14:27:07 +01:00
Chris Hennes ff4c22a1e7 Addon Manager: Add support for codeberg.org repos 2024-02-01 14:24:47 +01:00
Adrian Insaurralde Avalos a0623f103d Github ci: fix moving libpack bin directory failure 2024-02-01 12:56:09 +01:00
PaddleStroke 8afa940ca2 [Sketcher] Scale DSH : adds a tool to scale geometries. (#11265)
* Scale DSH : sketcher tool to scale geometries.
* Sketcher: Rotate and Scale : Move indexInVec to Utils.h as indexOfGeoId

---------

Co-authored-by: Paddle <PaddleStroke@users.noreply.github.com>
2024-02-01 09:08:58 +01:00
Chris Hennes a54840c2c5 Sketcher: Add check for handler's existence 2024-02-01 09:08:16 +01:00
Vincenzo Calligaro e6004ff6c9 Toponaming shapeprotector Nullify() check (#12177)
* Moved the check inside the Nullify() method.

---------

Signed-off-by: CalligaroV <vincenzo.calligaro@gmail.com>
2024-01-31 17:36:30 +01:00
PaddleStroke e43b46c41f Part: Add BRepFill_Generator to the OpenCascadeAll.h 2024-01-31 17:35:14 +01:00
Roy-043 89bca1ee93 Merge pull request #12111 from 3x380V/draft_wb_qt6
Draft: Qt6 fixes
2024-01-31 11:31:38 +01:00
Roy-043 206711b8fe Merge pull request #12040 from Roy-043/Arch-Bring-back-Axis-bubbles-and-show-annotation-DrawStyle-in-ArchView
Arch: Bring back Axis bubbles and show annotation DrawStyle in ArchView
2024-01-31 10:07:18 +01:00
Roy-043 5db2893ab6 Merge pull request #12038 from Roy-043/Arch-Revised-preference-ui-files-remove-WindowColor
Arch: Revised preference ui files, remove WindowColor
2024-01-31 10:05:42 +01:00
Roy-043 f112107301 Gui: "Default unit system" in title case in prefs 2024-01-30 17:27:24 +01:00
PaddleStroke d7ee978e42 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
Roy-043 98712d228b Sketcher: minor fixes to 2 prefs ui files
* Titles in sentence case.
* No space before colon.
* Choose instead of chose.
* Vertex item first in "Colors outside Sketcher" as well.
2024-01-30 17:25:34 +01:00
LemonBoy 044d90b4d0 Make the random color assignment undo-able
Create a transaction in the currently selected document to allow the
user to roll-back the color assignment.

Closes #11689
2024-01-30 17:15:32 +01:00
Chris Hennes 002f246989 Addon Manager: Allow primary branch name change 2024-01-30 16:52:16 +01:00
Chris Hennes 59a8c5a562 Merge pull request #12134 from bgbsww/bgbsww-toponamingMakeElementShape
Toponaming: makeElementShape transfer and tests
2024-01-30 14:00:59 +01:00
Chris Hennes 760aaf4afe Addon Manager: Complete migration away from GitPython 2024-01-30 11:12:01 +01:00
bgbsww 43e333771e Cleanup merge issues and linter concerns 2024-01-29 22:48:25 -05:00
Jacob Oursland 7edf473a28 Conda: Pin PCL to v1.13.1 to fix build errors on Windows. (#12190) 2024-01-30 00:30:40 -03:00
marioalexis f19735b702 Material: Use "et" format unit to parse path 2024-01-29 22:07:58 +01:00
marioalexis 723159d2f5 Material: Return new reference to Python boolean 2024-01-29 22:07:58 +01:00
CalligaroV 71e42f6a53 Merge branch 'main' into toponamingTopoShapeWire
# Conflicts:
#	src/Mod/Part/App/TopoShape.h
#	src/Mod/Part/App/TopoShapeExpansion.cpp
#	tests/src/Mod/Part/App/TopoShapeExpansion.cpp

Signed-off-by: CalligaroV <vincenzo.calligaro@gmail.com>
2024-01-29 19:41:56 +01:00
bgbsww ff153e32e4 Merge branch 'main' into bgbsww-toponamingMakeElementShape 2024-01-28 11:19:11 -05:00
bgbsww ac63598572 Clean code and add tests 2024-01-28 11:04:34 -05:00
Zheng, Lei 671b43c4d5 Transfer in makeElementShape 2024-01-28 10:57:13 -05:00
Rexbas 3ef2e8b700 Tux: Add missing OpenSCAD rotate tooltip 2024-01-28 16:39:26 +01:00
Rexbas c59981eef3 Tux: Remove duplicate icons 2024-01-28 16:16:11 +01:00
Zheng, Lei 90d36f60c3 FeaturePartCommon code move in 2024-01-28 06:55:01 -07:00
Chris Hennes 7e8265fb10 Merge pull request #12157 from chennes/toponamingMakeShapeWithElementMap
Toponaming make shape with element map
2024-01-27 13:25:56 -07:00
Chris Hennes e24ed34867 Tests/Toponaming: Post-merge cleanup 2024-01-27 14:01:35 -06:00
bgbsww 88b5191b5e Cleaned up complex test (#15)
* Element Map Test

* Rename test and add more assertions

* Reduce test complexity
2024-01-27 12:00:12 -06:00
Vincenzo Calligaro 2e98912266 Tests for makeShapeWithElementMap (#12)
* Tests for makeShapeWithElementMap
 * Added nullShapesThrows tests for the classes derived from <TopoDS_Shape>
 * Added test passing as "sources" parameter of the tested method an empty vector of TopoShapes objects
 * Added test with unmappable sources
 * Added test to find shapes inside other shapes made from the first ones
* Tests for makeShapeWithElementMap with simple shapes
 * Added test to find source shapes' sub-shapes name in the elements maps
 * Added test to find the "MAK" OpCode in the elements maps names

---------

Signed-off-by: CalligaroV <vincenzo.calligaro@gmail.com>
2024-01-27 12:00:12 -06:00
bgbsww 5135564fb4 Rename test and add more assertions 2024-01-27 12:00:12 -06:00
bgbsww 43f4db445a Element Map Test 2024-01-27 12:00:12 -06:00
Chris Hennes f91d39bac3 Tests/Toponaming: Add test framework for makeShapeWithElementMap 2024-01-27 12:00:12 -06:00
Chris Hennes d43fe277a7 Part/Toponaming: Basic linter cleanup of makeShapeWithElementMap
No major refactoring.
2024-01-27 12:00:12 -06:00
Zheng, Lei d768706ebe Part/Toponaming: Add original code for makeShapeWithElementMap
Called TopoShape::makESHAPE in the original Toponaming branch. The code here has been modified as little as possible to get it to compile in current main.
2024-01-27 11:59:56 -06:00
Roy-043 c3d2f00ab1 Merge pull request #12123 from Roy-043/Arch-BuildingPart-fix-setEdit-and-unsetEdit
Arch: BuildingPart fix setEdit and unsetEdit
2024-01-27 15:44:06 +01:00
Roy-043 16d1a15018 Merge pull request #12127 from Roy-043/Draft-Scale-widget-did-not-handle-FEM-unit-system
Draft: Scale widget did not handle FEM unit system
2024-01-27 15:43:29 +01:00
wandererfan 02c6a90c16 [TD]fix extension bolt hole circle re scale/rotate 2024-01-27 08:07:59 -05:00
Chris Hennes 3d6fb38de1 Addon Manager: Fix git detection on mac 2024-01-26 17:43:54 -07:00
Chris Hennes 8109d8a3ae Addon Manager: Allow .py filenames
Also improve macro removal.
2024-01-26 17:43:37 -07:00
Chris Hennes f0a1e049cc Addon Manager: Fix #11120 2024-01-26 17:43:18 -07:00
bgbsww eb7c658a06 Add helper methods 2024-01-26 17:42:51 -07:00
Chris Hennes 441b1d2783 Merge pull request #12133 from marioalexis84/fem-contact_tie 2024-01-26 14:21:02 -07:00
marioalexis 38f7283016 Fem: Improve constraint tie - partial fixes #11653 2024-01-26 13:44:16 -03:00
marioalexis 6e75703425 Fem: Improve constraint contact - partial fixes #11653 2024-01-26 13:44:16 -03:00
marioalexis 0b76757b8a App: Add StiffnessDensity property 2024-01-26 13:44:16 -03:00
marioalexis c2fbee6be4 Base: Add stiffness per unit area unit 2024-01-26 13:44:16 -03:00
wandererfan c12a5c2a16 [TD]fix extension hole thread re scale/rotate 2024-01-26 10:02:36 -05:00
wandererfan fc58bd83d1 [TD]fix extension Extend function re scale/rotate 2024-01-26 10:02:36 -05:00
Roy-043 bd3e78691e Draft: Scale widget did not handle FEM unit system
The FEM UserSchema (8) was not handled by the code.
2024-01-26 13:09:07 +01:00
Roy-043 b59911899f Arch: BuildingPart fix setEdit and unsetEdit
The Transform option from the Tree view context menu did not work.
2024-01-26 10:43:42 +01:00
Chris Hennes f75db0dbb2 Addon Manager: Remove new-style type hints 2024-01-25 17:07:54 -07:00
Chris Hennes 4973614d32 Merge pull request #12087 from bgbsww/bgbsww-toponamingMakeElementShell
Toponaming makeElementShell
2024-01-25 12:49:07 -07:00
bgbsww 5a68162258 Tests for makeElementShell 2024-01-25 11:13:00 -05:00
Chris Hennes 8d88cc7e79 Addon Manager: Improve macro readme rendering 2024-01-25 09:02:27 -07:00
Zheng, Lei 9f3d6543c6 Transfer in MakeElementShell 2024-01-25 11:00:01 -05:00
Roy-043 e43bebc27d Merge pull request #12089 from Roy-043/Draft-Draft_Scale-make-sure-scale-input-boxes-show-at-least-6-decimals
Draft: Draft_Scale: make sure scale inputboxes show at least 6 decimals
2024-01-25 16:51:51 +01:00
Ladislav Michl 05b0f35655 Draft: Use widgets from QtWidgets 2024-01-25 14:27:38 +01:00
Ladislav Michl a6c43278a7 Draft: Do not specifically import PySide2 2024-01-25 13:13:39 +01:00
bgbsww 9f84fbe9bb Tweak resetElementMap to default to empty defined element map (#12098)
* Tweak resetElementMap tp default to empty defined element map

* [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-01-24 21:24:08 -06:00
Rexbas 5c4b8ddff4 Gui: Prohibit interrupting a rubber-band selection in sketcher 2024-01-24 21:02:25 +01:00
Rexbas 7e031c1738 Gui: Prevent rubber-band selection when selection button is pressed after other buttons are pressed 2024-01-24 21:02:25 +01:00
Rexbas dfa20b4648 Gui: Prevent showing the context menu after dragging, panning or zooming 2024-01-24 21:02:25 +01:00
Ladislav Michl 62c3836c97 Addon Manager: Qt6 fixes 2024-01-24 11:24:07 -06:00
Chris Hennes 7b3ff9d9f3 Addon Manager: Replace QtWebEngine with QTextBrowser
Macro display is still a work-in-progress.
2024-01-24 10:42:40 -06:00
Chris Hennes c7ac9ee848 Merge pull request #12064 from bdieterm/fixPlaneTransparency
Gui: add explicit transparency specification
2024-01-23 21:33:20 -06:00
Roy-043 00cd50bbf4 Merge pull request #12085 from Roy-043/Arch-importDAE-DaeUnsupportedError-is-defined-in-common.py
Arch: importDAE: DaeUnsupportedError is defined in common.py
2024-01-23 20:09:31 +01:00
Roy-043 520b8babda Draft: Draft_Scale: make sure scale inputboxes show at least 6 decimals
Fixes #7386.
2024-01-23 18:07:03 +01:00
Roy-043 d63ca9c2dc Arch: importDAE: DaeUnsupportedError is defined in common.py
Forum topic:
https://forum.freecad.org/viewtopic.php?t=84626
2024-01-23 17:52:32 +01:00
Chris Hennes c47b380e85 Merge pull request #12028 from bgbsww/bgbsww-toponaming-makeElementFace
Toponaming move makEFace as makeElementFace and dependencies
2024-01-23 08:45:21 -06:00
Chris Hennes 5662c51ab4 Merge pull request #12054 from kadet1090/styling-elements-and-constraints-ui
Sketcher: Apply styling to elements and constraints UI
2024-01-23 08:40:48 -06:00
xtemp09 5aa36cd7dc Correction of #11775 2024-01-23 07:39:51 -06:00
bgbsww a6ee5f4df9 Merge branch 'main' into bgbsww-toponaming-makeElementFace 2024-01-23 08:14:07 -05:00
wandererfan 3541ccc40d [TD]fix Compass widget update in section 2024-01-22 20:02:54 -05:00
wandererfan deed6df1b2 [TD]fix line number not saved for cosmetic edge 2024-01-22 20:02:54 -05:00
Chris Hennes 1a7e3848b9 Merge pull request #12023 from bgbsww/bgbsww-patch-30
Initial code of mapSubElement Test
2024-01-22 16:02:00 -06:00
Chris Hennes c3091337c5 Part/TopoShapeMapper: Add missing PreCompiled include 2024-01-22 15:57:54 -06:00
bgbsww 6ec676799d Small cleanups 2024-01-22 16:14:20 -05:00
bdieterm 240d1edda4 Part: add color transparency unit tests 2024-01-22 19:28:35 +01:00
Max Wilfinger 0bef2e927b [Sketcher] enable BSpline commands in contextual right click menu 2024-01-22 12:21:01 -06:00
Chris Hennes 84380b3a56 Part: Fix translation bug in FaceMaker 2024-01-22 12:14:54 -06:00
bgbsww 5586c52069 Merge branch 'main' into bgbsww-toponaming-makeElementFace 2024-01-22 12:50:13 -05:00
WandererFan cc45b58dad [Import]fix linkage warning on linux/gcc (#12071)
* [Import]fix linkage warning on linux/gcc


https://stackoverflow.com/questions/41167119/how-to-fix-a-wsubobject-linkage-warning

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-01-22 14:37:33 -03:00
Roy-043 a14e0cbbbb Draft: ShapeString double escape backslash in string
Fixes 12058.
2024-01-22 14:35:34 -03:00
Roy-043 341f71ec5b Draft: Inform user that objects without a Shape cannot be cloned
Fixes #11923.
2024-01-22 12:31:02 -05:00
Roy-043 5b98a762d1 Draft: Improve layer functions
The current make_layer function has a `None` default for the shape color and the line color. With that value the current preference is used. This, and how the function is called, results in some confusing behaviors:
* Newly created layers will only use 2 values from the preferences when they might use 5. The latter makes more sense for the end-user IMO.
* Layers created during DXF import (for example) will have a different shape color depending on the current preferences.
* The make_layer function may reapply colors that have already been set by the view provider.

To solve this all view property related function parameter have been changed to a not None value. If a None value is supplied the view property as set by the view provider is not changed. The Layer Manager has been updated accordingly.
I realize that calling a function with 6 None values is not very convenient, but think it is the solution that is least likely to break other exiting code.

Additionally:
* Removed the makeLayer function. Layers were introduced in V0.19 when the naming scheme was changed to "make_*". Maybe it was created by mistake, or before the actual renaming operation started, but it is safe to remove it now.
* Removed overly verbose messages.
* gui_layers.py had a missing import (result of a previous V0.22 PR): `from draftutils import utils`.
2024-01-22 11:29:13 -06:00
Chris Hennes 8c3ff5d3e9 Gui: Add missing override 2024-01-22 12:26:50 -05:00
Chris Hennes 37ec34df9d Merge pull request #12014 from bgbsww/bgbsww-patch-29
Toponaming ShapeMapper
2024-01-22 11:23:56 -06:00
Chris Hennes 5f743aa36b Merge pull request #12012 from Ondsel-Development/radius_render_fix
[Sketcher] Improve rendering of arc-angle, line-angle, arc-distances and fix radius
2024-01-22 11:21:53 -06:00
Vincenzo Calligaro 1fdffef21d [Core] [Preferences] Modernize for loop in DlgSettingsEditor.cpp (#12011)
* Preferences: modernize for loop in DlgSettingsEditor.cpp

Signed-off-by: CalligaroV <vincenzo.calligaro@gmail.com>

* Preferences: modernize for loop in DlgSettingsEditor.cpp
added textType and textColor variables to unpack range-for loops iterators

Signed-off-by: CalligaroV <vincenzo.calligaro@gmail.com>

* Update src/Gui/PreferencePages/DlgSettingsEditor.cpp

Minor linter updates, as suggested

Co-authored-by: Chris Hennes <chennes@pioneerlibrarysystem.org>

* Update src/Gui/PreferencePages/DlgSettingsEditor.cpp

Minor linter updates, as suggested

Co-authored-by: Chris Hennes <chennes@pioneerlibrarysystem.org>

---------

Signed-off-by: CalligaroV <vincenzo.calligaro@gmail.com>
Co-authored-by: Chris Hennes <chennes@pioneerlibrarysystem.org>
2024-01-22 11:19:46 -06:00
mosfet80 9cd9d752ef Update action.yml
Updated ccache
https://ccache.dev/releasenotes.html#_ccache_4_9
2024-01-22 14:19:02 -03:00
Paddle b140feabaf Sketcher: Edges pattern and width by type. 2024-01-22 11:12:42 -06:00
bgbsww 3fd886d58f Update src/Mod/Part/App/TopoShapeExpansion.cpp
Co-authored-by: Chris Hennes <chennes@pioneerlibrarysystem.org>
2024-01-22 12:12:21 -05:00
Adrián Insaurralde Avalos 90d3ede49a Merge pull request #11993 from Syres916/Tux_Nav_Style_Icon_Fix
[Gui] [Tux] Status Bar - Fix Nav Style Icons and theme recognition
2024-01-22 14:12:07 -03:00
Paddle cce2c24262 Core: tree: prevent object replacement when dragging 2024-01-22 10:53:47 -06:00
xtemp09 51ccf610c0 Fix occasional segmentation fault when exiting
Fixes #11521.
2024-01-22 10:49:52 -06:00
Chris Hennes 6dfbdfc09e Merge pull request #11537 from Ondsel-Development/copy_paste_2023
[Sketcher] Add copy/cut/paste sketcher commands
2024-01-22 10:45:22 -06:00
André Caldas 0cbc9cd66e Does not rely on the pointervalue returned by getNameInDocument() to use as a DAG key.
In order to make getNameInDocument() always return a valid string,
we implement a getDagKey() method that shall be used instead of getNameInDocument()
when we want to use the pointer value as a "key" to identify the DocumentObject.
2024-01-22 10:40:24 -06:00
bgbsww 96b4171c09 Single char constants 2024-01-22 11:29:41 -05:00
bgbsww 31a6eb5a4a lint / review cleanups 2024-01-22 11:01:19 -05:00
marioalexis c6911695e7 Material: Initialize types 2024-01-22 08:53:38 -06:00
Chris Hennes 5011381b4a Merge pull request #12059 from 3x380V/pyside6_fixes
Pyside6 fixes
2024-01-22 08:03:32 -06:00
Chris Hennes 501a5e3c85 Merge pull request #12061 from 3x380V/base_cleanup
Base cleanup
2024-01-22 08:01:17 -06:00
bgbsww 04e470a342 ShapeMapper that works with OCCT7.8.0 2024-01-22 07:45:45 -06:00
Ladislav Michl ac6f991baf Gui: Consolidate Python -> Qt class conversion 2024-01-22 06:58:17 +01:00
Ladislav Michl 9f5f00db69 Gui: Consolidate module error message in PythonWrapper 2024-01-22 06:58:17 +01:00
Ladislav Michl 8c220492e3 CMake: Fix searching for pip installed PySide 2024-01-22 06:58:17 +01:00
Ulices fa0702956c PartDesign: Update Length/Offset when Occurrences changes (#12069)
* Add 'HACK:'/`NOTE:` tags to get special highlightning

* [PD] Bugfix: Update Length/Offset when Occurrences changes

Fix #12068
2024-01-21 18:52:34 -06:00
marioalexis 629f585a15 Fem: Set PotentialEnabled to False in capacitance_two_balls example - fixes #9707 2024-01-21 16:23:29 -07:00
bgbsww 1490de0087 apply Comp to Comparator name change 2024-01-21 16:06:32 -05:00
bgbsww 541ec563e3 Merge branch 'main' into bgbsww-toponaming-makeElementFace 2024-01-21 15:52:31 -05:00
bgbsww d4c5906c5c Add tests, reformat to modern C++, clean 2024-01-21 15:34:46 -05:00
Kacper Donat 34b6b36547 Sketcher: Disable visibility checkbox for external geometry 2024-01-21 20:33:49 +01:00
Kacper Donat 2fac012226 Sketcher: Fix checkbox behavior for Element checkboxes
This creates new method overload for changing layer of exact
ElementItem. This fixes strange behavior of the checkboxes for elements
that were dependent not on what user clicked but on what is selected.

Fixes: #8814
2024-01-21 20:33:37 +01:00
Kacper Donat da6a4fe57b Sketcher: Make Elements UI style aware
This commit like previous one introduces ability to style list of
elements in the sketcher. It also completely refactors the rendering
delegate introducing dedicated method for calculating rects of each
element and method for rendering each sub control. Thanks to this
refactor we can be sure that areas drawn are the same as areas checked
for events in editorEvent.
2024-01-21 20:33:34 +01:00
Chris Hennes 35e09e233c Materials: Correct PreCompiled.h includes in Gui 2024-01-21 09:52:55 -07:00
Chris Hennes b164457a30 Materials: Correct PreCompiled.h includes in App 2024-01-21 09:52:55 -07:00
bdieterm 62a6fab19b Gui: add explicit transparency specification 2024-01-21 17:41:31 +01:00
Ladislav Michl f1fdd2e2a9 Base: Replace if else with switch statement 2024-01-21 16:14:12 +01:00
Ladislav Michl 95b37fa806 Base: Do not use else before return 2024-01-21 16:14:12 +01:00
Ladislav Michl 915bfd3dde Base: Use std::recursive_mutex 2024-01-21 16:14:12 +01:00
wandererfan 562fb5114a [TD]handle View rotation in ExtensionPack circle centerlines 2024-01-21 09:28:19 -05:00
marioalexis 674cc4b0ec Fem: Call base class handleChangedProperyType function 2024-01-20 20:20:56 -07:00
Ajinkya Dahale 6dda56117a [Sketcher] Visualize B-spline in edit mode
Instead of the control polygon, or "join the dots" for interpolated splines.
2024-01-20 18:45:18 -07:00
wandererfan e5ae85e8fd [TD]protect against stretch factor == 0 2024-01-20 18:58:55 -05:00
wandererfan c15e1d3295 [TD]handle equal section line end points 2024-01-20 18:58:55 -05:00
Kacper Donat ecd591450c Sketcher: Make Constraints UI style aware
This adds reference to the actual widget to the painting of Constraints
List control of Sketcher. Thanks to this this list can now be styled
using standard mechanisms of Qt framework like QSS.
2024-01-20 21:59:01 +01:00
Kacper Donat 122f163d0c Sketcher: Draw proper checkbox control in Elements UI
This ensures that checkboxes drawn in the Elements UI of the sketcher
can be styled using the correct style.

Three changes are introduced:
1. paint() method uses style provided by the widget, not application.
2. Indicator is drawn using PE_IndicatorCheckBox not CE_CheckBox - it
   allows to use ::indicator in qss to style it properly. This works the
   same as TreeView.
3. Fix for minor issues with text alignement and extension of selected items
   background to cover checkbox. This is how other controls of this kind
   work.
2024-01-20 21:59:01 +01:00
marioalexis 9da842d884 Fem: Improve self weight constraint - fixes #11652 2024-01-20 08:57:46 -07:00
Paddle 17893d39ca Sketcher: PythonConverter: Replace useLastGeoIdVar bool by enum class 2024-01-20 06:49:32 +01:00
bgbsww 22b952f8e4 Improve tests 2024-01-19 20:59:19 -05:00
sliptonic 30b907ec5d Merge pull request #12041 from Ondsel-Development/fixorderbywidget
fixes #12029
2024-01-19 12:12:46 -06:00
Roy-043 f315314569 Merge pull request #12042 from Roy-043/Draft-DraftGui.py-make-type-of-self.facecolor-consistent
Draft: DraftGui.py make type of self.facecolor consistent
2024-01-19 18:59:20 +01:00
sliptonic ccaa636c72 fixes #12029 2024-01-19 11:31:53 -06:00
Roy-043 cb2fdeeeea Draft: DraftGui.py make type of self.facecolor consistent
Since V0.19 self.facecolor had two types: integer (initial value) or QColor. With this PR it is again always a QColor.
2024-01-19 18:31:11 +01:00
bgbsww 2699c748c8 Improve tests 2024-01-19 10:49:47 -05:00
Roy-043 a81009d8c4 Arch: Bring back Axis bubbles and show annotation DrawStyle in ArchView
* Restores Arch_Axis bubbles in a TechDraw_ArchView. This fixes a regression in V0.21 and 0.22, I suspect an unwanted side-effect of a previous PR of mine (#8688).
* Also fixes the linetype of axes and other annotation objects in a TechDraw_ArchView.
2024-01-19 16:37:07 +01:00
Chris Hennes 10d1102b84 Merge pull request #12007 from chennes/toponamingElementNameComparator
App/Toponaming: Add Comparator for mapped elements
2024-01-19 09:20:59 -06:00
Chris Hennes 01859163da Merge pull request #12024 from Ondsel-Development/property_rightclick
Core : Tree: Add 'Properties' action in contextual menu. Opens a prop…
2024-01-19 08:58:54 -06:00
Kacper Donat f4030c4384 Gui: Fix scroll behaviour in preference pages selector
This fixes problem with scroll jumping after selecting page on bottom of
the pages tree view. It was caused by collapsing group of the current
item and then re-expanding it few lines after.

Fixes: #12000
2024-01-19 08:27:05 -06:00
Paddle eb91978459 Sketcher : Distance constraint : introduce arc helpers for conic distances. 2024-01-19 11:50:38 +01:00
Paddle 8ed22b0fd8 Sketcher: copy paste : move from XML to python. 2024-01-19 11:13:53 +01:00
Paddle a8b6e1e9c3 Sketcher: python converter : add possibility to add lastGeoId to the constraint process. 2024-01-19 11:13:53 +01:00
Paddle fd2e35b7eb Sketcher: Add copy/cut/paste sketcher commands 2024-01-19 11:13:53 +01:00
Paddle b818be7d5d SoDatumLabel : introduce distance arc helpers. 2024-01-19 11:13:09 +01:00
Paddle df867a25b2 Sketcher : arc angle render improvement. 2024-01-19 11:13:09 +01:00
Paddle dca00ec80e Sketcher : improve single line angle rendering. 2024-01-19 11:13:09 +01:00
Paddle 64c867eb0e Sketcher Fix radius arc helpers. 2024-01-19 11:13:09 +01:00
Paddle 2bf3639fb5 Core: PropertyEditor : save properly the size of the first column. 2024-01-19 10:49:33 +01:00
Paddle 3136bd6fcc Core: add property command, that shows property view. 2024-01-19 10:26:00 +01:00
Roy-043 fce98fa57e Arch: Revised preference ui files, remove WindowColor
Follow-up PR of #11940.

* The new ui layout follows that of the Draft preferences.
* The ConversionFast checkbox enables/disables the 3  preferences listed below it.
* The WindowColor preference was removed. It is not a per-object, or even a per-file setting. The fix in #11940 would change windows in existing projects when they are recomputed. It is therefore better to keep the V0.21 solution where the glass is colored according to the preferences and the rest of the window receives a color based on its ShapeColor. Users who want to apply specific colors can use a multi-material.
2024-01-19 10:05:15 +01:00
wandererfan 0eee1c476a [TD]fix Complex Section scale with DPGI base 2024-01-18 13:27:29 -05:00
wandererfan cf3189fef7 [TD]fix Section scale for DPGI base views 2024-01-18 13:27:29 -05:00
bgbsww a2d15df6df Split test cases 2024-01-18 13:15:21 -05:00
bgbsww 21b7da61b3 Lint and other cleanups 2024-01-18 11:46:15 -05:00
Roy-043 893f0fed5b Multiply textheight by DefaultAnnoScaleMultiplier 2024-01-18 15:43:15 +01:00
Roy-043 544bd1e7ea Arch: implement new get_param functions
Additionally 2 Arch_Window bugs were fixed:
* If the W1 value was changed the box tracker was not repositioned relative to the cursor.
* The WindowColor was not applied because of a typo in the code. De current default color is quite dark BTW.

Note that all dimensional values that were not really defaults, but just the last entered values, have been removed from preferences-archdefaults.ui. As a result the layout looks a bit strange. That will be improved in a next PR.
2024-01-18 15:43:15 +01:00
sliptonic 893238c2ab Merge pull request #11939 from davidgilkaufman/restMachiningFromGcode
[Path] Rest machining from gcode
2024-01-18 07:49:54 -06:00
Chris Hennes 8bc54e242c Merge pull request #11980 from 3x380V/fix_material_qt6
Material: fix Qt6 build failure
2024-01-17 21:36:14 -06:00
Chris Hennes 0992bae590 Merge pull request #11994 from 3x380V/avoid_fmtlib
Tests: Avoid use of fmtlib when not needed
2024-01-17 21:35:23 -06:00
Zheng, Lei f4cc2df2bd Toponaming move makEFace as makeElementFace and dependencies 2024-01-17 20:38:50 -05:00
Paddle 4acff3f66f Sketcher: polyline: fix ESC exit tool 2024-01-17 13:53:04 -03:00
Paddle 919d8c9392 Sketcher: bspline: fix ESC exit tool 2024-01-17 13:53:04 -03:00
wandererfan 80c2942c22 [Import]fix rounding errors in dxf export 2024-01-17 11:33:50 -05:00
Paddle 10de5a19d0 Core : Tree: Add 'Properties' action in contextual menu. Opens a property dialog. 2024-01-17 17:00:55 +01:00
bgbsww cfdbf79b2b Initial code of mapSubElement Test 2024-01-17 09:13:39 -05:00
Paddle 6db820a580 Sketcher: Define double click on edges : Select the whole wire. 2024-01-17 11:05:28 -03:00
Paddle b0176c2d92 Sketcher: add isPeriodicBsplineCurve helper function 2024-01-17 11:05:28 -03:00
bgbsww 969090b844 Move MapperMaker and MapperHistory out to future PR 2024-01-17 08:55:16 -05:00
Roy-043 6aafdd5305 Merge pull request #12019 from Roy-043/Draft-Task-panel-checkboxes-were-repositioned-by-accident
Draft: Task panel checkboxes were repositioned by accident
2024-01-17 11:31:46 +01:00
Roy-043 904bb57538 Draft: Task panel checkboxes were repositioned by accident
In a previous PR of mine I have reorganized some lines of code in DraftGui.py without realizing that this would reposition checkboxes. This PR fixes that.
2024-01-17 11:00:40 +01:00
Zheng, Lei 7d67c319ec Restore RT hash code for OCC < 7.8.0 2024-01-16 22:43:59 -05:00
Chris Hennes 32d47402b6 Tests/Toponaming: Add tests for ElementNameComparator
This verifies the existing functionality, but does not alter it. Two tests are disabled because they represent cases that the current code does not handle correctly. They are edge cases that are not expected in real code.
2024-01-16 19:25:38 -06:00
bgbsww f9a4f25048 Tests for transferred TopoShapeMapper objects 2024-01-16 20:11:59 -05:00
Zheng, Lei c1b296dab8 ShapeMapper code from RT branch to new TopoShapeMapper files 2024-01-16 20:11:43 -05:00
wandererfan 2e5d902d1a [TD]Dimension validation improvements 2024-01-16 20:07:30 -05:00
Chris Hennes 14d4ea2416 Merge pull request #11883 from wavexx/pch_build_fix
Fix build with precompiled headers
2024-01-16 14:06:34 -06:00
Chris Hennes c999f887eb App/Toponaming: ElementNameComparator linter cleanup
Does not address cognitive complexity.
2024-01-15 21:50:32 -06:00
Zheng, Lei ef2ef6d7aa App/Toponaming: Add Comparator for mapped elements
This is the original code from the Toponaming branch, modified slightly to update the
method name and correct some grammatical errors in the descriptive comment.

Co-authored-by: Chris Hennes <chennes@pioneerlibrarysystem.org>
2024-01-15 21:28:02 -06:00
marioalexis 27a0fb1e99 Fem: Fix constraint arrows - fixes #6073 2024-01-15 19:21:09 -06:00
Chris Hennes 0e179297bd Interim commit 2024-01-15 19:13:33 -06:00
Chris Hennes 1a9f2716d2 Part/Toponaming: Merge makECopy from Toponaming 2024-01-15 19:07:18 -06:00
Chris Hennes d9ea13ddec Part/Toponaming: Refactor to eliminate boolean blindness 2024-01-15 18:03:30 -06:00
Chris Hennes 920dbf9133 Part/Toponaming: Linter cleanup of makeElementWires 2024-01-15 16:39:48 -06:00
Chris Hennes f659df97e9 Part/Toponaming: makeElementWires linter cleanup 2024-01-15 16:39:44 -06:00
Chris Hennes 574ebeae19 Part/Toponaming: Add original implementation of makEWires
Renamed to makeElementWires and modified to compile in the current codebase.
2024-01-15 16:38:45 -06:00
wandererfan 7bc3317455 [TD]fix Balloon parentage in tree 2024-01-15 15:44:12 -05:00
CalligaroV 49e7bba9c7 Preferences: reset preference pages parameters set without using "PrefWidgets" objects
Signed-off-by: CalligaroV <vincenzo.calligaro@gmail.com>
2024-01-15 11:28:12 -06:00
marioalexis 9ceb1e7af1 Fem: Remove pipeline node from analysis view provider - fixes #11175 2024-01-15 11:19:09 -06:00
Chris Hennes ed6230093f Part/Toponaming: Refactor makeElementCompound
Refactor to address linter issues, breaking up large methods, renaming variables, etc.
2024-01-15 18:17:32 +01:00
Chris Hennes 60a7f45ece Tests/Toponaming: Add tests for makeElementCompound 2024-01-15 18:17:32 +01:00
Chris Hennes 928c4ce813 App/Toponaming: Add addition TNP methods 2024-01-15 18:17:32 +01:00
Zheng, Lei 4729dc6c59 Part/Toponaming: Add original code for makECompound
Renamed to makeElementCompound and modified as little as possible to get it to compile in the new framework. All required auxilliary methods are also brought in.
2024-01-15 18:17:32 +01:00
mosfet80 9975c74c45 Update Mesher.cpp
removed old code for smesh <v7.
Freecad now requre smesh  version >=7.7.1
2024-01-15 18:02:31 +01:00
mos dacdc2b1d1 updated nlohmann/json
updated to JSON version 3.11.3

Add missing <numeric> header include. #3717 #3718 #3719
Replace uses of INT_MIN/INT_MAX, etc. with

std::numeric_limits and consistently use std-namespaced integer types to make library work with newer GCC versions. #3722 #3723
Add missing files (json_fwd.hpp and Bazel build files) to release artifact include.zip. #3727 #3728
Fix 'declaration hides global declaration' warning. #3751
Fix natvis XML. #3858 #3863
Fix warning about moved from object. #3805 #3889
Remove a magic number to fix a warning. #3837 #3888
Fix debug pretty-printer by checking if match is valid before accessing group. #3919 #3920
Fix custom allocators by defining missing rebind type. #3895 #3927
Prevent memory leak when exception is thrown in adl_serializer::to_json #3881 #3901
Fix Clang-Tidy warnings. #4047
Fix init-list construction when size_type is not int. #4140
Fix deprecation warning "identifier _json preceded by whitespace in a literal operator declaration". #4129 #4161
Fix compile error with _HAS_STATIC_RTTI=0. #4046
Fix char_traits deprecation warning "char_traits<unsigned char> is deprecated: char_traits<T> for T not equal to char, wchar_t, char8_t, char16_t or char32_t is non-standard". #4163 #4179
2024-01-15 10:53:38 -06:00
Alexander Neumann d9636aaa25 Guard MEFISTO code with version check against SMESH. 2024-01-15 10:44:06 -06:00
Ladislav Michl 7a955c5600 Tests: Avoid use of fmtlib when not needed 2024-01-15 17:38:56 +01:00
edi271 5ddd9829ad [TD] Solve issue in VertexAtIntersection 2024-01-15 09:46:33 -05:00
Syres916 e95c553391 [Gui] [Tux] Correct text location in icons 2024-01-15 13:58:27 +00:00
Syres916 a575e6c7cb [Gui] [Tux] Fix Nav Style Icons and theme recognition 2024-01-15 13:43:58 +00:00
Chris Hennes fa0a25a777 Merge pull request #11896 from Pesc0/toponaming-shapeprotector
Toponaming shapeprotector
2024-01-14 21:03:09 -06:00
Kacper Donat 48d935d401 Gui: Reset scroll position after preference page change
As every page is contained in the same QScrollArea we must ensure that
after page is changed the scrolled area is scrolled back to top-left
corner.

Fixes: #11981
2024-01-14 20:19:48 -06:00
sliptonic 2f710755bc Merge pull request #11972 from br4243/Fix_for_Vcarve_missing_letters_8064
Fix for issue 8064 missing letters when V-carving a string.

Excellent work!  Thank you.
2024-01-14 13:26:14 -06:00
Ladislav Michl a85db2c1d6 Material: fix Qt6 build failure
QRegExp has been replaced with QRegularExpression and isn't part of the base of Qt6 any more
2024-01-14 11:08:10 +01:00
Bill Reese adaa0d171b Fix for missing letters when V-carving a string.
Issue 8064 occurs when FreeCAD passes a Voronoi diagram to
Boost that becomes self-intersecting when Boost truncates the
diagram's coordinates to integers.  This occurs when the discretizer
slightly misses closing the polygon generated for the letter by less
that FreeCAD's epsilon, then the wrapping Python code closes the
polygon by adding the initial polygon point as the final point.
This creates a short segment that, depending on the position of
the letter in the coordinate system, may end up being moved one
Boost coordinate delta away from the intended point, which can
end up self-intersecting.
Since the miss is very small, FreeCAD should treat it as it it
were the initial point.  There's no need for a duplicate copy of
the initial point, so we remove this point close to the initial
point and let insert_many_wires() close the polygon as usual.
2024-01-13 12:41:26 -05:00
Syres916 ce1a43ed2c [Gui] Fix Status Bar Tooltip Visibility 2024-01-13 09:15:18 -06:00
pre-commit-ci[bot] dd1db1e23e [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2024-01-13 09:59:54 -05:00
edi271 6b68344af8 [TD] extend App.Vector API 2024-01-13 09:59:54 -05:00
edi271 14c536b453 [TD] extend Base::Vector3D 2024-01-13 09:59:54 -05:00
edi271 9a9803c9f9 [base] Extend Vector by isParallel function 2024-01-13 09:59:54 -05:00
Paddle 5ee16df6b7 Draw arc helpers for radius constraints. 2024-01-12 19:03:38 -06:00
Paddle 827781ab3f Improve angle constraint rendering. 2024-01-12 19:03:38 -06:00
Syres916 a0331f2c80 [PartDesign] Revert #11357
See https://github.com/FreeCAD/FreeCAD/issues/11961#issuecomment-1889721739
2024-01-12 18:37:24 -06:00
Chris Hennes 5088c63935 Part/Toponaming: Modify constructors to set owner of ShapeProtector 2024-01-12 10:00:45 -06:00
Pesc0 a74c6b3391 Part/Toponaming: Pesc0's work replacing ShapeProtector
In realthunder's original version this class was not derived from TopoDS_Shape, but rather duplicated
its interface and wrapped its non-const methods. This resulted in quite a lot of boilerplate, so in
the merged implementation we are now deriving from TopoDS_Shape and only overriding the non-const
methods. The downside is that if OCCT adds or changes methods we will have to add them proactively
to this class so that they don't bypass the TNP code.
2024-01-12 09:57:33 -06:00
wandererfan 3ba0c3d795 [TD]fix missing \ in regex 2024-01-12 09:23:38 -05:00
wandererfan ff2cea3008 [TD]fix Dimension icons 2024-01-12 09:23:38 -05:00
David Kaufman dd5bb66cb9 replace hard coded 1um tolerance with job.GeometryTolerance 2024-01-11 22:49:11 -05:00
wandererfan 158ef7ee8f [TD]Revert detail to piecewise algo 2024-01-11 18:24:51 -05:00
Andrei Pozolotin 6a54591bac Resolve #11825 - no automatic quantity conversion: App::anyToQuantity 2024-01-11 11:32:18 -06:00
Kevin Martin d52cf81bce Move the "Treat ellipses and splines as polylines" to DXF *output* options
This option control DXF export but was confusingly in the Import options area. Fixes #11659
2024-01-11 15:58:26 +01:00
Stefan Brüns 5b7fe70483 [App] Fix segfault due to missing Py_Initialize in StringIDRefTest
The PyObject desctructor requires an initialized interpreter, otherwise
PyGILState_Ensure crashes.

Fixes #11878
2024-01-10 22:34:04 -06:00
Roy-043 c6a0203690 Merge pull request #11946 from Roy-043/Draft-remove-reapply_diffuse_color-workaround
Draft: remove reapply_diffuse_color workaround
2024-01-10 18:51:49 +01:00
Roy-043 35f10ad5a5 Draft: remove reapply_diffuse_color workaround
The function would trigger the creation of duplicate Draft Polar Arrays (only on Linux and only if the Fuse option is selected and the Link Array option deselected).
Forum topic:
https://forum.freecad.org/viewtopic.php?t=84090

The reapply_diffuse_color function is no longer required anyway as Issue #8340 has been fixed.
2024-01-10 16:46:49 +01:00
wwmayer d3049deaa9 PD: Add test for helix (#11601)
Co-authored-by: Chris Hennes <chennes@pioneerlibrarysystem.org>
2024-01-10 07:26:18 -06:00
Paddle f5b4fc9a0b Property editor: Hide headers and enable resizing on all cells. 2024-01-09 19:50:20 -06:00
bgbsww 8abd09398a Add support for OCCT 7.8.0 (#11909) 2024-01-09 19:47:25 -06:00
pre-commit-ci[bot] a930658000 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2024-01-09 20:07:57 -05:00
wandererfan e42e9a4096 [Import]Flatten sketch before dxf export. 2024-01-09 20:07:57 -05:00
David Kaufman 4ceb984f73 cleanup 2024-01-08 20:19:39 -05:00
David Kaufman b20d702b0d add support for drilling gcode 2024-01-08 20:19:39 -05:00
David Kaufman 4cb991cf47 add bbox check to getClearedArea to filter out irrelevant gcode 2024-01-08 20:19:39 -05:00
David Kaufman 20ce99cfcc Important performance optimization: union Thicken() polygons individually, not en masse 2024-01-08 20:19:39 -05:00
David Kaufman 7b55376d76 rename getClearedAreaFromPath -> getClearedArea 2024-01-08 20:19:39 -05:00
David Kaufman 57313f7b5c remove old/deprecated rest machining code 2024-01-08 20:19:39 -05:00
David Kaufman 9cbf031895 do computations at higher precision to mitigate error stackup 2024-01-08 20:19:39 -05:00
David Kaufman 9fac948ba7 fix precision computation 2024-01-08 20:19:39 -05:00
David Kaufman 2a9ce21c81 expand cleared area by a small buffer to cover numeric errors 2024-01-08 20:19:39 -05:00
David Kaufman ea1c9e4c57 proof of concept rest machining from prior path gcode 2024-01-08 20:19:39 -05:00
mosfet80 ba630dc71b Update CMakePresets.json
Updated requested cmake version, I used the same version present in cmakelist.txt
2024-01-08 21:30:10 -03:00
sliptonic 00e3980090 Merge pull request #11927 from bdieterm/fix-path-profile
Path: fix wire midpoint calculation
2024-01-08 14:00:03 -06:00
looooo 8e2ab9f768 set INSTALL_TO_SITEPACKAGES to ON by default
and add some modules to the freecad-namespace (freecad.part, freecad.partdesign, freecad.sketcher)
2024-01-08 14:40:32 -03:00
Max Wilfinger 476089a2ad sketcher: create contextual right click menu 2024-01-08 12:39:17 -05:00
sliptonic 5ba5e798bf Merge pull request #11933 from adrianinsaval/gitignore
Update .gitignore and remove unused file in FEM
2024-01-08 11:33:20 -06:00
Catalin MARINCIA 4813b9297b Build: Fix visibility of fields in Reader.h to be compiled with GCC 13 toolchain 2024-01-08 18:32:40 +01:00
Rexbas f795f53b0a Gui: Prohibit dragging using LMB in sketch mode for OpenSCAD style 2024-01-08 12:31:00 -05:00
sliptonic ca7b867ae3 Merge pull request #11840 from maxwxyz/precise-toggle-command-description
Change the description of the default 'Toggle active object' command
2024-01-08 11:29:01 -06:00
Ajinkya Dahale 56278633ce [PD] Fix reference axis selection in revolve/groove
Fixes #11713.
2024-01-08 14:19:57 -03:00
sliptonic 88e186f305 Merge pull request #11779 from hasecilu/second_unit
[Base/Units] Change strings' description
2024-01-08 11:10:22 -06:00
Kevin Martin 2c0bc89f62 Streamline scaling for DXF import
Eliminate m_measurement_inch to clean up logic for priority of MEASUREMENT and INSUNITS.
Save the actual scaling factor rather than the scaling enum so a switch statement is not executed for each call to mm()
Add to CDxfRead the work to handle dxfScaling option, ImpExpDxfRead just has to set it up now.
Get the scaling factor from a lookup table rather than a switch statement
Display a message explaining what the scaling factor is and where it comes from
Remove large amount of Lint.
2024-01-08 18:01:21 +01:00
Syres916 8cadc2294d [PartDesign] Hole, ignore duplicate circle/curve centers (#11773)
* [PartDesign] Hole, ignore duplicate circle/curve centers

* [PartDesign] Hole correct log output

* [PartDesign] Hole changes based on feedback
2024-01-08 13:55:16 -03:00
Alexander Neumann d51d2f674f Remove code related to qtxmlpatterns (#11755) 2024-01-08 13:49:38 -03:00
sliptonic 07c664665b Merge pull request #11750 from realthunder/FixActiveBody
Fix object path in active object when creating new body in App::Part
2024-01-08 10:47:45 -06:00
sliptonic f3266e0d99 Merge pull request #11733 from mosfet80/patch-6
Update sub_buildWindows.yml
2024-01-08 10:47:00 -06:00
mosfet80 b297a18bc2 Update CI wokflows (#11732)
* Update CI_cleanup.yml

The release of upload-artifact@v4 and download-artifact@v4 are major changes to the backend architecture of Artifacts. They have numerous performance and behavioral improvements.

* Update sub_buildMacOSCondaApple.yml

update artifact to v4
Update sub_buildMacOSCondaIntel.yml

updated artifact to v4
Update sub_buildUbuntu2004.yml

updated artifact to v4
Update sub_buildUbuntu2204Conda.yml

updated artifact to v4
Update sub_buildWindows.yml

updated artifact to v4
Update sub_buildWindowsConda.yml
Update sub_lint.yml

updated artifact to v4
Update sub_wrapup.yml

update artifact to v4
Update sub_prepare.yml

updated artifact to v4

* Update CI_cleanup.yml

The release of upload-artifact@v4 and download-artifact@v4 are major changes to the backend architecture of Artifacts. They have numerous performance and behavioral improvements.
Update sub_buildMacOSCondaApple.yml

update artifact to v4
Update sub_buildMacOSCondaIntel.yml

updated artifact to v4
Update sub_buildUbuntu2004.yml

updated artifact to v4
Update sub_buildUbuntu2204Conda.yml

updated artifact to v4
Update sub_buildWindows.yml

updated artifact to v4
Update sub_buildWindowsConda.yml
Update sub_lint.yml

updated artifact to v4
Update sub_wrapup.yml

update artifact to v4
Update sub_prepare.yml

updated artifact to v4
2024-01-08 13:46:42 -03:00
bgbsww bf3ccbc5b6 Correct mistaken Helix patch; use MakePipe for frenet for speed; add tests (#11598)
* Cleanup and switch to using MakePipe

* Cleanup unused include

* Use Frenet mode in building pipe

* Restore original code, add a control property

* Hide property, and init on new objects

* Restore prior behavior for legacy objects

* Clean up git blame; add missing move to keep helix same with new makePipe call

* Remove debug include

* Use doxygen syntax for deprecation comment

* Add unit tests; restore code for angled helixes; optimize zero angle helixes

* Lower test precision to accept platform variations

* Loosen more

* Correct restoration

* Tweak test volumes to match restored helix creation

* Restore helix generation parameter

* Fix test; delint
2024-01-08 13:43:38 -03:00
Adrian Insaurralde Avalos a770971f58 FEM: remove unused file 2024-01-08 11:34:56 -03:00
Adrián Insaurralde Avalos ad06a33d2d Update .gitignore 2024-01-08 11:27:22 -03:00
Roy-043 b6b9314d7a Arch: Improve selection of cutting object for Arch_CutPlane
This PR makes the selection of the cutting object more flexible. It can be a face, an edge or an object with a single subelement of that type. Any planar object can also be selected. This PR makes the Arch_CutLine command superfluous. It was therefore removed.
2024-01-08 10:58:30 +01:00
paullee 8c3696adec [ArchWall] Fix getExtrusionData() with DraftWire base problem
See discussion on FreeCAD forum :
- https://forum.freecad.org/viewtopic.php?p=727868#p727868
( How to use the partdesign_subshapebinder for walls / Walls on "3d sketch"? )
2024-01-08 10:56:41 +01:00
Roy-043 57fbbb17cf Arch: Arch_Window fix and improve handling of hosts
Fixes a problem introduced with a previous PR of mine (#7591). Hosts would only be touched if that property of the window was modified. But the hosts of a window should also update if other properties of the window change.

Additionally a width or height change of a window now touches the hosts on the subsequent shape change.
2024-01-08 10:53:20 +01:00
Roy-043 28f2214c3a Arch: Arch_Project avoid ghosts of objects in Group 2024-01-08 10:52:15 +01:00
Roy-043 b9f5b1ae32 Arch: Arch_Window: wrong value for Frame property
The Frame property controls the extrusion of the window components. It should receive the w2 instead of the h1 value.
2024-01-08 10:33:44 +01:00
Paddle 9bb9eb8b21 Sketcher_dimension : Fixes https://github.com/FreeCAD/FreeCAD/issues/11904 2024-01-07 20:53:22 -06:00
bdieterm 0d662251d2 Path: fix wire midpoint calculation 2024-01-07 21:23:13 +01:00
mosfet80 e6b6399aa0 Update sub_buildWindows.yml
switch to python 3.9
updated upload-artifact to v4
updated actions-checkout to v4
Update sub_buildWindows.yml

Update CI_cleanup.yml

The release of upload-artifact@v4 and download-artifact@v4 are major changes to the backend architecture of Artifacts. They have numerous performance and behavioral improvements.
Update sub_buildMacOSCondaApple.yml

update artifact to v4
Update sub_buildMacOSCondaIntel.yml

updated artifact to v4
Update sub_buildUbuntu2004.yml

updated artifact to v4
Update sub_buildUbuntu2204Conda.yml

updated artifact to v4
Update sub_buildWindows.yml

updated artifact to v4
Update sub_buildWindowsConda.yml
Update sub_lint.yml

updated artifact to v4
Update sub_wrapup.yml

update artifact to v4
Update sub_prepare.yml

updated artifact to v4
2024-01-07 01:59:35 +01:00
Chris Hennes 59fdebd7e7 Merge pull request #11768 from oursland/mamba-devenv-no-prune
CI: Fix issues affecting conda devenv installation resulting in failures.
2024-01-06 18:42:23 -06:00
Chris Hennes 108ea5d521 Merge pull request #11786 from Syres916/PD_Fix_Combobox_Issue
[PartDesign] Sprocket fix bug with translated references
2024-01-06 18:31:18 -06:00
bgbsww e166c8ccfd Adding additional TNP tests (#11829)
* Initial tests for Chamfer, Fillet, Compound

* Lint cleanup, new tests

* Outline of Extrusion and Revolution

* Use python to define a 2d object to extrude and test

* Refactor; start filling in revolution tests

* Example of parameterized tests in Extrusion, cleanups

* Use gtest framework for parameterised tests

* Rearrange for clarity

* WIP with TEST_P use for posterity

* Switch from parameters to individual tests

* Guess at test failures on other platforms

* Cleanups and Revolution Tests

* Remove temp code

* Switch Revolutions to boundbox test; add Compound subshape count test

* Calculate test volume correctly; lint fixes

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Chris Hennes <chennes@pioneerlibrarysystem.org>
2024-01-06 18:25:44 -06:00
bgbsww 365c5f4777 Detect circular references in sketches, and add corresponding tests (#11716)
* Possible fix for 10482 circular reference regression with tests

* Remove redundant test

* Cleanup pre PR

* [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-01-06 18:13:44 -06:00
David Carter 343f1b01a0 Material: Material editor enhancements (#11764)
Continues the work of the material subsystem improvements.

Add support for embedded SVG files. These are not the same
as image files so need to be handled differently.

Add the ability to filter materials in the editor when called from
code. This allows programs to select objects supporting specific
models, complete models, older models, etc.

Updated tests, and refactored code.

New models and materials supporting patterns such as used by the
TechDraw workbench.

fixes #11686 - checks for the presense of a model property before
assinging a value. This can happen when a required model definition is
not available.

---------

Co-authored-by: Chris Hennes <chennes@pioneerlibrarysystem.org>
2024-01-06 18:11:53 -06:00
wandererfan 37f7ccfc86 [TD]fix duplicate unscale of CosmeticVertex 2024-01-06 08:43:25 -05:00
M G Berberich 5f23da5181 german ISO 7200 templates for TechDraw 2024-01-06 08:42:06 -05:00
Max Wilfinger f4167b48c0 add placement command to context menu 2024-01-05 19:14:02 -06:00
bgbsww da05f7c8e8 Provide a default axis for polar patterns in multitransformation 2024-01-05 11:28:45 -06:00
Alex Neufeld 8936a4bd1b Fix Rotation constructor error msg 2024-01-05 11:10:10 -06:00
Roy-043 e264b70e2c App: improve tooltip for ActiveObject
Also some minor spelling fixes.
2024-01-05 11:09:05 -06:00
David Lanzendörfer 7ad74e1a73 Adding version check (#11795)
* Adding version check

* Add compat component for Qt6

* Remove too many qts

* Fix include path

---------

Co-authored-by: David Lanzendörfer <leviathan@libresilicon.com>
2024-01-05 11:08:13 -06:00
Max Wilfinger e43a3b17c8 Change tool description of rotate and polygon tool to hint users to modify with U and J keys. 2024-01-05 11:07:09 -06:00
Chris Hennes b2e4e0373e Merge pull request #11841 from Rexbas/navigation-context-menu-fixes
Right click context menu fixes
2024-01-05 10:03:57 -06:00
Kacper Donat 7074d595da Gui: Allow narrower preferences dialog
This commit introduces optional horizontal scrollbar, looses up the minimum size applied to dialog and narrows a dialog a little bit by default.
2024-01-05 09:46:16 -06:00
Florian Foinant-Willig 5a75578308 Sketcher: fix one point distance (#11854) 2024-01-05 09:29:28 -06:00
bdieterm 5fd298f064 Gui: fix ignored default shape color 2024-01-05 09:27:28 -06:00
Max Wilfinger ee6dacdca7 add capabilities to auto-dimension tool to dimension distances between arc-point, arc-circle, arc-arc 2024-01-05 09:25:53 -06:00
Roy-043 6d7df1dd13 Merge pull request #11902 from Roy-043/Draft-gui_snapper-setTrackers-can-be-called-if-there-is-no-3D-view
Draft: gui_snapper: setTrackers can be called if there is no 3D view
2024-01-05 12:53:24 +01:00
Roy-043 0b036ab58a Draft: gui_snapper: setTrackers can be called if there is no 3D view 2024-01-05 10:50:46 +01:00
Chris Hennes 1d2186b7d6 Update translations (#11886)
* Update translations

* [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-01-03 09:27:18 -06:00
Yuri D'Elia 9df964cbb4 App: Fix build with pch
Include <cfloat> for DBL_MAX
2024-01-02 19:29:02 +01:00
Yuri D'Elia 40994793c1 Part: Fix build with pch
Move QtAll inclusion (which includes GL itself) after manually including
<GL/glext.h> to correctly get ARB extensions.
2024-01-02 19:28:50 +01:00
Yuri D'Elia 3a04552b36 Mesh: Fix build with pch
Add missing <cfloat> for FLT_MAX
2024-01-02 19:28:44 +01:00
sliptonic ef15fbfea6 Merge pull request #11811 from Roy-043/Gui-sWhatsThis-for-Std_MacroStepInto
Gui: sWhatsThis for Std_MacroStepInto
2024-01-01 12:46:35 -06:00
wandererfan 829764c2d0 [TD]fix positioning of secondary views 2024-01-01 13:45:30 -05:00
sliptonic 0cdf8a0761 Merge pull request #11808 from luzpaz/typos-12-2023
Fix typos
2024-01-01 12:44:49 -06:00
sliptonic 3fbd748e9e Merge pull request #11851 from Syres916/Path_Unit_Schema_Check
[Path] Move Units Schema check from system level to document level
2024-01-01 12:23:32 -06:00
Max Wilfinger a662fbb2ff always show auto HorVer tool command in the toolbar when the tool is present (concise toolbar oprion) 2023-12-31 10:44:08 -06:00
Chris Hennes c30850558e Merge pull request #11803 from bgbsww/bgbsww-patch-24
Preliminary cpp tests for Part boolean operations
2023-12-31 10:43:14 -06:00
bgbsww a3220eeece Merge branch 'main' into bgbsww-patch-24 2023-12-30 23:25:51 -05:00
wandererfan f2fe61bca1 [TD]fix fail when dropping onto corrupt object 2023-12-29 08:28:11 -05:00
Syres916 b20171a656 [Path] Implement document level Units Schema check 2023-12-28 22:03:47 +00:00
Syres916 6821dc290f [Path] Remove System Unit Schema Check...
...to be replaced by document level Unit Schema Check
2023-12-28 22:01:11 +00:00
Max Wilfinger aac3003dcf use checkbox in menu item to display current object state and refactor the code 2023-12-28 11:30:49 +01:00
Chris Hennes 888dcb5743 Merge pull request #11782 from chennes/toponamingTopoShapeCache
Part/Toponaming: Add TopoShape cache
2023-12-27 22:22:37 -06:00
Chris Hennes 2dc5e8de5b Part/Toponaming: clang-tidy cleanup of cache calls 2023-12-27 21:16:59 -06:00
Chris Hennes 58e53c1b22 Part/Toponaming: Add original cache methods 2023-12-27 21:16:15 -06:00
Chris Hennes 48a857e808 Part/Toponaming: Clang-tidy cleanup of TopoShapeCache
Part/Toponaming: Move implementions to cpp file
Part/Toponaming: Automated code cleanup
Part/Toponaming: Address boolean blindess with HistoryTraceType
Part/Toponaming: More linter cleanup
Part/Toponaming: Add located and moved methods
Part/Toponaming: Moved and Located
Part/Toponaming: Add missing methods
Part/Toponaming: Add test framework for TopoShapeCache
Part/Toponaming: Add documentation provided by realthunder
Part/Toponaming: Extend tests for TopoShapeCache
Part/Toponaming: Rename getInfo to getAncestry
Part/Toponaming: Fix bug with newer OCCT
Part/Toponaming: Add final tests and tweak naming
Part/Toponaming: Address reviewer comments
2023-12-27 21:16:15 -06:00
Chris Hennes 4077c55fae Part/Toponaming: Add TopoShapeCache base implementation
Copied from RealThunder's TopoNaming branch and modified only as much as required to enable compilation.
2023-12-27 21:16:09 -06:00
wandererfan 0c1f6138b4 [TD]use standard lines & LineFormat in extensions 2023-12-27 19:46:34 -05:00
wandererfan 7236d7442a [TD]fix balloon visibility behaviour 2023-12-27 19:46:34 -05:00
Rexbas 96a60a53fd Gui: Set processed true when right mouse released and hasDragged in TinkerCAD style 2023-12-27 15:30:10 +01:00
Rexbas 4df39da276 Gui: Set processed true when right mouse released and hasPanned in OpenSCAD style 2023-12-27 15:29:57 +01:00
Max Wilfinger 72821eb513 Change the description of the default 'Toggle active object' command in the right click menu based on the current state of the selected object. 2023-12-27 09:10:30 +01:00
Rexbas 286ebec851 Gui: Only show context menu if not dragged in TinkerCAD navigation style 2023-12-26 22:03:02 +01:00
Rexbas 8588335c7f Gui: Show context menu on right click in OpenSCAD navigation style if not panned 2023-12-26 12:00:20 +01:00
pre-commit-ci[bot] 8596d4896f [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2023-12-25 22:45:02 +00:00
bgbsww 30fbbcf458 More delinting 2023-12-25 17:44:06 -05:00
Roy-043 1c7b35ff29 Merge pull request #11814 from Roy-043/Draft-improve-checkSpecialChars-in-DraftGui
Draft: improve checkSpecialChars in DraftGui.py
2023-12-25 21:30:18 +01:00
bgbsww 72e700ba75 Remote experimental PrintTo that doesn't work. 2023-12-24 17:34:19 -05:00
wandererfan c91a35961f [TD]mute dimension autocorrect warning 2023-12-24 12:27:25 -05:00
wandererfan e6517089df [TD]fix location of CV on rotated views 2023-12-24 12:27:25 -05:00
luzpaz 2fe19267df Update Fedora COPR freecad.spec from master to main branch
Issue #11619
2023-12-24 10:37:05 -03:00
wandererfan 5bd873c5c8 [TD]fix warning re catch on polymorphic class 2023-12-24 08:30:53 -05:00
wandererfan 43d8fa81f5 [TD]prevent fail during document restore 2023-12-24 08:30:53 -05:00
bgbsww 786702426e Missed cleanup 2023-12-23 08:20:34 -05:00
Tomas Pavlicek 8d51d78ce7 [TechDraw] Tree view update refactoring (#11815) 2023-12-23 08:06:58 -05:00
bgbsww fa890ee617 Remove mistaken file 2023-12-23 08:06:16 -05:00
Alex Neufeld 7a2be9e725 [TechDraw] italicize leaderline auto-horizontal preference checkbox (#11813)
... to correctly indicate that it only applies to new objects.
2023-12-23 08:02:12 -05:00
pre-commit-ci[bot] 5e6f36329a [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2023-12-23 12:29:47 +00:00
bgbsww 9e669e4d7a Attempt to mollify lint 2023-12-23 07:28:51 -05:00
pre-commit-ci[bot] 048aec830b [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2023-12-23 11:55:42 +00:00
bgbsww 50d7547630 Be clearer about minimal distance magic numbers 2023-12-23 06:54:43 -05:00
pre-commit-ci[bot] e344a2fe42 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2023-12-23 10:55:30 +00:00
bgbsww f81ce9d2e1 Cleanups per pesc0 review notes; general code tightening 2023-12-23 05:53:54 -05:00
Roy-043 1da2df1009 Draft: improve checkSpecialChars in DraftGui.py 2023-12-23 10:33:54 +01:00
pre-commit-ci[bot] 906826c1c8 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2023-12-22 21:17:17 +00:00
bgbsww cc08b827eb Use inheritance and namespaces to keep tests DRY 2023-12-22 16:16:20 -05:00
Roy-043 b9a9e1fd35 Gui: sWhatsThis for Std_MacroStepInto 2023-12-22 20:31:15 +01:00
luzpaz e9f9e441fc Fix typos 2023-12-22 13:35:23 +00:00
Tomas Pavlicek f3fa2ba9c9 [TechDraw] Implement proper selection of subitems (#11804) 2023-12-22 08:25:58 -05:00
Max Wilfinger 23ec682cbe Sketcher: adjust cursor icons to match toolbar icons (#11749)
* adjust cursor icons to match toolbar icons

* adjusting fillet cursor icon

* correct fillet icon

* updated other icons to be in line with toolbar icon

* oblong fixes

* Discord feedback adjusted

* added arc slot cursor icon

* Update of arc cursor icons. Added ellipse variants

* update line. added polygon variations. added bspline options.

* updated other icons to be in line

* changed line icons

* discord feedback implemented

* Updated to implement new icons

* sketcher: change carbon copy and external cursor icons to match toolbar icons

* added copy icon for XPM hardcoded

* added new copy pointer icon to resources

* Update to support multiple cursor icons per tool mode for spline, ellipse, fillet, rectangle.

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

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

* adjusted icon and if statements

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

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

* delete unnecessary icons

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2023-12-22 06:06:09 +01:00
WandererFan 1aba6376a2 Merge pull request #11806 from WandererFan/LinkDoubleTransform
[TD]prevent gp_GTrsf::Trsf() - non-orthogonal GTrsf
2023-12-21 20:37:40 -05:00
WandererFan 54c63d8b5a Merge pull request #11797 from edi271/PositionSectionView
[TD] New extended version of PositionSectionView tool.
2023-12-21 18:02:31 -05:00
wandererfan 18e62a731c [TD]prevent gp_GTrsf::Trsf() - non-orthogonal GTrsf 2023-12-21 17:32:16 -05:00
WandererFan 3d36dc4211 Merge pull request #11802 from WandererFan/LinkDoubleTransform
[TD]fix double transform for linked objects
2023-12-21 16:54:58 -05:00
bgbsww 4f384c41a2 First pass cleanup of test code 2023-12-21 14:34:37 -05:00
pre-commit-ci[bot] 1e42235a5d [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2023-12-21 17:06:33 +00:00
bgbsww e816fe5a30 Preliminary cpp tests for Part boolean operations 2023-12-21 11:45:34 -05:00
edi271 764963ba90 [TD] New version of PositionSectionView 2023-12-21 16:04:36 +01:00
edi271 67d12ec99a [TD] Connect PositionSectionView to TechDraw 2023-12-21 16:04:36 +01:00
edi271 f201f713cc [TD] Solve issue in MenuBar 2023-12-21 16:04:36 +01:00
edi271 6da64e0521 [TD]Remove PositionSectionView, solve Line Style issue 2023-12-21 16:04:36 +01:00
wandererfan 2a51d79afd [TD]fix double transform for linked objects 2023-12-21 09:46:09 -05:00
WandererFan 6854b6d8ac Merge pull request #11796 from WandererFan/HybridDimError
[TD]Fix Landmark Dimension #11783
2023-12-21 09:40:41 -05:00
Abdullah Tahiri 01207a499f Sketcher: Activate new icon for optional unified coincident constraint 2023-12-21 15:36:56 +01:00
wandererfan f9ea3bc072 [TD]fix Landmark dim with datum points 2023-12-20 19:33:00 -05:00
wandererfan 305e678c88 [TD]fix vertex-edge dimension 2023-12-20 19:33:00 -05:00
Syres916 eccd8c4bbe Merge branch 'main' into PD_Fix_Combobox_Issue 2023-12-20 22:44:31 +00:00
Max Wilfinger ab386dcc15 stroke color 2023-12-20 21:41:20 +01:00
Max Wilfinger 2476b2af28 icon overhaul for the sketcher workbench to unify the appearance 2023-12-20 21:41:20 +01:00
Florian Foinant-Willig 482b45dadc Sketcher: Fix Point to Line Distance 2023-12-20 20:03:13 +01:00
Syres916 41d9c4bfe5 [PartDesign] Remove unwanted print statement 2023-12-20 18:51:40 +00:00
Syres916 8ba8375dbb [PartDesign] Add English references at end of table for clarity 2023-12-20 18:41:28 +00:00
Syres916 0de4c053a6 [PartDesign] Sprocket fix bug with translated references 2023-12-20 18:30:49 +00:00
pre-commit-ci[bot] 66f172ab4b [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2023-12-20 09:27:37 +01:00
Yorik van Havre a679c8b818 merged crowdin translations 2023-12-20 09:27:37 +01:00
Yorik van Havre f78959fab3 Updated ts files 2023-12-20 09:27:37 +01:00
Paddle 1526563791 Rotate DSH : Polar pattern tool for sketcher. 2023-12-20 06:59:47 +01:00
Paddle 00423deaa2 CommandSketcherTools : add local getSketchObject to avoid copy paste. 2023-12-20 06:59:47 +01:00
Paddle e685918ea8 PythonConverter: Extend for Hyperbola/Parabola/BSpline 2023-12-20 06:59:47 +01:00
Abdullah Tahiri 81d59abfe4 Sketcher: DSH Framework fix lints 2023-12-20 06:59:47 +01:00
Paddle c1fa4c705f Sketcher : Tool parameter : Fix U / J keys when widget spinboxes has focus. 2023-12-20 06:59:47 +01:00
Paddle 6b2d6fc8eb GeometryFacade : Add static getInternalType and setInternalType 2023-12-20 06:59:47 +01:00
Paddle c66661124b Sketcher: Add support for adding internal alignment constraints independently 2023-12-20 06:59:47 +01:00
Paddle 8293ade024 Remove the use of BRepOffsetAPI_MakeOffsetFix and use OCC BRepOffsetAPI_MakeOffset directly.
Fixing one line offset.
2023-12-20 06:17:16 +01:00
hasecilu 04dc68218b Add ':' to TODOs to activate highlight
Some linters have a special highlightning on "TODO:" comments.
2023-12-19 17:01:17 -06:00
hasecilu af6477205b [Base/Units] Change strings' description
Affect strings presented to the user on the combobox to select unit system.

- The symbol to represent angles on "degree" unit is '°'
- Change imperial velocity to "ft/s" to enforce the use of 's' symnbol as second
2023-12-19 16:35:22 -06:00
Yorik van Havre 976cd09b8f Restored deleted explanatory code 2023-12-19 14:26:05 +01:00
mos eb4214da4c Removed redundant float casts
fix cast promotions
2023-12-19 14:26:05 +01:00
bgbsww d562528455 Typo fix 2023-12-19 11:17:53 +01:00
bgbsww 93f1b019ba Defer to realthunder fix 2023-12-19 11:17:53 +01:00
bgbsww 4de4b667bc Don't override child visibility in Arch BuildingPart or GroupExtensions 2023-12-19 11:17:53 +01:00
Jacob Oursland 2ca6ac4a23 CI: add pipefail to additional workflow actions. 2023-12-18 19:28:06 -03:00
Jacob Oursland b722790bf6 Conda: Use python 3.11.*, not 3.11 which is 3.11.0. 2023-12-18 13:23:08 -08:00
Jacob Oursland a358ff1b99 Conda: use --no-prune when setting up the devenv. 2023-12-18 13:08:42 -08:00
Abdullah Tahiri 759930e3aa Sketcher: Move lint comment to right position 2023-12-18 10:55:16 -06:00
Kacper Donat a8f0f5964e Gui: Allow ActionGroups to not remember choice
This is fix to issue mentioned in the #11717, on discord and forum that
for smart dimension tool the chosen tool should not be remembered. This
will ensure that the "smart" tool is always visible on the toolbar and
other tools are accessible in case that such explicit choice is needed.
2023-12-18 17:51:48 +01:00
mosfet80 ac67cd225d Update .pre-commit-config.yaml
4.5.0 - 2023-10-07
Features
requirements-txt-fixer: also sort constraints.txt by default.
#857 PR by @lev-blit.
#830 issue by @PLPeeters.
debug-statements: add bpdb debugger.
#942 PR by @mwip.
#941 issue by @mwip.
Fixes
file-contents-sorter: fix sorting an empty file.
#944 PR by @RoelAdriaans.
#935 issue by @paduszyk.
double-quote-string-fixer: don't rewrite inside f-strings in 3.12+.
#973 PR by @asottile.
#971 issue by @XuehaiPan.
Migrating
now requires python >= 3.8.
#926 PR by @asottile.
#927 PR by @asottile.
4.4.0 - 2022-11-23
Features
forbid-submodules: new hook which outright bans submodules.
#815 PR by @asottile.
#707 issue by @ChiefGokhlayeh.
4.3.0 - 2022-06-07
Features
check-executables-have-shebangs: use git config core.fileMode to determine if it should query git.
#730 PR by @Kurt-von-Laven.
name-tests-test: add --pytest-test-first test convention.
#779 PR by @asottile.
Fixes
check-shebang-scripts-are-executable: update windows instructions.
#774 PR by @mdeweerd.
#770 issue by @mdeweerd.
check-toml: use stdlib tomllib when available.
#771 PR by @DanielNoord.
#755 issue by @sognetic.
check-added-large-files: don't run on non-file stages.
#778 PR by @asottile.
#777 issue by @skyj.
4.2.0 - 2022-04-06
Features
name-tests-test: updated display text.
#713 PR by @asottile.
check-docstring-first: make output more parsable.
#748 PR by @asottile.
check-merge-conflict: make output more parsable.
#748 PR by @asottile.
debug-statements: make output more parsable.
#748 PR by @asottile.
Fixes
check-merge-conflict: fix detection of ====== conflict marker on windows.
#748 PR by @asottile.
Updating
Drop python<3.7.
#719 PR by @asottile.
Changed default branch from master to main.
#744 PR by @asottile.
4.1.0 - 2021-12-22
Features
debug-statements: add pdbr debugger.
#614 PR by @cansarigol.
detect-private-key: add detection for additional key types.
#658 PR by @ljmf00.
check-executables-have-shebangs: improve messaging on windows.
#689 PR by @pujitm.
#686 issue by @jmerdich.
check-added-large-files: support --enforce-all with git-lfs.
#674 PR by @amartani.
#560 issue by @jeremy-coulon.
Fixes
check-case-conflict: improve performance.
#626 PR by @guykisel.
#625 issue by @guykisel.
forbid-new-submodules: fix false-negatives for pre-push.
#619 PR by @m-khvoinitsky.
#609 issue by @m-khvoinitsky.
check-merge-conflict: fix execution in git worktrees.
#662 PR by @errsyn.
#638 issue by @daschuer.
Misc.
Normalize case of hook names and descriptions.
#671 PR by @dennisroche.
#673 PR by @revolter.
4.0.1 - 2021-05-16
Fixes
check-shebang-scripts-are-executable fix entry point.
#602 issue by @Person-93.
#603 PR by @scop.
4.0.0 - 2021-05-14
Features
check-json: report duplicate keys.
#558 PR by @AdityaKhursale.
#554 issue by @adamchainz.
no-commit-to-branch: add main to default blocked branches.
#565 PR by @ndevenish.
check-case-conflict: check conflicts in directory names as well.
#575 PR by @slsyy.
#70 issue by @andyjack.
check-vcs-permalinks: forbid other branch names.
#582 PR by @jack1142.
#581 issue by @jack1142.
check-shebang-scripts-are-executable: new hook which ensures shebang'd scripts are executable.
#545 PR by @scop.
Fixes
check-executables-have-shebangs: Short circuit shebang lookup on windows.
#544 PR by @scop.
requirements-txt-fixer: Fix comments which have indentation
#549 PR by @greshilov.
#548 issue by @greshilov.
pretty-format-json: write to stdout using UTF-8 encoding.
#571 PR by @jack1142.
#570 issue by @jack1142.
Use more inclusive language.
#599 PR by @asottile.
Breaking changes
Remove deprecated hooks: flake8, pyflakes, autopep8-wrapper.
#597 PR by @asottile.
2023-12-18 10:42:59 -06:00
FEA-eng f5a7a9739f Support for stress tensor components in FEM stress linearization (#11724)
* Stress components in linearization

* [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>
2023-12-18 10:42:04 -06:00
Zheng, Lei 74a824cc47 Gui: fix group visibility toggle
Fixes #9277
2023-12-18 17:20:45 +01:00
luzpaz c67562f7c3 Docs: minor tweek to GeometryDoubleExtensionPy.xml
Follow-up to #11709
2023-12-18 07:42:10 -06:00
luzpaz 48c8116948 Docs: minor tweek to GeometryBoolExtensionPy.xml
Capitalize first letter.
2023-12-18 07:41:53 -06:00
Jacob Oursland bd6f7acc77 CI: set pipefail Linux build action. 2023-12-18 05:25:16 -03:00
Stanislav Meduna 105463a1d9 fix compatibility with current Mac 3Dconnexion driver 2023-12-18 00:15:52 -06:00
WandererFan 625a4212cc Merge pull request #11751 from WandererFan/TemplateFieldUnderline
[TD]Template field underline
2023-12-17 14:43:02 -05:00
Florian Foinant-Willig df32ad2d38 Fix isCircleOrArc usage 2023-12-17 16:01:29 +01:00
Florian Foinant-Willig 7bc493acb5 Fix Sketcher::getRadiusCenterCircleArc(circle) 2023-12-17 16:01:29 +01:00
Abdullah Tahiri 4586f71d86 Refactor ViewProvider move constraint code 2023-12-17 16:01:29 +01:00
Abdullah Tahiri 4d860203fc Sketcher: Utils/CommandConstraints/EditModeConstraintCoinManager - refactor duplicated code 2023-12-17 16:01:29 +01:00
Abdullah Tahiri e29617c3fb Sketcher: Redraft circle/arc to circle/arc constraint command 2023-12-17 16:01:29 +01:00
Abdullah Tahiri dac70b6416 Sketch: Distance - fix uninit pointers and scope 2023-12-17 16:01:29 +01:00
Florian Foinant-Willig d2a579bdc6 Sketcher: Extend distance constraint to arcs 2023-12-17 16:01:29 +01:00
Florian Foinant-Willig 94eaa7db78 Sketcher: Arc to arc or circle distance constraint 2023-12-17 16:01:29 +01:00
wandererfan 091d9c34af [TD]add properties for detail highlight and matting 2023-12-17 08:37:19 -05:00
wandererfan 26a72236f9 [TD]template green squares to underline 2023-12-17 08:37:19 -05:00
Zheng, Lei 50fc8e86c7 PD: fix creating new body in active part
Add to active App::Part before setting active body in order to obtain
correct object path when setting active body

Fixes #10371
2023-12-17 21:28:37 +08:00
Zheng, Lei e478ea7d77 Gui: deduce object path when setting active object 2023-12-17 21:27:25 +08:00
Syres916 eaf1f88d63 [TechDraw] Correct typo in folder name 2023-12-16 23:01:55 -03:00
Roy-043 33d9d2c22f Merge pull request #11744 from Roy-043/Draft-intermediate-fix-for-get_normal-check-if-3D-view-exists
Draft: intermediate fix for get_normal: check if 3D view exists
2023-12-16 21:57:20 +01:00
Roy-043 5f07c7aacd Draft: intermediate fix for get_normal: check if 3D view exists
This avoids issues with TechDraw views of Arch models if there is no active 3D view.
2023-12-16 20:30:45 +01:00
Roy-043 ed10fe216d Merge pull request #11738 from Roy-043/Draft-implement-new-get_param-functions-step-6
Draft: implement new get_param functions (step 6)
2023-12-15 18:52:29 +01:00
Roy-043 1fa7eb76c6 Draft: implement new get_param functions (step 6)
See #11677

Added a parameter to the dictionary. The get_parameter and set_parameter functions now print a warning if a parameter is not found.
2023-12-15 14:59:59 +01:00
Roy-043 c2e16f2525 Draft: implement new get_param functions (step 5)
See #11677

Last bits...
2023-12-14 15:53:45 +01:00
pre-commit-ci[bot] cba09aac50 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2023-12-14 15:47:56 +01:00
Yorik van Havre 65f5fd350f Fix DXF importer wrongly prioritizes the MEASUREMENT variable 2023-12-14 15:47:56 +01:00
mac-the-bike 7172d2a164 Merge branch 'main' into erase-version-4 2023-12-14 13:33:42 +00:00
Kevin Martin abd411f934 Add color on DXF import, refactor code
Colors as assigned to imported drawing entities if they are not merged
with other entities.
The code has been refactored to remove much duplication in reading of
attributes.
The code gives brief messages on the Python console about unsupported
DXF festures and also issues some new errors.
There is no support yet for making colors 1-9 and 250-255 contrast with
the creeen background color. Colors are generated by code rather than a
lookup table; this code can eventually modify the colors it generates to
contrast with a specific background color.
2023-12-14 10:15:17 +01:00
Kevin Martin 5ac40155b0 Remove the "legacy only" from the import colors option 2023-12-14 10:15:17 +01:00
Kevin Martin fd5b4076b8 Add hooks so Gui classes can be seen by DXF importer 2023-12-14 10:15:17 +01:00
Roy-043 e8ada53c5c Merge pull request #11722 from Roy-043/Draft-implement-new-get_param-functions-step-4
Draft: implement new get_param functions (step 4)
2023-12-13 21:55:45 +01:00
Roy-043 d0a87b24d9 Draft: implement new get_param functions (step 4)
See #11677
2023-12-13 19:39:35 +01:00
Roy-043 77305e2dfe Merge pull request #11715 from Roy-043/Draft-implement-new-get_param-functions-step-3
Draft: implement new get_param functions (step 3)
2023-12-13 16:57:15 +01:00
Roy-043 17e5ef969c Moved another import 2023-12-13 16:32:15 +01:00
Roy-043 3e9b037c44 Moved an import to avoid circular import 2023-12-13 09:59:08 +01:00
Roy-043 12444a1d6b Draft: implement new get_param functions (step 3)
See #11677
2023-12-12 20:20:03 +01:00
Roy-043 1e212c32bc Merge pull request #11711 from Roy-043/Draft-implement-new-get_param-functions-step-2
Draft: implement new get_param functions (step 2)
2023-12-12 17:04:14 +01:00
Roy-043 3d9c520b0d Draft: implement new get_param functions (step 2)
See #11677
2023-12-12 14:48:09 +01:00
Roy-043 9a692edd1d Merge pull request #11703 from Roy-043/Draft-implement-new-get_param-functions-step-1
Draft: implement new get_param functions (step 1)
2023-12-12 14:28:29 +01:00
WandererFan 0649e38bff Merge pull request #11705 from pavltom/techdraw_scrubedges_fix
[TechDraw] Fix scrubEdges() OCC error with single input edge
2023-12-11 19:30:46 -05:00
pavltom fb2d5a6a83 [TechDraw] Fix scrubEdges() OCC error with single input edge 2023-12-11 23:40:33 +01:00
hlorus e3b1fe5829 Simplify dragging of App::AnnotationLabel (#11602)
* ViewProviderAnnotationn: Always allow dragging

Removes the editmode

* ViewProviderAnnotation: Use the label as transformation handle

* ViewProviderAnnotationn: Always allow dragging

Removes the editmode

* ViewProviderAnnotation: Use the label as transformation handle

* ViewProviderAnnotation: Hide dragger feedback during translation

---------

Co-authored-by: WandererFan <WandererFan@gmail.com>
2023-12-11 14:18:27 -05:00
Roy-043 56d73f39ac Draft: implement new get_param functions (step 1)
See #11677
2023-12-11 19:31:34 +01:00
sliptonic 1066bb54ce Merge pull request #11693 from RohanMishra315/patch-6
Update ShapeFix_FixSmallFacePy.xml
2023-12-11 11:23:59 -06:00
Roy-043 dd7715036d Gui: MarkerBitmaps fix DIAMOND_FILLED_20_20
Also made DIAMOND_FILLED_25_25 sharper.

See: https://github.com/FreeCAD/FreeCAD/pull/11524#issuecomment-1847906082
2023-12-11 18:23:41 +01:00
sliptonic b2aea637f4 Merge pull request #11683 from chennes/fixTDMissingBOPAlgoBuilder
Part: Add BOPAlgo_Builder.hxx to OpenCascadeAll.h
2023-12-11 11:22:17 -06:00
sliptonic 249bca2ef4 Merge pull request #11673 from bgbsww/bgbsww-patch-20
Tweak section tolerance to make base layer of paths work again
2023-12-11 11:12:31 -06:00
IMO 256820ac97 bugfix: exit() is not async-signal-safe! 2023-12-11 18:10:41 +01:00
sliptonic 4064afdb8d Merge pull request #11670 from mwganson/macroexecute
[Core][MacroExecuteDialog]File chooser should be folder chooser for s…
2023-12-11 11:10:28 -06:00
bgbsww 851e78753b Add missing initialization of MirrorPlane on non sketch objects (#11638) 2023-12-11 11:07:03 -06:00
sliptonic 3f33cec4ee Merge pull request #11633 from mwganson/partmirroring
[Part::Mirror] fix bug where selection gate was not getting removed o…
2023-12-11 11:05:56 -06:00
Adrián Insaurralde Avalos b0fdc497ad Merge pull request #11599 from oursland/ci-update
CI: Add CMake Presets, Ubuntu-conda, Windows-conda, and macOS-conda.
2023-12-11 14:01:04 -03:00
Rohan Mishra e3bb0afd34 Update ShapeFix_WirePy.xml
Fix the issue and Update ShapeFix_WirePy.xml.
2023-12-11 17:43:46 +01:00
Rohan Mishra 21e992932d Update ShapeFix_WirePy.xml
Issues #11184

Updated the docs of ShapeFix_WirePy.xml
2023-12-11 17:43:46 +01:00
André Caldas 560898907b Avoids using getNameInDocument() to test if DocumentObject is attached to a Document.
This patch substitutes by isAttachedToDocument() (almost) everywhere where
getNameInDocument() is used for this purpose.

The very few places not touched by this patch demand a (just a little) less trivial change.
When we change the returning type of getNameInDocument() to std::string,
those places will be easily found, because they shall generate a compiler error
(converting std::string to bool).

Rationale:
The fact that getNameInDocument() return nullptr to indicate
that the object is not attached to a document is responsible for lots of bugs
where the developer does not check for "nullptr".

The idea is to eliminate all those uses of getNameInDocument() and, in the near future,
make getNameInDocument() return always a valid std::string.
2023-12-11 17:37:58 +01:00
Roy-043 1b53610b8e Merge pull request #11702 from Roy-043/Draft-increase-DXF-Python-library-version-to-1.42
Draft: increase DXF Python library version to 1.42
2023-12-11 13:02:10 +01:00
Roy-043 4ed43a2458 Draft: increase DXF Python library version to 1.42
See: https://github.com/yorikvanhavre/Draft-dxf-importer/pull/28
2023-12-11 12:40:47 +01:00
Roy-043 4262da5fc1 Draft: new get_param function with defaults
This PR introduces a new get_param function. For its default values it checks a dictionary largely filled by reading the preferences UI files. The goal is to have all defaults in one place to avoid inconsistencies. The dictionary is created once and then stored in a global variable.

Once merged this function will be implemented in Draft and Arch. The get_param function in utils.py will become obsolete.

Related issue: #10176
2023-12-11 10:18:50 +01:00
Roy-043 ac7a409d1d Merge pull request #11696 from Roy-043/Draft-minor-improvement-to-prefs-layouts
Draft: minor improvement to prefs layouts
2023-12-10 15:44:22 +01:00
Roy-043 839bf41f1a Draft: minor improvement to prefs layouts 2023-12-10 15:22:43 +01:00
Roy-043 0e5d2c46f0 Merge pull request #11694 from Roy-043/Draft-Introduce-DefaultAnnoScaleMultiplier-parameter
Draft: Introduce DefaultAnnoScaleMultiplier parameter
2023-12-09 19:40:53 +01:00
Roy-043 56b8f76cfb Draft: Introduce DefaultAnnoScaleMultiplier parameter
This parameter replaces DraftAnnotationScale.

The parameter can be changed in the preferences and with the Draft_SetStyle command.
2023-12-09 19:17:36 +01:00
Rohan Mishra e89025c413 Update ShapeFix_FixSmallFacePy.xml
Updated the docs of ShapeFix_FixSmallFacePy.xml
2023-12-09 22:24:40 +05:30
Abdullah Tahiri 05585a6e73 NotificationArea: Fix Lints 2023-12-09 11:06:04 +01:00
Abdullah Tahiri 719986c62a Notification Area: Group same message under a single line
=========================================================

issue #11183

Feature request.

Instead of repeating over and over again the same message, indicate the number of consecutive repetitions in a single message.
2023-12-09 11:06:04 +01:00
Abdullah Tahiri 14393bf20f App: PropertyStandard - make developer warning only for the developer
=====================================================================

Issue #11183

- The message is not useful for the user in terms of content.
- The user can do nothing about it, but move on.
2023-12-09 11:06:04 +01:00
xtemp09 ee7f0911ef [Sketcher] Fix crash described in #10975 2023-12-09 11:05:16 +01:00
Roy-043 dc7fe42733 Merge pull request #11688 from Roy-043/Draft-use-MarkerSize-for-snap-and-tracker-markers
Draft: use MarkerSize for snap and tracker markers
2023-12-08 21:39:21 +01:00
Roy-043 a6cd89f746 Draft: use MarkerSize for snap and tracker markers 2023-12-08 21:17:34 +01:00
Roy-043 32a0e0c6ae Merge pull request #11685 from Roy-043/Draft-remove-maxSnap-parameter
Draft: remove maxSnap parameter
2023-12-08 13:49:37 +01:00
Roy-043 c0e774f15c Draft: remove maxSnap parameter
It is superfluous. The maxSnapEdges parameter can be set to zero.
2023-12-08 12:06:36 +01:00
Chris Hennes 2008436cc9 Part: Add BOPAlgo_Builder.hxx to OpenCascadeAll.h
Needed by TechDraw DrawProjectSplit
2023-12-07 19:56:06 -06:00
Syres916 5c2eedbd14 [TechDraw] Add missing quotation marks 2023-12-07 19:55:01 -05:00
Syres916 b0e43fe759 [TechDraw] Fix Lint Warning 2023-12-07 19:55:01 -05:00
Syres916 60066382fc [TechDraw] Fix Lint Warnings 2023-12-07 19:55:01 -05:00
Syres916 c81435c615 [TechDraw] Collect doc info to fill template fields 2023-12-07 19:55:01 -05:00
pavltom ba236d0b94 [TechDraw] Use OCC to split intersecting edges 2023-12-07 10:14:30 -05:00
edi271 0c0c3d0e86 [TD] Improve AxoLengthDimension tool 2023-12-07 09:24:09 -05:00
edi271 4efa774f12 [TD] Extend utils by two more functions 2023-12-07 09:24:09 -05:00
bgbsww b32f089bff Tweak section tolerance to make base layer of paths work again 2023-12-06 19:32:26 -05:00
luzpaz 855aa453a0 Fix typos 2023-12-06 14:53:48 -05:00
wandererfan 1593fe5247 [TD]fix line standard drop downs 2023-12-06 14:52:54 -05:00
wandererfan b450a62ef5 [TD]fix section scale
- scale field in ui was QuantitySpinBox which is wrong for
  dimensionless number.
- section view scale was being set at only GlobalDecimals
  precision.
2023-12-06 14:52:54 -05:00
mwganson 795613e6cc [Core][MacroExecuteDialog]File chooser should be folder chooser for selecting user macro directory 2023-12-06 12:34:13 -06:00
David Carter 09f67f2f6b Material: Material editor enhancements
Continues the work of the material subsystem improvements.

This merge covers the continued development of the material editor. The
primary improvements are the addition of new data types, a new
appearance preview UI, and changes in the array data types.

New data types were added to support more advanced workflows, such as
the Render Workbench.The Image datatype allows the material to embed
the image in the card instead of pointing to an image in an external
file. Multi-buyte strings span multiple lines as the name implies.
It preserves formatting accross those lines. Also several list types
are now supported, with the primary difference being the editors.
List is a list of strings, FileList is a list of file path names, and
ImageList is a list of embedded images.

For the appearance preview, the UI now uses the same Coin library as
is used in the documents, meaning the preview will look exactly the
same as the material will be shown in the documents.

The array data types are now more complete. The default value wasn't
being used as originially envisioned and was tehrefore removed. For
3D arrays, the Python API was implemented.

There were a lot of code clean ups. This involved removing logging
statements used for debugging during development, reduction of lint
warnings, and code refactoring.

The editor can automatically convert from previous format files to the
current format. This has been extended to material files generated by
the Render WB. Old format files are displayed in the editor with a
warning icon. Selecting one will require saving the file in the new
format before it can be used.
2023-12-06 08:48:34 -06:00
edi271 008fc3297a [TD] Connect to TechDraw 2023-12-06 08:50:59 -05:00
edi271 ec6e0de662 [TD] New command and task panel 2023-12-06 08:50:59 -05:00
edi271 7f17eaaec9 [TD] Extended utility tools 2023-12-06 08:50:59 -05:00
edi271 d75e7fbcf3 [TD] Icon and dialog file 2023-12-06 08:50:59 -05:00
Roy-043 cbdb8b6aeb Merge pull request #11663 from Roy-043/Draft-remove-the-Draft_ToggleContinueMode-command
Draft: remove the Draft_ToggleContinueMode command
2023-12-05 23:30:48 +01:00
Roy-043 640bd5cf26 Draft: remove the Draft_ToggleContinueMode command
Rarely used as Continue mode can also be checked in the task panel of Draft commands.
2023-12-05 22:31:44 +01:00
Syres916 3eed1107c8 [Techdraw] Add missing Line Styles to CMakeLists.txt 2023-12-05 09:37:03 -05:00
Roy-043 09f7446ec4 Sketcher: Sketcher_Offset: menu text and shortcut
* Menu text "Offset geometry" (singular).
* Shortcut "Z, O" was already in use. Changed to "Z, T".
2023-12-05 15:25:52 +01:00
bgbsww a1c08dbf43 Move the unit schema into Project Information and remove all Project Unit System code (#11266)
* Add unit system to Project Information and store with document.

* Remove the project unit system

* Restore correct document activation signalling to fix test fail

* Remove commented out dead lines

* Restore ignore option for project unit schemas

* Whitespace fix

* Refresh after changing units

* Remove field label

* Property editor changes applied to unit system
2023-12-04 13:04:53 -06:00
mwganson 4dddfa79fb [Part::Mirror] fix bug where selection gate was not getting removed on cancel button clicked 2023-12-04 12:40:10 -06:00
sliptonic 2214819b86 Merge pull request #11499 from Syres916/Sanity_CycleTime_Fix
[Path] Sanity, change default zero CycleTime from float to string
2023-12-04 12:00:15 -06:00
Jacob Oursland f6465f5c1f CMake: permit ccache with conda. 2023-12-04 10:15:08 -07:00
Jacob Oursland 1304f48fd6 CI: Use Ninja build on Ubuntu 20.04. 2023-12-04 10:15:08 -07:00
Jacob Oursland 6501e17461 CI: Reorder Ubuntu 20.04 packages in alphabetical order. 2023-12-04 10:15:08 -07:00
Jacob Oursland 23955bf6bb CI: Enable C++ unit tests on Windows on Conda. 2023-12-04 10:15:08 -07:00
Jacob Oursland 4c596a64ec CI: Add macOS. 2023-12-04 10:15:08 -07:00
Jacob Oursland d48dec1c0a CI: Add conda builds. 2023-12-04 10:15:08 -07:00
Jacob Oursland 6011d3fb0a CI: fix indentation. 2023-12-04 10:15:08 -07:00
Jacob Oursland e3bae12819 CI: Use CMake presets. 2023-12-04 10:15:08 -07:00
Jacob Oursland 1e05aa9bcf CI: Remove unnecessary Ubuntu 22.04 build. 2023-12-04 10:15:08 -07:00
Jacob Oursland 6f59308cb7 conda: Add ccache. 2023-12-04 10:15:08 -07:00
Jacob Oursland db8b9fc0ba conda: use double quotes for terminal compatibility. 2023-12-04 10:15:08 -07:00
Jacob Oursland 4e020c14a3 CMake: Use /Z7 instead of /Zi when ccache is used. 2023-12-04 10:15:08 -07:00
Jacob Oursland 7573770b0c CMake: set FREECAD_USE_PYBIND11 on conda builds, not all. 2023-12-04 10:15:08 -07:00
Kacper Donat cc45f48912 Gui: Cap starting height of Preferences dialog
This commit ensures that preference windows does not start taller than available geometry.
2023-12-04 11:03:35 -06:00
wmayer d9f680f901 Gui: fix several lint warnings 2023-12-04 10:53:51 -06:00
wmayer 0d079c885c Gui: refactor FCSphereSheetProjector 2023-12-04 10:53:51 -06:00
mosfet80 eda7e134ea casts clean (#11548)
* remove unecessary casts

clean unused code

revert  example py code

* [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>
2023-12-04 10:51:36 -06:00
Bas Ruigrok 9e2577bce7 Gui: Add a separate checkbox for enabling spinning animations (#11534)
* Gui: Create group box for animation preferences

* Gui: Add spinning animation checkbox

* Gui: Implement isAnimating() for NavigationAnimator

* Gui: No need to enable animations in DemoMode

The spin animation is played regardless of the user preference and does not need to be enabled before starting the spin animation

* Gui: Change comment
2023-12-04 10:50:29 -06:00
Chris Hennes 6c3e002be5 Merge pull request #11507 from Ondsel-Development/constr_primitives
[Sketcher] Improve angle & radius constraint rendering
2023-12-04 10:48:20 -06:00
Chris Hennes fe0f96ca44 Merge pull request #11494 from Ondsel-Development/Coincident
[Sketcher] Introduce an optional unified version of coincident and pointOnObject
2023-12-04 10:46:21 -06:00
Max Wilfinger a1f0674020 Renaming FEM mesh region to mesh refinement (only Users POV / tooltips) (#11489)
* project to document on information, merge, util

* rename MehRegion to MeshRefinement (tooltip/user PoV only)
2023-12-04 10:41:04 -06:00
Ajinkya Dahale f66261b598 [PD] Set up-to-face when opening revolution/grove task box 2023-12-04 13:40:31 -03:00
Ajinkya Dahale 8023c0595d [PD] Fix wrong mode options when opening existing revolution
Only the "Dimension" options showed regardless of what mode was selected.
2023-12-04 13:40:31 -03:00
Abdullah Tahiri 779af0aa2f Sketcher: Solver - Remove outdated request for reporting 2023-12-04 16:32:23 +01:00
MisterMaker 650521fb53 [Stylesheets] Fix for new settings menu (#11609)
It can probably use some more tweaks but this way it is bug free.
2023-12-04 11:44:05 -03:00
Roy-043 12211aacbb Draft: menu texts to sentence case 2023-12-04 10:44:59 +01:00
Syres916 fc38f35220 [Start] Fix regression from https://github.com/FreeCAD/FreeCAD/commit/d565796f96711a1ffa74ad7972ce2a591a2b84e5
for runtime error see https://github.com/FreeCAD/FreeCAD/pull/11513#issuecomment-1837300296
2023-12-04 10:43:37 +01:00
Jacob Oursland b1f2aae6fa VSCode: Change setup conda environment task type to process. (#11556) 2023-12-04 01:07:32 -03:00
Jacob Oursland 9bf922e116 conda: Remove conda-build and conda-smithy. Add git. (#11597)
* conda: Remove conda-build and conda-smithy.

* conda: Add git.
2023-12-03 18:26:35 -03:00
wmayer 8f3fcd540a MSYS: fix CMake configure and build for MinGW 2023-12-03 18:02:07 +01:00
wandererfan 9cb4745f38 [TD]handle loose geometry via HLR 2023-12-03 08:55:59 -05:00
Rexbas a3aeed8c03 Part: Use vector.data() to get data pointer 2023-12-03 12:35:15 +01:00
Rexbas 2d4409f710 Part: Use materialIndex.setValuesPointer() only if the new values are different 2023-12-03 12:35:15 +01:00
Roy-043 6ea942afc1 Merge pull request #11610 from Roy-043/Draft-update-Draft_ApplyStyle
Draft: update Draft_ApplyStyle
2023-12-03 11:25:27 +01:00
wandererfan dc063eabec [TD]fix fix hidden line style 2023-12-02 13:55:08 -05:00
wandererfan 9e7f21fcb2 [TD]fix line numbering in preferences
- resolve conflict between comboBox currentIndex [0,n] and
  line numbering [1, n]
2023-12-02 13:55:08 -05:00
pavltom 4ea5c2b611 [TechDraw] Use OCC to compute intersections - drop limits from hint 2023-12-02 13:54:37 -05:00
pavltom b26b83dfee [TechDraw] Use OCC to compute intersections of any types of curves 2023-12-02 13:54:37 -05:00
wmayer 1245c3f3b2 Python: deprecated aliases have been removed in Py 3.12 2023-12-02 14:45:55 +01:00
Roy-043 b4c3a0d963 Draft: update Draft_ApplyStyle
The command now applies all style properties from `utils.get_default_annotation_style()` and `utils.get_default_shape_style()`.

Additionally: minor improvements to gui_setstyle.py.
2023-12-02 13:11:08 +01:00
wandererfan 8f17842974 [TD]fix errors in MS CI
- apparently the "or" alternative to "||" is not supported
  by MS but is part of the c++ specification:
  https://en.cppreference.com/w/cpp/language/operator_alternative

- also missing TechDrawExport
2023-12-01 11:27:29 -05:00
wandererfan 762e1b53ff [TD]Standard Line Styles - Gui components 2023-12-01 11:27:29 -05:00
wandererfan b64fd9ac03 [TD]Standard Line Styles - data files 2023-12-01 11:27:29 -05:00
wandererfan 8a7e8effb3 [TD]Standard Line Styles - App components 2023-12-01 11:27:29 -05:00
bgbsww a4db18af56 Default freenet to true for sweep to fix rendering bug 2023-12-01 14:02:49 +01:00
Roy-043 36b4ebe943 Merge pull request #11593 from Roy-043/Draft-update-Draft_SetStyle
Draft: update Draft_SetStyle
2023-12-01 13:49:09 +01:00
bdieterm ce41c0c391 Gui: fix partially initialized default transparency 2023-12-01 12:36:31 +01:00
Kacper Donat 2914938c72 Gui: Add ability to easily lock Toolbars from UI
This adds the Std_ToggleToolBarLock action mentioned in #4992. It is
exposed in the context menu of toolbar and also in the view -> toolbars
app menu.
2023-12-01 12:13:43 +01:00
Jacob Oursland 0e9d5914cb Do not use pthreads in gtest with MSVC compilers. (#11584) 2023-11-30 18:02:11 -03:00
Roy-043 92d69c9641 Draft: update Draft_SetStyle
* Added handling of DefaultShapeVertexColor, DefaultShapePointSize, DefaultAnnoLineColor and DefaultAnnoLineWidth preferences.
* Rearranged the task panel.

Additionally the DefaultDrawStyle and DefaultDisplayMode preferences are now applied by format_object in gui_utils.py.
2023-11-30 21:19:48 +01:00
wmayer 391d08e6d5 Gui: simplify Application::sGetMarkerIndex 2023-11-30 15:26:43 +01:00
luzpaz faef0c6f27 Fix various typos 2023-11-30 14:58:06 +01:00
wmayer d529193f75 Part: use BRepTools::OuterWire to get outer wire of a face
In the past ShapeAnalysis::OuterWire() was used that may fail to determine the correct outer wire.

Forum thread: https://forum.freecad.org/viewtopic.php?t=83122
2023-11-30 12:41:49 +01:00
Roy-043 9b19b66d90 Draft: implement DefaultAnnoLineWidth and DefaultAnnoLineColor prefs
The format_object function in gui_utils.py still requires some work (in connection with the Draft_SetStyle command). This will be done later.
2023-11-30 09:45:19 +01:00
Roy-043 4755086911 Draft: Revised preference ui files
* Removed DefaultAnnoDisplayMode. This will become a fine-tuning preference.
* Removed HatchPatternResolution as it was not used.
* Added DefaultAnnoLineColor and DefaultAnnoLineWidth. These will be implemented in other parts of the Draft code in later PRs.
2023-11-30 09:44:05 +01:00
Roy-043 6a2da1e005 Draft: use param observer to update tray 2023-11-30 09:41:45 +01:00
bgbsww 94ca51b779 PartDesign: Fix #9377 - issue with accuracy in AdditiveHelix (#11312)
* Correct precision issue in PartDesign::AdditiveHelix

* Simplify getting the end wires

* Remove extraneous loop per @FlachyJoe

* Switch to using mkPS.Shape per @FlachyJoe

* Incorporate guarded efficiency improvement
2023-11-29 21:26:00 -03:00
Roy-043 6c015072eb Draft: implement DefaultAnnoLineWidth and DefaultAnnoLineColor prefs
The format_object function in gui_utils.py still requires some work (in connection with the Draft_SetStyle command). This will be done later.
2023-11-29 23:06:17 +01:00
Roy-043 08308ada8a Draft: Revised preference ui files
* Removed DefaultAnnoDisplayMode. This will become a fine-tuning preference.
* Removed HatchPatternResolution as it was not used.
* Added DefaultAnnoLineColor and DefaultAnnoLineWidth. These will be implemented in other parts of the Draft code in later PRs.
2023-11-29 23:06:17 +01:00
bgbsww b1a96bde5f Don't apply the transformations recursively, just make sure the right one is applied to the top subobject (#11539) 2023-11-29 17:15:59 -03:00
wmayer d9a9b95ede Gui: fix several lint warnings 2023-11-29 21:10:49 +01:00
Roy-043 b10e4ab809 Draft: Revised preference ui files
* Removed DefaultAnnoDisplayMode. This will become a fine-tuning preference.
* Removed HatchPatternResolution as it was not used.
* Added DefaultAnnoLineColor and DefaultAnnoLineWidth. These will be implemented in other parts of the Draft code in later PRs.
2023-11-29 15:05:16 +01:00
Syres916 92707a75cd [Gui] Add HourGlass markers including larger sizes 2023-11-28 23:55:10 +01:00
Paddle 89b9a21db5 Core: Hide macro toolbar by default. 2023-11-28 23:46:29 +01:00
wmayer f4b0a8160c MSYS: fix broken Qt6 build using MinGW & clang 2023-11-28 19:11:58 +01:00
wmayer d88d076d51 MSYS: fix the following warning for MinGW & gcc:
'bool App::StringID::isBinary() const' redeclared without dllimport attribute after being referenced with dll linkage
2023-11-28 16:16:34 +01:00
wmayer 559a746507 MSYS: fix build failure with MinGW & gcc 2023-11-28 16:16:34 +01:00
Jacob Oursland 923702ccb9 conda: pin coin3d to v4.0.0 until a fix to v4.0.1 is released. 2023-11-28 12:06:39 -03:00
Paddle 921a8f3040 Add a setting to disable auto horizontal/vertical. 2023-11-28 09:45:35 +01:00
Roy-043 096f77d28c Draft: use param observer to update tray 2023-11-27 23:56:00 +01:00
Paddle 5839848f21 Introduce CmdSketcherConstrainCoincidentUnified. This is a unified version of coincident + pointOnObject.
This is disabled by default. Nothing changes by default.
2023-11-27 21:14:33 +01:00
Jacob Oursland 27b58fd410 Add conda and mamba to the conda-devenv. 2023-11-27 16:24:11 -03:00
wmayer 3f7e4d42e5 fixes #11533: TypeError in: FreeCADGui.getMainWindow().windowStateChanged 2023-11-27 11:30:41 -06:00
Yorik van Havre 3ade39ccf1 Translations (#11551)
* Updated ts files

* merged crowdin translations

* [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>
2023-11-27 11:29:38 -06:00
sliptonic 594cfb924b Merge pull request #11549 from wwmayer/sketcher_security_checks
Sketcher: add security checks to avoid possible undefined behaviour
2023-11-27 10:28:14 -07:00
Kacper Donat 97b00f045d Add .vscode folder to .gitignore 2023-11-27 18:23:32 +01:00
Pesc0 46529fa897 downgrade cmakepresets version 2023-11-27 11:22:02 -06:00
Chris Hennes 7f2175f8a0 Merge pull request #11540 from kadet1090/rework-preferences-navigation
Gui: Add ScrollArea to Preferences and auto expand groups
2023-11-27 11:20:48 -06:00
mwganson 6ea4a743b1 [Part::Mirroring] Add support for mirror plane reference object 2023-11-27 11:17:48 -06:00
Chris Hennes b43f981d15 Merge pull request #11519 from Rexbas/rotation-center-zoom
Gui: Update rotation center indicator after zoom
2023-11-27 11:08:42 -06:00
wmayer db314cfaeb Gui: fix drag and drop of ViewProvider
* ViewProvider::canDragAndDropObject should only return true if an extension handles drag and drop
  Currently it returns true if no extension is available
* ViewProvider::dropObject shouldn't throw an exception if no extension handles drag and drop

As an example consider https://forum.freecad.org/viewtopic.php?t=82957
When selecting two objects then ViewProvider::dropObject is called twice. But for the first call both objects are moved to the destination
and for the second call no extension handles drag and drop any more. This incorrectly leads to a thrown exception.
2023-11-27 11:07:29 -06:00
Yorik van Havre d565796f96 Start: Allow dynamic translation of start page (#11513)
* Allow dynamic translation of start page - fixes #9996
* [pre-commit.ci] auto fixes from pre-commit.com hooks
2023-11-27 11:06:27 -06:00
Paddle 70d81f4b51 Sketcher : remove deleteAllConstraints from toolbar. 2023-11-27 11:00:50 -06:00
bgbsww 08d84fce15 Add readonly length properties to part helix and spiral (#11406)
* Add readonly length properties to part helix and spiral

* Comment to explain non obvious Mass as Length
2023-11-27 10:52:23 -06:00
bgbsww d472927bba Correct PartDesign Helix feature negative angles (#11399)
* Correct PartDesign Helix feature negative angles

* Whitespace
2023-11-27 10:51:12 -06:00
bgbsww 185e58a219 Use placement only on new objects 2023-11-27 17:46:45 +01:00
bgbsww 18e117b184 Fix variable name, clean 2023-11-27 17:46:45 +01:00
bgbsww 2643fd3334 Take Placement into account when applying boolean 2023-11-27 17:46:45 +01:00
Chris Hennes fa65438556 Core: Enable compiling with MSVC /permissive- (#11014)
* Base: Fixes for MSVC permissive-

* App: Fixes for MSVC permissive-

* Gui: Fixes for MSVC permissive-

* Main: Fixes for MSVC permissive-

* Fem: Fixes for MSVC permissive-

* Material: Fixes for MSVC permissive-

* Part: Fixes for MSVC permissive-

* Mesh: Fixes for MSVC permissive-

* Points: Fixes for MSVC permissive-

* Robot: Fixes for MSVC permissive-

* TechDraw: Fixes for MSVC permissive-

* Path: Fixes for MSVC permissive-

* Core; Changes per review comments

* TD: Revision from wandererfan

* [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>
2023-11-27 17:37:29 +01:00
Roy-043 484bbf3807 Draft: improve handling of anno DisplayMode and LineSpacing
* DisplayMode controlled by new pref DefaultAnnoDisplayMode. This replaces the old dimstyle pref.
* LineSpacing pref is now used when creating annotations. Will be added to prefs ui later.
* format_object no longer changes FontSize as this conflicted with the height parameter in the make_text function.
* make_text function updated.
2023-11-27 15:45:56 +01:00
wmayer f6d0340abc Sketcher: add security checks to avoid possible undefined behaviour 2023-11-27 10:58:50 +01:00
Paddle 5a4a358f13 hor/ver tool, remove unused variables 2023-11-27 10:44:25 +01:00
wmayer b9899b2dd8 Material: add QRegularExpression to PCH 2023-11-27 00:34:43 +01:00
wandererfan 59282956bf [TD]fix wrong include 2023-11-26 16:42:06 -05:00
wandererfan f03461a85a [TD]spelling in comments 2023-11-26 16:42:06 -05:00
wandererfan ca90c73811 [TD]trap null 2d shape in ShapeExtractor 2023-11-26 16:42:06 -05:00
Kacper Donat dd94f6da03 Gui: Expand group after selection
This commit ensures that after selecting item the group is automatically
expanded. User can force expansion by explcitly clicking expand button,
groups expanded that way will stay expanded unless user collapses them.
Otherwise non-active group will be collapsed automatically.
2023-11-26 20:25:06 +01:00
Kacper Donat b147fe00a7 Gui: Add ScrollArea to Preferences
This adds QScrollArea widget to DlgPreferences which in turn allows
preference pages to be scrollable. Stacked widget sizes are forced to
selected widget so scroll area should appear when it is needed.

Fixes #11511
2023-11-26 16:01:22 +01:00
pavltom 84982fb25d [TechDraw] Implement arc length calculation for arbitrary edge 2023-11-26 08:53:39 -05:00
pavltom 739fbc8df3 [TechDraw] Fix area balloon placement for scale != 1 2023-11-26 08:53:39 -05:00
Paddle 1c04566548 Sketcher : Replace toggle icons. 2023-11-25 20:55:50 -03:00
Pesc0 7aa750743d get rid of the windows debugger for now 2023-11-25 20:46:35 -03:00
Pesc0 d98f0e1ae3 Update .vscode, untrack and move to /contrib 2023-11-25 20:46:35 -03:00
Roy-043 3895b5d6c0 MeshPart: menu texts to sentence case 2023-11-25 20:42:30 +01:00
Roy-043 3601ece9f7 Merge pull request #11531 from Roy-043/Draft-use-clearer-snap-marker-names
Draft: use clearer snap marker names
2023-11-25 20:03:01 +01:00
Roy-043 b9d8f0a999 Draft: use clearer snap marker names 2023-11-25 19:29:12 +01:00
wmayer e57f5c42cb Gui: use MarkerBitmaps::getSupportedSizes to get available sizes 2023-11-25 18:37:26 +01:00
Roy-043 7561b90eb8 Merge pull request #11526 from Roy-043/Draft-use-consistent-is-number-string-in-DraftGui.py
Draft: use consistent is-number string in DraftGui.py
2023-11-25 16:22:19 +01:00
Roy-043 97e13c14d0 Draft: use consistent is-number string in DraftGui.py 2023-11-25 15:59:29 +01:00
wandererfan 5edda94043 [TD]fix disappearing balloon cursor 2023-11-25 08:05:50 -05:00
wandererfan ae3144c7ce [TD]fix Balloon location 2023-11-25 08:05:50 -05:00
wandererfan 54da041392 [TD]fix dimension location 2023-11-25 08:05:50 -05:00
Syres916 c298594cbe [Techdraw] Hole & Shaft Fit Error Enhancement 2023-11-25 08:05:23 -05:00
Syres916 00826abe7a [Gui] Add 20, 25 and 30px marker sizes 2023-11-25 12:36:33 +01:00
Rexbas 2a91413742 Gui: Find scene bounding sphere after zoom 2023-11-25 09:40:49 +01:00
Rexbas 72c69ce2f0 Gui: Update rotation center indicator after zoom 2023-11-24 22:43:48 +01:00
Paddle a2c909f329 Draw arc helpers for radius constraints. 2023-11-24 15:07:35 +01:00
Paddle 74dd736e3c Improve angle constraint rendering. 2023-11-24 15:07:35 +01:00
Paddle 05c382f6d9 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
wmayer ac4a878052 Gui: fix SelectionSingleton::sHasSelection 2023-11-24 15:06:00 +01:00
wmayer c18ecb1a9b Part: fix TopoShapePy::optimalBoundingBox 2023-11-24 15:06:00 +01:00
wmayer 5f3c6b6d1a Part: fix BSplineCurve2dPy::insertKnot 2023-11-24 15:06:00 +01:00
Roy-043 c36979f156 Draft: improve Snap bar show-hide preference
This PR replaces the showSnapBar and hideSnapBar preferences with a single new preference: SnapBarShowOnlyDuringCommands.

Additonally:
Improved some param observer callbacks.
2023-11-24 13:30:03 +01:00
Roy-043 70d2731483 Merge pull request #11509 from Roy-043/Draft-getActiveObject-has-changed
Draft: Gui.ActiveDocument.ActiveView.getActiveObject has changed
2023-11-24 12:46:07 +01:00
Roy-043 9ae5ad8308 Merge pull request #11510 from Roy-043/Draft-gui_selectplane-can-rely-on-ParamObserver-for-grid-changes
Draft: gui_selectplane can rely on ParamObserver for grid changes
2023-11-24 12:45:19 +01:00
Roy-043 b5d8e17341 Draft: gui_selectplane can rely on ParamObserver for grid changes 2023-11-24 12:18:57 +01:00
Roy-043 387d1d1fd9 Draft: Gui.ActiveDocument.ActiveView.getActiveObject has changed
See #10405.
2023-11-24 12:08:28 +01:00
Roy-043 0179cd28ec Merge pull request #11503 from yorikvanhavre/draft-toolmessages
Draft: Added a preference to turn on/off tool messages
2023-11-24 10:59:54 +01:00
pavltom 4751481167 [TechDraw] Set Calculate Area icon units to pixels 2023-11-23 19:47:04 -05:00
pavltom 0e5aa8c4df [TechDraw] Fixes #7317 - Calculate Area of Arbitrary Faces 2023-11-23 19:47:04 -05:00
Adrian Insaurralde Avalos d0fb2b8b29 3rdPart/salomesmesh - fix for vtk 9.3 compatibility
minimum required version is 7.1
2023-11-24 00:27:36 +01:00
wmayer c2694fd7d9 Base: cppcoreguidelines 2023-11-24 00:11:32 +01:00
Yorik van Havre b1bcfec271 Draft: Added a preference to turn on/off tool messages (off by default) - fixes #7078 2023-11-23 16:27:36 +01:00
Roy-043 b5adfff293 Draft: make default anno style non-global
Additionally:
* Added the DimShowLine preference. Layout of the tab will be updated later.
* Improved handling of DraftAnnotationScale preference: catch division by zero and use it for the default anno style.
2023-11-23 09:45:12 +01:00
Roy-043 0fdbf9726f Remove 2 unused variables 2023-11-23 09:43:48 +01:00
Roy-043 3fef8bfca0 Draft: param observer: improve handling of statusbar widgets
The Draft statusbar widgets should not be displayed in the Arch and BIM workbenches.

Also updated the copyright header to the current standard.
2023-11-23 09:43:48 +01:00
Roy-043 7a8abc3416 Draft interface tab was missing 2023-11-23 09:21:55 +01:00
Roy-043 2971d13a38 Arch: start Draft param observer
See #11481.
2023-11-23 09:21:55 +01:00
wmayer dcd533af4b Base: fix google-explicit-constructor 2023-11-22 23:47:29 +01:00
Paddle 2deb38aa29 Sketcher: remove unused cursor_createcoincident[] and DrawSketchHandlerCoincident. They are not used anymore. 2023-11-22 16:47:51 +01:00
Paddle 19a2b52277 Sketcher: Move Distance command next to DistanceX. ONLY move code, nothing changed. 2023-11-22 16:19:08 +01:00
Syres916 49e72d01a1 [Path] Sanity, change default zero CycleTime from float to string 2023-11-22 14:17:49 +00:00
wandererfan b239797b3e [TD]fix RTA bounding rect 2023-11-22 08:43:35 -05:00
wandererfan 7b0ee89cf1 [TD]fix position of RTA on Svg export 2023-11-22 08:43:35 -05:00
wmayer 43642a54f3 Base: fix cppcoreguidelines-avoid-non-const-global-variables 2023-11-22 14:06:06 +01:00
pre-commit-ci[bot] d67f759ea4 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2023-11-22 12:02:43 +00:00
mac-the-bike 63424d4aee Version 4 of the Erasing Elements Code 2023-11-22 11:56:21 +00:00
Chris Hennes 98b3df9442 Base: Fix missing NOLINTEND 2023-11-22 11:15:32 +01:00
bgbsww aa6da42ca1 Setting on 89.9 as a limit, enforce in dialog and properties 2023-11-22 10:30:54 +01:00
bgbsww e7a84ea725 Prevent attempting to create an infinite helix 2023-11-22 10:30:54 +01:00
Chris Hennes 023e65c790 Merge pull request #11478 from pieterhijma/missing-api-doc-py-hlr
[Part] Missing API documentaton Python HLR
2023-11-21 19:10:50 -06:00
wmayer ab8be62f2f Material: fix Qt6 build failure and minor optimizations 2023-11-22 01:48:07 +01:00
wmayer 55b5fa5d8c Tests: Set test executables in a central place 2023-11-22 01:47:24 +01:00
wmayer e8d0485f94 Qt: fix failure for Qt version < 5.15 2023-11-21 23:10:03 +01:00
wmayer 41afcf41e6 MSVC: fix warnings about conversion between float and double 2023-11-21 23:10:03 +01:00
wmayer de7c598b33 MSVC: fix warnings about unused variable 2023-11-21 23:10:03 +01:00
wmayer 3ab5165291 Qt: fix duplicate widget names 2023-11-21 23:10:03 +01:00
wmayer 132b077983 Qt: define Q_DISABLE_COPY_MOVE only if needed 2023-11-21 23:10:03 +01:00
Roy-043 7bf9acdc75 Merge pull request #11481 from Roy-043/Draft-add-parameter-observer
Draft: add parameter observer
2023-11-21 21:27:24 +01:00
Roy-043 ccd7d33d70 Draft: add parameter observer
To avoid having to restart FreeCAD after changing parameters.
2023-11-21 20:42:16 +01:00
Roy-043 6960f95a00 Merge pull request #11477 from Roy-043/Draft-improved-handling-of-snap-prefs
Draft: improved handling of snap prefs
2023-11-21 18:40:42 +01:00
Roy-043 d592a0ffc6 Merge pull request #11467 from Roy-043/Draft-make-mod-key-prefs-non-global
Draft: make mod key prefs non-global
2023-11-21 18:40:10 +01:00
Roy-043 94a649b128 Draft: improved handling of snap prefs
* Some trackers had 2 color nodes.
* Added a setColor function to some trackers.
* Added a set_snap_style function to the Snapper class.
2023-11-21 17:14:17 +01:00
Adrián Insaurralde Avalos f90f08a83a Update OndselSolver submodule 2023-11-21 10:05:33 -06:00
Pieter Hijma d91e54dfab Make comments consistent 2023-11-21 16:19:29 +01:00
Pieter Hijma 10c6d64e34 Add documentation for PolyHLRToShape 2023-11-21 16:19:29 +01:00
Pieter Hijma 99f7bc700d Add constructor documentation as well 2023-11-21 16:19:29 +01:00
Pieter Hijma 974651e159 Add documentation for HLRToShape 2023-11-21 16:19:29 +01:00
Pieter Hijma eeb56dd914 Remove comments from the text field 2023-11-21 16:19:29 +01:00
Pieter Hijma 80aecd0508 Fix a small problem with parameters
This is the same problem as in https://github.com/FreeCAD/FreeCAD/pull/10727.
Apparently it was also present in PolyAlgo.
2023-11-21 16:19:29 +01:00
Pieter Hijma ef1e119405 Add documentation for HLRBRep.PolyAlgo 2023-11-21 16:19:29 +01:00
Pieter Hijma bdca56e766 Improve the documentation of HLRBRep.Algo 2023-11-21 16:19:29 +01:00
Pieter Hijma 0d2609bf37 Change <S> to S
Otherwise, it is invalid XML
2023-11-21 16:19:29 +01:00
Rohan Mishra c0a1f81ca5 Update HLRBRep_AlgoPy.xml
#10728

Updated the API documentation of HLRBRep_AlgoPy.xml.
2023-11-21 16:19:29 +01:00
wmayer d7927279bd Gui: remove code duplication of printing preselection 2023-11-20 21:44:05 -06:00
Chris Hennes 632d5e80ee Part: Add BRepFeat_MakeRevol.hxx to Precompiled header 2023-11-20 21:43:38 -06:00
Roy-043 f2b1051d25 Draft: make mod key prefs non-global 2023-11-20 21:17:18 +01:00
Chris Hennes 90dc4aeb13 Update translations 2023-11-20 13:46:22 -06:00
wmayer 85e536394d Base: fix bugprone reserved identifier 2023-11-20 20:30:15 +01:00
Roy-043 959a9e1ea4 Merge pull request #11464 from Roy-043/Draft-gridShowHuman-did-not-work
Draft: gridShowHuman did not work
2023-11-20 20:20:11 +01:00
Roy-043 9563a40e32 Draft: gridShowHuman did not work
* The gridBorder pref was ignored.
* BimProject has been renamed to BimProjectManager.
2023-11-20 19:54:24 +01:00
David Carter 0a094d4872 Material: Continued Material enahncements
Continues the work of the material subsystem improvements.

Several important items are included in this merge. In terms of new
capabilities, this merge adds List and MultiLineString as valid
property types, complete with editing dialogs. This will help with
backwards compatibility for external workbenches, such as Render.

Stability has been a big focus. New unit tests help to verify features
work as expected. Bugs have been fixed and crashes avoided.

Material cards have had a renaming to their tree structure. For
example, 'StandardMeterials' is redundant, so this was renamed to
'Standard'. The cards themselves are more compliant fully passing the
yamllint tests.

More soon.
2023-11-20 12:19:29 -06:00
Ikko Eltociear Ashimine b9d05e72fe [3rdParty] fix typo in Decoder.cpp
avaiable -> available
2023-11-20 11:26:46 -06:00
pre-commit-ci[bot] 91dc7285e1 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2023-11-20 18:25:29 +01:00
Kevin Martin 4e12621954 Use PyObject_CallObject rather than interpreting generated code
Rather than generating Python code and interpreting it, which, in C++, is fraught with issues of creating the correct syntax for a str token when the text contains certain special characters like double-quote and backslash, the modified code makes call(s) to PyObject_CallObject which takes the C++ string and makes the appropriate conversion itself. The steps in building the Position passed to make_text are also done using c++ objects until the final Python Placement object is needed.
2023-11-20 18:25:29 +01:00
Mark Ganson TheMarkster a86ae2790b [Part Workbench]Prevent error when using link in boolean cut (#11398) 2023-11-20 14:22:25 -03:00
tmksw b8d529466d [Start WB] extend file info in MRU tooltip (#11450) 2023-11-20 14:21:12 -03:00
Paddle ea5abfda0d Fix autoconstraints of arcslot tool. 2023-11-20 14:19:51 -03:00
Chris Hennes 283c4d7ef5 Merge pull request #11421 from Pesc0/vscode-split-4--upgrade-python-debugger
Vscode split 4  upgrade python debugger
2023-11-20 11:18:36 -06:00
LarryWoestman 4e80ae6fca Path: Added separator lines to make the tests easier to find (#11423)
Co-authored-by: LarryWoestman <LarryWoestman@users.noreply.github.com>
2023-11-20 10:13:44 -07:00
Max Wilfinger 4bf1d1cc81 Fixes "Project Information" is Misleading #11296 - replace project with document (#11367)
* project to document on information, merge, util

* change project to document in unit system dialog

---------

Co-authored-by: WandererFan <WandererFan@gmail.com>
2023-11-20 10:03:22 -07:00
Paddle caaadee0fc Status bar message : reduce number of decimals to use system preference. 2023-11-20 11:02:00 -06:00
PaddleStroke e56359d6d7 [Sketcher] Auto horizontal/vertical (#11330)
* Refactor sketcher horizontal / vertical constraints and adds a horizontal/vertical command.

* Sketcher : HorVer : change tool icon.

---------

Co-authored-by: Paddle <PaddleStroke@users.noreply.github.com>
2023-11-20 11:00:22 -06:00
bgbsww 8cc48c488f Defend against surface not created from invalid face 2023-11-20 13:59:01 -03:00
Paddle 59b64ebab0 Group Trim/extend/split. 2023-11-20 10:58:17 -06:00
sliptonic 2f269abc99 Merge pull request #11273 from chennes/complexGeoDataSerialization
ComplexGeoData and PropertyComplexGeoData serialization
2023-11-20 09:55:39 -07:00
Adrián Insaurralde Avalos 52fa338bac Merge pull request #11279 from Rexbas/orthographic-view-clipping
Gui: Fix window center rotation mode and orthographic view clipping
2023-11-20 13:54:51 -03:00
Rohan Mishra 8d2d3e5315 Update ShapeFix_EdgePy.xml (#11193)
* Update ShapeFix_EdgePy.xml

Issue #11182
---------

Co-authored-by: Chris Hennes <chennes@pioneerlibrarysystem.org>
2023-11-20 10:49:41 -06:00
Chris Hennes e9c7c98f04 Merge pull request #11018 from kadet1090/rework-preferences-navigation
[Gui] Rework preferences navigation as TreeView - Part 1
2023-11-20 10:44:47 -06:00
Adrián Insaurralde Avalos 2cef4cfdbe Merge pull request #7193 from AjinkyaDahale/pd-more-revol-options
PD: more options for revolution/groove
2023-11-20 13:36:34 -03:00
Pesc0 9cf678407c Allow automatic tests discovery 2023-11-20 16:12:27 +01:00
Chris Hennes bf0b19c175 Merge pull request #11409 from wwmayer/fix_clangtidy_base
Base: Fix clang-tidy reports
2023-11-20 08:17:27 -06:00
wmayer 9a14239d76 Part: add test for Geom2d.toShape 2023-11-20 13:00:09 +01:00
tomate44 207bcfa80d Part : fix edge creation of Geom2d curves 2023-11-20 12:35:09 +01:00
Roy-043 3b32f50a47 Arch: remove global precision variables
To avoid having to restart after changing the Draft precision parameter.
2023-11-20 12:21:28 +01:00
bgbsww 5b4d287034 Reverse misuse of list comprehension 2023-11-20 11:36:39 +01:00
bgbsww f087c4b3ef Parse inventor format without commas between points 2023-11-20 11:36:39 +01:00
Adrián Insaurralde Avalos 32db044caa Revert "add git information"
This reverts commit ae27d8e3bc.
2023-11-19 15:18:25 -03:00
Adrián Insaurralde Avalos c20a3e9543 Revert "disable git info"
This reverts commit 3b7da50ca7.
2023-11-19 15:15:26 -03:00
Jacob Oursland 0ac0882eeb Add Docker configuration for conda. 2023-11-19 02:01:47 -03:00
Roy-043 7b962e609d Draft: store more command modes in prefs
With this PR the following 5 command modes are automatically stored in the preferences:

    "ContinueMode"
    "RelativeMode"
    "GlobalMode"
    "fillmode" (existing preference, removed from the Preferences Editor)
    "SubelementMode"

Additionally:
Three commands (Draft_Ellipse, Draft_Rectangle and Draft_Stretch) call `setRelative` after the 1st point has been specified and would permanently switch on relativeMode. After this PR this switch is temporarily.
2023-11-18 22:30:02 +01:00
Adrián Insaurralde Avalos 3b7da50ca7 disable git info 2023-11-18 17:44:50 -03:00
ghaction ae27d8e3bc add git information 2023-11-18 17:44:27 -03:00
Roy-043 6d83326307 Draft: store more command modes in prefs
With this PR the following 5 command modes are automatically stored in the preferences:
* "ContinueMode"
* "RelativeMode"
* "GlobalMode"
* "fillmode" (existing preference, removed from the Preferences Editor)
* "SubelementMode"

Additionally:
Three commands (Draft_Ellipse, Draft_Rectangle and Draft_Stretch) call `setRelative` after the 1st point has been specified and would permanently switch on relativeMode. After this PR this switch is temporary.
2023-11-18 21:03:26 +01:00
Roy-043 f30e643c82 Merge pull request #11440 from Roy-043/Draft-make-Draft_Edit-prefs-non-global
Draft: make Draft_Edit prefs non-global
2023-11-18 19:45:00 +01:00
Roy-043 9409f68294 Merge pull request #11436 from Roy-043/Draft-constraining-did-not-respect-global-mode
Draft: constraining did not respect global mode
2023-11-18 19:44:40 +01:00
Roy-043 09f1625eaf Merge pull request #11428 from Roy-043/Draft-make-in-command-shortcuts-non-global
Draft: make in-command shortcuts non-global
2023-11-18 19:44:17 +01:00
Roy-043 34e49b50d8 Draft: make Draft_Edit prefs non-global 2023-11-18 19:18:23 +01:00
Roy-043 f6f0ace4c7 Draft: constraining did not respect global mode
Fixes #10496.
2023-11-18 13:36:35 +01:00
wmayer cbc3d81bca Gui: save active palette
If the QLineEdit is disabled the current color group of the cached QPalette is set to 'Inactive'. Now when enabling the QLineEdit the wrong palette is set and the text looks like it's inactive.
2023-11-17 18:52:28 +01:00
Roy-043 03e8ac4ac6 Draft: make in-command shortcuts non-global
Fixes #8329.
2023-11-17 12:57:56 +01:00
Roy-043 f741d28b43 Merge pull request #11426 from Roy-043/Draft-minor-updates-related-to-precision-pref
Draft: minor updates related to precision pref
2023-11-17 10:18:35 +01:00
Roy-043 e9e4554c06 Draft: minor updates related to precision pref 2023-11-17 09:49:01 +01:00
Roy-043 16a9f09940 Merge pull request #11419 from Roy-043/Draft-Draft_Join-should-call-join_wires
Draft: Draft_Join should call join_wires
2023-11-17 09:30:01 +01:00
pavltom 2ffca4958a [TechDraw] Multiselection mode implementation 2023-11-16 20:45:02 -05:00
pavltom e3fe68a0f3 [TechDraw] Remove obsolete getYInClip method 2023-11-16 20:45:02 -05:00
pavltom 98a005b7b5 [TechDraw] Remove nowhere used m_dragState 2023-11-16 20:45:02 -05:00
pavltom ec6df1726e [TechDraw] Refactor QGIView and QGIPrimPath mouse processing 2023-11-16 20:45:02 -05:00
pavltom bd69b1c341 [TechDraw] Remove now unused SelectPoint signal relics 2023-11-16 20:45:02 -05:00
pavltom 87e2c36dda [TechDraw] Fix app selection not reflecting Qt selection 2023-11-16 20:45:02 -05:00
pavltom 886c683f65 [TechDraw] Fix DrawView.setPosition signaling changes always 2023-11-16 20:45:02 -05:00
Pesc0 6fe6cbe4b7 Upgrade debugger to debugpy 2023-11-17 02:00:32 +01:00
Pesc0 be6ed4670b addon manager: use get_python_exe from utils file 2023-11-17 02:00:25 +01:00
Pesc0 0e6ec6e3ac create utils file with get_python_exe 2023-11-17 02:00:12 +01:00
Roy-043 c3a3100137 Draft: Draft_Join should call join_wires
Also removed an obsolete comment.
2023-11-16 21:02:19 +01:00
wmayer c608c77d2b Tests: add test for QuantitySpinBox::setValue(double) 2023-11-16 19:37:21 +01:00
Abdullah Tahiri 6a9fa8da68 Gui: QuantitySpinBox - keep format on setValue
==============================================

Problem:
When the value set is a double, a new Quantity is created, which does not follow
the previously configured format (setDecimals).

Solution:
To copy the old format to the newly created quantity.
2023-11-16 19:29:46 +01:00
wmayer 5a39a85b73 Tools: for generated Python binding use PyTypeObject instead of _typeobject
And name the function arguments of PyMake to handle readability-named-parameter
2023-11-16 17:03:14 +01:00
bgbsww f2d5e07b4e PartDesign: refresh body after pipe creation (#11357) 2023-11-16 12:58:39 -03:00
Pesc0 0303af1ebb Vscode PR - split 1 - add cmakepresets (#11385)
* add CMakePresets.json
2023-11-16 12:49:54 -03:00
Roy-043 b4d58cb8eb Merge pull request #11415 from Roy-043/Draft-prefs-remove-copymode-useSupport-no-longer-via-UI
Draft: prefs: remove copymode, useSupport no longer via UI
2023-11-16 16:13:54 +01:00
mos c25500fc72 fix python get value rotation are a Long .
remove old check python >=3.5 -> freecad require python 3.6
2023-11-16 14:05:30 +01:00
Roy-043 daea162ae2 Draft: prefs: remove copymode, useSupport no longer via UI
This PR removes the copymode (Global copy mode) preference.

Forum topic:
https://forum.freecad.org/viewtopic.php?t=82679

Additionally useSupport is removed from preferences-draft.ui, turning it into a fine-tuning preference. Use of this feature is rare and may not be supported in the future. No need to present this preference to new users in the UI.

Forum topic:
https://forum.freecad.org/viewtopic.php?t=80689
2023-11-16 11:40:23 +01:00
Roy-043 68728f7ca9 Merge pull request #11405 from Roy-043/Draft-menu-texts-of-snaps-to-sentence-case
Draft: menu texts of snaps to sentence case
2023-11-16 10:09:13 +01:00
wmayer 08b10cd287 fix cppcoreguidelines-*
* cppcoreguidelines-init-variables
* cppcoreguidelines-c-copy-assignment-signature
* cppcoreguidelines-macro-usage
* cppcoreguidelines-non-private-member-variables-in-classes
* cppcoreguidelines-pro-type-member-init
* cppcoreguidelines-slicing
* cppcoreguidelines-special-member-functions
* cppcoreguidelines-virtual-class-destructor
2023-11-16 01:22:09 +01:00
wmayer 39337ea12e fix bugprone-*
* bugprone-throw-keyword-missing
* bugprone-unhandled-self-assignment
* bugprone-suspicious-string-compare
* bugprone-reserved-identifier
* bugprone-narrowing-conversions
* bugprone-macro-parentheses
* bugprone-implicit-widening-of-multiplication-result
* bugprone-exception-escape
* bugprone-copy-constructor-init
2023-11-16 01:22:09 +01:00
wmayer c07c7c9fc9 fix performance-*
* performance-type-promotion-in-math-fn
* performance-trivially-destructible
* performance-noexcept-move-constructor
* performance-faster-string-find
2023-11-16 01:22:09 +01:00
wmayer 85ead154c4 fix readability-make-member-function-const 2023-11-16 01:22:09 +01:00
wmayer 7c00932fa0 fix readability-isolate-declarations 2023-11-16 01:22:08 +01:00
wmayer 5c306f6e2a fix readability-*:
* readability-uppercase-literal-suffix
* readability-named-parameter
2023-11-16 01:22:08 +01:00
wmayer f539138dd9 fix readability-*:
* readability-const-return-type
* readability-container-data-pointer
* readability-container-size-empty
* readability-delete-null-pointer
* readability-else-after-return
* readability-inconsistent-declaration-parameter-name
* readability-redundant-member-init
* readability-redundant-smartptr-get
* readability-redundant-string-cstr
* readability-use-anyofallof
* readability-static-definition-in-anonymous-namespace
* readability-static-accessed-through-instance
* readability-simplify-boolean-expr
2023-11-16 01:22:08 +01:00
wmayer e4975f0153 fix readability-braces-around-statements 2023-11-16 01:22:08 +01:00
wmayer 767647a05f fix readability-avoid-const-params-in-decls 2023-11-16 01:22:08 +01:00
wmayer 73a1e90e45 fix readability-identifier-length 2023-11-16 01:22:08 +01:00
pre-commit-ci[bot] 6a66034ce2 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2023-11-16 00:24:09 +01:00
wandererfan 7194c29a81 [Units]Add Meters-only schema (#7395)
- use correct unit for velocity

- typo in include guard
2023-11-16 00:24:09 +01:00
Roy-043 b07ff3eeb5 Draft: menu texts of snaps to sentence case 2023-11-15 14:59:38 +01:00
Paddle fbcc53d2cb Fix ESC key for Sketcher_Dimension 2023-11-15 14:41:43 +01:00
Paddle 12f48d531c Sketcher OVP setting : add missing default. 2023-11-15 14:40:03 +01:00
Abdullah Tahiri 97d3665757 SketcherGui: Fix preselectAtPoint for non X-Y orientations 2023-11-15 14:34:11 +01:00
Roy-043 4857836287 Merge pull request #11393 from Roy-043/Draft-cleanup-related-to-PR11336
Draft: cleanup related to PR11336
2023-11-15 09:43:49 +01:00
Adrián Insaurralde Avalos e937cc1efc move WindowsInstaller to tools/build [skip ci] 2023-11-14 14:55:08 -03:00
Adrián Insaurralde Avalos 81d56fa45a Improve upon #11268 - fix wrong description for shortcuts [skip ci] 2023-11-14 14:55:08 -03:00
Paddle 60dc6cd1cf Slot fix vertical/horizontal constraints 2023-11-14 14:22:26 +01:00
Paddle ca4ba5e3b0 Slot DSH : fixes 2023-11-14 14:22:26 +01:00
Paddle cb19b1036e Slot DSH : implement tool parameters. 2023-11-14 14:22:26 +01:00
Abdullah Tahiri b4d4a00329 SketcherGui: DSH - parameter unused depending of constexpr fixed 2023-11-14 14:12:16 +01:00
Roy-043 0f76aaab86 Draft: cleanup related to PR11336
See #11336
2023-11-14 11:51:34 +01:00
Roy-043 8b6d133c26 Merge pull request #11388 from Roy-043/Arch-more-file-extensions-also-in-caps
Arch: more file extensions also in caps
2023-11-14 10:34:42 +01:00
Roy-043 db970b0ab3 Merge pull request #11387 from Roy-043/Draft-more-file-extensions-also-in-caps
Draft: more file extensions also in caps
2023-11-14 10:34:14 +01:00
Roy-043 6837bf2756 Merge pull request #11379 from Roy-043/Draft-remove-the-tolerance-preference
Draft: remove the tolerance preference
2023-11-14 10:33:10 +01:00
Pesc0 352fdc2d22 Add convenience scripts to install conda development environment. (#11386)
* add remaining env updates

Co-authored-by: Jacob Oursland <jacob.oursland@gmail.com>
Co-authored-by: Adrián Insaurralde Avalos <36372335+adrianinsaval@users.noreply.github.com>
2023-11-14 05:50:18 -03:00
alexbeer2048 6373760845 Fix windows uninstaller issue #10971 and #11232 (#11268)
* Move MultiUser install mode default registry key to the uninstaller registry entry

Lets the uninstaller detect the correct context for each installed version. related to #10971

* Fix uninstaller doesn't use correct shell context when installed for current user

related to #10971

* Update installer init checks for previously installed versions

Use shell context determined by the MultiUser plugin. related to #10971

* fix: Perform installer version checks after install mode selection

Perform installer version checks after install mode selection to ensure that they are done for the correct reg root key. Fixes #10971.

* Call version check method also in silent mode

* Add TrimQuotes macro to installer utilities

Also remove FileCheck macro

* Update comment in gui.nsh

* Change Windows installer/uninstaller FileDescription entry

related to #11232
2023-11-13 23:48:13 -03:00
Roy-043 aee9fcf6c6 Arch: more file extensions also in caps 2023-11-14 00:14:20 +01:00
Roy-043 3f7dedf8a4 Typos 2023-11-14 00:04:33 +01:00
Roy-043 7ac0a44136 Draft: more file extensions also in caps 2023-11-13 23:12:18 +01:00
Abdullah Tahiri 4ff00ef998 SketcherGui: Compiler warning fix 2023-11-13 21:09:13 +01:00
Abdullah Tahiri 0525cee4ee SketcherGui: DSH Default - return reference in ShapeConstraint helpers 2023-11-13 20:52:04 +01:00
Ajinkya Dahale 131c74045a [PD] Set revolution taskview items based on method 2023-11-14 00:20:20 +05:30
Ajinkya Dahale 2ae3c82606 [PD] Support two-angle/up-to-face groove
Elements copied from revolution and pocket feature.
2023-11-14 00:20:20 +05:30
Ajinkya Dahale 4c80e567c6 [PD] Use enum class for revolution method 2023-11-14 00:20:20 +05:30
Ajinkya Dahale 0829c96549 [PD] Update revolution properties based on method 2023-11-14 00:20:20 +05:30
Ajinkya Dahale 7e09589942 [PD] Refactor FeatureRevolution further
New methods created to reduce size of `execute`.

Use BRepPrimAPI instead of BRepFeat whenever possible since otherwise there are
some limitations.
2023-11-14 00:20:19 +05:30
Ajinkya Dahale 6b1a1e1508 [PartDesign] Refactor mode support in revolution
Encodes support for "two angles".
Clarifies that up-to-first and up-to-last is not supported.
2023-11-14 00:20:19 +05:30
Ajinkya Dahale a7da1003fc [PartDesign] Some more dummy functionality for revolution
[PD] Some more setup

[PD] Some refactor in `TaskRevolutionParameters`
2023-11-14 00:20:19 +05:30
Ajinkya Dahale b41e592441 [PartDesign] Add some dummy options for revolution
These options correspond to "up to face" and "2 angles". They are expected to do
nothing right now. However there is also some experimental code for "up to face"
in this commit, whose behavior is not confirmed.
2023-11-14 00:20:19 +05:30
wandererfan 69761e72d2 [TD]fix regression on Links with scale 2023-11-13 12:21:10 -05:00
sliptonic b998ea29bd Merge pull request #11368 from LarryWoestman/staging
Path:  Rearranged and renumbered some of the tests
2023-11-13 11:19:56 -06:00
Abdullah Tahiri d9a81dd139 SketcherGui: ArcSlot lints 2023-11-13 18:19:10 +01:00
Abdullah Tahiri cc1e11482b SketcherGui: Fix lints 2023-11-13 18:18:50 +01:00
Adrián Insaurralde Avalos 94f7398f36 Add OndselSolver as git submodule
also update github actions to pull submodules
2023-11-13 12:17:20 -05:00
Roy-043 17f2146887 Draft: remove the tolerance preference
The tolerance function now derives its value from the precision preference.

Additonally:
Removed the epsilon() function. It did not make sense and was not used.
2023-11-13 18:07:37 +01:00
sliptonic 13792dcdb6 Merge pull request #11356 from mwganson/pythoneditor
[Python editor] match current indentation for next line when  pressin…
2023-11-13 11:06:49 -06:00
Abdullah Tahiri 686dafc108 Gui: ReportView - include notifier string
=========================================

Console error, warnings, ... allow for a notifiername. This appears separately in the notification area. However, the report view ignores it.

This commit prepends the notifier string separated by a semicolon, if not empty.

It solves the problem that, if the message did not include the notifier, this was not indicated in the Report View.

If the message included the notifier, then it was duplicated in the notification area.
2023-11-13 12:04:53 -05:00
tmksw 39f76dde67 Gui: Do not add non-existing files to open recent menu 2023-11-13 14:03:36 -03:00
wmayer 0ea46f03c8 Base: fix several reported lint warnings 2023-11-13 12:01:26 -05:00
wmayer 93edd65c12 Base: fix indentation of documentation 2023-11-13 12:01:26 -05:00
wmayer 9a98b898a4 Base: apply clang format 2023-11-13 12:01:26 -05:00
wmayer e85c383bff Base: apply clang format 2023-11-13 12:01:26 -05:00
wmayer 41528339e4 Base: Add to pre-commit hooks 2023-11-13 12:01:26 -05:00
sliptonic 5fe6e46080 Merge pull request #11337 from yorikvanhavre/start-timeformat
Start: Fixed default time format
2023-11-13 10:59:49 -06:00
wmayer 33f08ef2fe Gui: restore old behaviour to set up main window 2023-11-13 13:55:44 -03:00
wmayer a20a053b60 Gui: only use primary screen to restore main windows settings 2023-11-13 13:55:44 -03:00
sliptonic c83f9273fe Merge pull request #11223 from wwmayer/Part_format_xml
Part: format XML files
2023-11-13 10:52:03 -06:00
sliptonic 23381893fd Merge pull request #11136 from FlachyJoe/fix_11135
PD: Pad to the base shape
2023-11-13 10:46:54 -06:00
Paddle 2f30b63b9d ArcSlot DSH : implement the Arc slot tool with tool parameters support. 2023-11-13 15:05:36 +01:00
wmayer dce0deca9b Gui: getter Gui::MainWindow::isRestoringWindowState possibly mismarked as a slot [-Wclazy-const-signal-or-slot] 2023-11-13 14:36:56 +01:00
Paddle 6e4da8cc82 Circle DSH : Implement tool parameters. 2023-11-13 14:00:18 +01:00
Paddle c5853fae9d Ellipse DSH : add cursor texts and remove showInternal checkbox. 2023-11-13 14:00:18 +01:00
Paddle 02dd9dba10 Ellipse DSH : Implement tool parameters. 2023-11-13 14:00:18 +01:00
Paddle c613f3bbac Arc DSH : implement tool parameters. 2023-11-13 14:00:18 +01:00
Paddle 0936499e5b DSH : modify drawDoubleAtCursor so that it can draw an angle. 2023-11-13 14:00:18 +01:00
Paddle 58aa2d5cec Adds areColinear function to Utils. 2023-11-13 14:00:18 +01:00
Paddle 71637aeec1 Adds CircleEllipseConstructionMethod. 2023-11-13 14:00:18 +01:00
wmayer 8b1695b162 Tests: fix failure in InventorBuilder_Tests_run 2023-11-13 13:21:19 +01:00
wmayer 1140c33952 RE: Allow to create planes from several selected meshes, remove ... from menu text 2023-11-13 10:38:41 +01:00
LarryWoestman 657511e9f3 Path: Rearranged and renumbered some of the tests 2023-11-12 16:45:06 -08:00
Roy-043 dfcfdad040 Merge pull request #11366 from Roy-043/Draft-remove-unused-dimorientation-and-saveonexit-prefs
Draft: remove unused dimorientation and saveonexit prefs
2023-11-12 21:24:30 +01:00
Roy-043 29fda5e974 Draft: remove unused dimorientation and saveonexit prefs 2023-11-12 20:54:25 +01:00
Roy-043 a6ec783445 Merge pull request #11364 from Roy-043/Draft-Draft_SelectPlane-did-not-trigger-the-grid
Draft: Draft_SelectPlane did not trigger the grid
2023-11-12 20:37:21 +01:00
Roy-043 c7777b8ed3 Draft: Draft_SelectPlane did not trigger the grid 2023-11-12 20:16:34 +01:00
Florian Foinant-Willig 2010268187 PartDesign_Pad: add an up to shape mode 2023-11-12 20:06:57 +01:00
Abdullah Tahiri 8d82835514 Sketcher: DSH Default - improve return value of ShapeGeometry functions
=======================================================================

Previous version return an reference to the smart pointer to generic Part::Geometry.

This version returns a type specific naked pointer, while ShapeGeometry keeps ownership
and memory management, so if an arc is created a Part::ArcOfCircle is returned.
2023-11-12 17:53:36 +01:00
Rexbas cafede514a Gui: Find bounding sphere after showing rotation center 2023-11-12 14:42:45 +01:00
wmayer 9bb996e2f3 Gui: Fixes #11341: Adjusting Light Sources in Preferences 2023-11-12 13:41:13 +01:00
Abdullah Tahiri 55639df573 Sketcher: Box Selection - refactor
==================================

Full refactor of this function without change of functionality (hopefully).
2023-11-11 21:19:12 +01:00
Abdullah Tahiri 811da8bb09 Sketcher: Box selection - Hyperbola/Parabola endpoint fix 2023-11-11 21:19:12 +01:00
Abdullah Tahiri 373a167d7d Sketcher: DSH - improving geo creation helpers for ShapeGeometry
================================================================

In some DSHs instead of the convenience function, the code is being duplicated because
of the need to access the geometry after pushing it to the std::vector.

This commit leverages emplace_back return reference to improve code reuse.
2023-11-11 21:18:20 +01:00
pre-commit-ci[bot] 11916af30d [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2023-11-11 18:21:31 +01:00
bgbsww b52694c87b Fix 10545 by using position of array members 2023-11-11 18:21:31 +01:00
mwganson b778bc723c [Python editor] match current indentation for next line when pressing enter key, addresses issue 5551 2023-11-11 10:25:50 -06:00
wandererfan 66ece1c068 [TD]fix 3x extension circle methods #11310 2023-11-11 07:48:03 -05:00
wandererfan 037165f1b7 [TD]add 2 utility methods
- toAppSpace converts qt point to app view coords
- angleWithX(Base::Vector3d) returns [0,2pi]
2023-11-11 07:48:03 -05:00
Abdullah Tahiri 0144b4b14d Sketcher: Adapt DSHs to new dynamic cursor 2023-11-11 11:15:54 +01:00
Abdullah Tahiri 136392830a Sketcher: DSHController - extend framework to make cursors OVP visibility dependent 2023-11-11 11:15:54 +01:00
Abdullah Tahiri e73d8e2e96 Sketcher: DSH - new cursor drawing functions 2023-11-11 11:15:54 +01:00
Rexbas a740632616 Gui: Find bounding sphere before drag or animation 2023-11-10 22:33:41 +01:00
Rexbas e327a3fd40 Gui: Fix window center rotation mode and orthographic view clipping 2023-11-10 19:43:36 +01:00
pavltom 4c888b6afe [TechDraw] Issue #6527 - Implement face transparency 2023-11-10 10:48:06 -05:00
wandererfan 65c88376f8 [TD]fix Print Center Marks #11309 2023-11-10 09:30:19 -05:00
wandererfan 0bd0d2e4b5 [TD]Fix margins on PDF output #11308 2023-11-10 09:30:19 -05:00
Yorik van Havre 0e939872f4 Start: Fixed default time format - fixes #10793 2023-11-10 14:10:43 +01:00
Roy-043 453c099873 Draft: Improve grid behavior
This PR improves the behavior of the Draft grid:
* Options in the preferences: "Always show the grid" and "Show the grid during commands".
* The parameters are used for new views. In existing views the grid can be toggled either during a command or when no command is active.
* When switching to a different workbench all grids are hidden unless GridHideInOtherWorkbenches is set to `False`. This can be a Fine-tuning parameter IMO.

Notes:
* The defaultCameraHeight parameter becomes obsolete. It was only used in very specific circumstances.
* The code of PR #8818 becomes obsolete. It makes more sense to use `App.activeDraftCommand` instead of adding a `tool` argument to some functions. Will do some related cleanup later.
* Improved alignment for the related preference ui. The checkbox interaction has been fixed as well.
2023-11-10 14:02:38 +01:00
Roy-043 6359597341 Arch: make Arch_CutPlane nesting and link aware
Forum topic:
https://forum.freecad.org/viewtopic.php?t=82340
2023-11-10 11:04:27 +01:00
Roy-043 704949d843 MEASUREMENT should also be checked if INSUNITS is zero 2023-11-10 10:21:54 +01:00
Roy-043 ab3bb51e15 Avoid Python match function 2023-11-10 10:21:54 +01:00
Roy-043 6ec2ecffe9 Draft: fix import scale for Legacy DXF importer
Fixes #10253.
2023-11-10 10:21:54 +01:00
czinehuba 22a107b775 Update iso10642.json (#11302)
* Update iso10642.json

Update ISO10642 with M2 and M2.5 sizes

* Update iso10642.json

Updated dimensions
2023-11-09 12:26:56 -06:00
Chris Hennes 36c7b9db7f Tools: Add check for existence in updatecrowdin.py (#11304) 2023-11-09 12:24:54 -06:00
Chris Hennes 954c2fa03f Update translations 2023-11-09 12:23:56 -06:00
Roy-043 8a3e07b23e Merge pull request #11319 from Roy-043/Arch-start-and-stop-WP-view-observer
Arch: start and stop WP view observer
2023-11-09 12:15:46 +01:00
wmayer 640018bfa7 JtReader: allow to open JT files using TKJT 2023-11-09 01:40:54 +01:00
Chris Hennes 2067470b2e App/Toponaming: Add basic tests for CGD serialization 2023-11-08 17:11:32 -06:00
wmayer ba95a534d5 Base: extend ShapeHintsItem to allow to set vertex ordering and shape type 2023-11-08 21:03:33 +01:00
Abdullah Tahiri 0d221c0969 Sketcher: Fix lints 2023-11-08 17:46:34 +01:00
Abdullah Tahiri 75c3972c44 Sketcher: Encapsulate function to ensure MDI focus 2023-11-08 17:46:34 +01:00
Roy-043 b19fed42e3 Arch: start and stop WP view observer
See #11257.
2023-11-08 16:36:31 +01:00
Roy-043 9be9881ed8 Merge pull request #11295 from Roy-043/Draft-improved-props_changed_placement_only-function
Draft: improved props_changed_placement_only function
2023-11-08 15:31:43 +01:00
Roy-043 0002729cbf Merge pull request #11280 from Roy-043/Arch-Fix-issue-with-getSceneGraph
Arch: Fix issue with getSceneGraph
2023-11-08 15:30:50 +01:00
Roy-043 ec7d3e643f Merge pull request #11257 from Roy-043/Draft-PlaneGui-view-observer-to-update-the-Tray
Draft: PlaneGui: view observer to update the Tray
2023-11-08 15:29:18 +01:00
Paddle 403bc55bfa Line DSH : hide widget if OVP disabled. 2023-11-08 15:20:13 +01:00
Paddle 20fcdfbd89 Remove moveCursorToSketchPoint on init. 2023-11-08 15:20:13 +01:00
Paddle f035331263 Fix bug where M key stop working in some cases by giving focus to MDI on reset. 2023-11-08 15:20:13 +01:00
Paddle 8f3ebe1cc6 Rectangle DSH : set OVP Functions. 2023-11-08 15:20:13 +01:00
Paddle 05dde3d3cf Polygon DSH : set OVP Functions. 2023-11-08 15:20:13 +01:00
Paddle 8daccecb52 Offset DSH : set OVP Functions. 2023-11-08 15:20:13 +01:00
Paddle 422d5861d8 Line DSH : set OVP Functions. 2023-11-08 15:20:13 +01:00
Paddle 17f4109358 Add preference for OVP visibility. 2023-11-08 15:20:13 +01:00
Abdullah Tahiri 5c2a55ade7 Sketcher: Update DSHs to set value via framework only when they are visible 2023-11-08 15:20:13 +01:00
Abdullah Tahiri 0282d3844a Sketcher: DrawSketchController - Extend framework to support hiding OVPs via preference 2023-11-08 15:20:13 +01:00
Abdullah Tahiri 5873403254 Fix Compiler warnings of previous merged PRs 2023-11-08 15:20:13 +01:00
Abdullah Tahiri 4a7f71449d EditableDatumLabel: Extend with function to differentiate positioning from dimensioning OVPs 2023-11-08 15:20:13 +01:00
Abdullah Tahiri c09793e811 Sketcher Gui: DrawSketchController - lints 2023-11-08 15:20:13 +01:00
wmayer a28b2dcf37 PD: fixes #11197: If bounding box of Body is activated it will be done for each sub-feature 2023-11-08 10:38:42 +01:00
Abdullah Tahiri e235a1b795 Sketcher: Handling of right mouse button during handler execution
=================================================================

    Instead of terminating the handler, as mandated before this PR by ViewProviderSketch, ViewProviderSketch
    delegates the action to DrawSketchHandler.

    DrawSketchHandler implements by default this terminating behaviour, but allows to override it.

    DrawSketchDefaultHandler (and all tools deriving from it) implement as default behaviour to cancel if
    in initial state, otherwise to reset.
2023-11-07 16:05:08 +01:00
Abdullah Tahiri 9cb6fa0df7 Sketcher: Handling of ESC keypress during handler execution
===========================================================

Instead of terminating the handler, as mandated before this PR by ViewProviderSketch, ViewProviderSketch
delegates the action to DrawSketchHandler.

DrawSketchHandler implements by default this terminating behaviour, but allows to override it.

DrawSketchDefaultHandler (and all tools deriving from it) implement as default behaviour to cancel if
in initial state, otherwise to reset.
2023-11-07 16:05:08 +01:00
Paddle fc472601e4 EditableDatumLabel : Fix issue where the spinbox would get in the way of the cursor for angle. For example line angle. 2023-11-07 15:36:21 +01:00
Paddle f8be4d5f45 EditableDatumLabel : make sure the spinbox that has the focus is on top. 2023-11-07 15:36:21 +01:00
Paddle 029fd10bf1 Offset DSH : various fixes 2023-11-07 15:36:21 +01:00
Paddle 2aa67a0b38 Rectangle DSH : fix a bug when trying to make inward thickness. 2023-11-07 15:36:21 +01:00
Paddle 57524b24ef Rectangle DSH : Fixes #11287. Issue where the spinbox for frame thickness doesn't get focus. 2023-11-07 15:36:21 +01:00
Paddle d272a55310 Rectangle DSH : Fixes #11285, for frames two parallels constraints were missing. 2023-11-07 15:36:21 +01:00
Paddle 0c9c550703 Rectangle DSH : change names or modes. 2023-11-07 15:36:21 +01:00
Paddle e614b69866 EditableDatumLabel : prevent spinbox from going out of the view. 2023-11-07 15:36:21 +01:00
Paddle 870c358cee Fix focus passing between OnViewParameters with tab. 2023-11-07 15:36:21 +01:00
Paddle 1b55c56f3a Fix bug nParameter is not initialized based on construction methode.
Also fix bug construction methode combobox is not at correct index on tool start if not first methode.
2023-11-07 15:36:21 +01:00
mosfet80 834b2687b9 [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 a3568333a4 Sketcher_Dimension: If radius of arc is not DoF, then offer arc angle first. 2023-11-06 14:02:54 -06:00
wmayer 944d5a1946 JT: clean-up module and move to PyCXX API 2023-11-06 20:07:06 +01:00
Kacper Donat 0a8936644e Gui: Move reset logic to PreferencePage 2023-11-06 19:43:19 +01:00
PaddleStroke 4eb8fc590c Std_Transparency : Toggle transparency of objects. (#10805)
* Std_Transparency : Toggle transparency of objects.
* Remove "Std_ToggleTransparency" from toolbar

---------

Co-authored-by: Paddle <PaddleStroke@users.noreply.github.com>
2023-11-06 12:41:27 -06:00
Kacper Donat b277b0b0e8 Gui: Rework preferences navigation as TreeView
This recreates current ListBox + TabView navigation model into
navigation based on TreeView.
2023-11-06 19:27:36 +01:00
pavltom f70454cc14 [TechDraw] - Fix issue #10094 2023-11-06 12:43:28 -05:00
Roy-043 592547fd60 Draft: renaming of anno style could fail
The error occurred if the style was in use.
2023-11-06 11:40:24 -06:00
Roy-043 1bc942d73a Draft: improved props_changed_placement_only function
There are more objects where `props_changed_placement_only` should always return `False`. The common denominator seems to be a non-empty OutList.

https://github.com/FreeCAD/FreeCAD/issues/8771
https://forum.freecad.org/viewtopic.php?t=82436
2023-11-06 18:33:13 +01:00
bgbsww 4c5d6ce303 Change overlay window arrow keys to use Ctrl instead of Shift 2023-11-06 11:23:59 -06:00
sliptonic 74a8820dfd Merge pull request #11248 from alromh87/WEDM
Added Path PostProcessor for old WEDM machines
2023-11-06 11:20:55 -06:00
Chris Hennes 62006d89bc Tools: Add entitlements to MacOS signing 2023-11-06 11:20:45 -06:00
mos 8f933f509f removed unused variable 2023-11-06 11:19:52 -06:00
sliptonic d2be17c29f Merge pull request #11245 from LarryWoestman/staging
Path:  Added typing to the refactored postprocessors.
2023-11-06 11:19:34 -06:00
mos 68feca4bf4 removed pylupdate4 used in qt4 2023-11-06 11:18:07 -06:00
Chris Hennes aaa0db3867 Merge pull request #11231 from DeflateAwning/http-cleanup
Find and replace http://freecad to https://freecad
2023-11-06 11:16:13 -06:00
Kuzemko Alexsandr 2d89e6131e Change [code] to ``` as code tag don't recognize and user need manually correct tag. (#11226) 2023-11-06 14:11:42 -03:00
sliptonic 6aba810070 Merge pull request #11218 from Rexbas/hide-spinning-rotation-center
Gui: Hide rotation center when in spinning mode
2023-11-06 11:04:45 -06:00
wmayer 89c8e7a76c Gui: issue #9205: Default settings make it hard to select objects in the 3D window 2023-11-06 10:58:20 -06:00
Chris Hennes cf84c171e6 Merge pull request #10978 from FlachyJoe/modernize-type-check
Modernize type and derived type checking
2023-11-06 10:44:32 -06:00
wmayer 0a9f664f46 Base: fix crash in PyException::ReportException() 2023-11-06 10:08:18 +01:00
Roy-043 d72df2f3e2 Draft: PlaneGui: view observer to update the Tray
Related issue:
#5603.

The view observer starts/stops when the Draft workbench is activated/deactivated.

Additionally:
* Minor improvements to _update_grid and _update_gui.
2023-11-05 21:42:44 +01:00
Roy-043 51fcdc16f9 Arch: Fix issue with getSceneGraph
Same issue as in #8171
2023-11-05 20:48:43 +01:00
MisterMaker 29fbab3a58 [GUI] Stylesheet fixes for overlay icons, pop-up notifcation and QMDI window (#11244)
* Fix for the overlay icons and pop-up notifcation

* Added a fix for the QMDI window
2023-11-05 04:34:09 -03:00
Adrian Insaurralde Avalos 9c093ba041 Sketcher: fix Line tool settings mode name 2023-11-05 07:36:22 +01:00
Abdullah Tahiri 1de8d9f10f Sketcher Gui: Fix dead code clang-tidy 2023-11-05 07:11:57 +01:00
Abdullah Tahiri 882262bfa8 Sketcher Gui: clang-tidy diagnostic errors 2023-11-05 07:11:57 +01:00
Paddle 889c8c49f1 SplashScreen : Add "ShowSplasherMessages" parameter to disable labels from the splashscreen. 2023-11-04 21:58:00 +01:00
LarryWoestman 2a2ff73c2c Path: Added typing to the refactored postprocessors. 2023-11-04 11:18:12 -07:00
Chris Hennes e2f4ec90a3 App/Toponaming: Minor refactor if read method 2023-11-04 11:47:11 -05:00
Chris Hennes 7db8cb373b App/Toponaming: Add TNP code to PropertyComplexGeoData 2023-11-04 11:07:52 -05:00
Chris Hennes cd1b85500c App/Toponaming: ComplexGeoData clang-tidy cleanup 2023-11-04 11:07:22 -05:00
Chris Hennes 8f105dc162 App/Toponaming: ComplexGeoData serialization
Direct copy from TopoNaming branch with only modifications needed to compile against API changes.
2023-11-04 10:24:17 -05:00
Paddle dc2da5aba1 Offset fix isActive function. 2023-11-04 08:58:50 +01:00
Paddle b4a54abed5 Polygon DSH : Small syntax improvements. 2023-11-04 08:58:50 +01:00
Paddle 785ec817c8 Line DSH : syntax and remove potential issues. For example in width+length mode, if user input 0 and 0, instead of validating it will unset the spinboxes. Preventing creation of null lines. 2023-11-04 08:58:50 +01:00
Paddle 3242144128 Rectangle DSH : Fix a bug where 3p rectangle with radius, radius would not apply. Also fix various edge cases. Improve syntax. 2023-11-04 08:58:50 +01:00
Paddle b72da63139 Offset DSH : Add pointer SVG. Some remove unecessary member initialization 2023-11-04 08:58:50 +01:00
Paddle 5fc39a5add DSDWC : typo 2023-11-04 08:58:50 +01:00
Paddle aa4a158e0c Prevent passing the focus to a spinbox when it shouldn't.
In some DSH some mode (seekSecond for example) don't have onViewParameter. In this case it would wrongly try to give focus to the previous spinbox with focus.
2023-11-04 08:58:50 +01:00
Paddle 336691cd5a Redraw on construction method changed. Avoid a small issue where you had to move mouse first before being able to rechange the methode by the M key. 2023-11-04 08:58:50 +01:00
Paddle 8788bcc0f4 SketcherToolDefaultWidget : Add a blockParameterFocusPassing bool that let us set parameters without passing focus. To fix undue passing of focus when using shortcuts U/J. For example in Polygon. 2023-11-04 08:58:50 +01:00
DeflateAwning 268aa366af Fix Gabriel Gómez's name 2023-11-03 11:49:54 -06:00
wmayer 2645242bc7 Material: fix Python bindings
* fix reference counting of Python objects
* fix crashes in several methods
2023-11-03 16:41:11 +01:00
wmayer 6eb95ca73c Material: fix compiler warning with Qt6
QVariant::Type is deprecated since Qt 6.0 and shouldn't be used in new code
2023-11-03 16:41:11 +01:00
wmayer b55aca0501 Material: fix compiler warnings
* unused parameter 'parent' [-Wunused-parameter]
* reference cannot be bound to dereferenced null pointer in well-defined C++ code; comparison may be assumed to always evaluate to false [-Wtautological-undefined-compare]
2023-11-03 16:41:11 +01:00
wmayer d48ae99424 Material: fix 'explicitly defaulted copy constructor is implicitly deleted [-Wdefaulted-function-deleted]' 2023-11-03 16:41:11 +01:00
wmayer 015c84066d Material: single-argument constructors must be marked as explicit 2023-11-03 16:41:11 +01:00
wmayer 5accd11c62 Fem: remove re-inserted CMake definitions 2023-11-03 16:41:11 +01:00
wmayer d8d6783152 Material: fix diagnostic errors with the clang code model 2023-11-03 16:41:11 +01:00
wmayer 2e017ac45a Material: remove several unreferenced variables 2023-11-03 16:41:11 +01:00
wmayer 0f31b1f29b Material: use get_filename_component() instead of cmake_path() to support older CMake versions 2023-11-03 16:41:11 +01:00
wmayer 7173463ae6 Material: QMetaType::type(const char*) is deprecatred and shouldn't be used in new code
And it looks like that QMetaType::type("Base::Quantity") neither works with Qt5 nor with Qt6 because it returns 0 as id that means the type is unknown.
2023-11-03 16:41:11 +01:00
wmayer d99658b3da Material: fix build failure with Qt6
setCodec() has been removed from QTextStream
2023-11-03 16:41:11 +01:00
wmayer 54c4ee4b78 Material: fix -Winconsistent-missing-override 2023-11-03 16:41:11 +01:00
Paddle aef013473b DrawSketchController and DrawSketchDefaultWidgetController : fix lint warnings 2023-11-03 14:02:25 +01:00
Paddle a0609b1a28 Sketcher: Polygon DSH 2023-11-03 14:02:25 +01:00
Paddle b65b1ff8de Sketcher: Offset DSH 2023-11-03 14:02:25 +01:00
Paddle c9f6639810 Sketcher: Rectangle DSH 2023-11-03 14:02:25 +01:00
Paddle 6769166bf4 Sketcher: Line DSH 2023-11-03 14:02:25 +01:00
Paddle c5de96fbd6 Sketcher: Point DSH 2023-11-03 14:02:25 +01:00
Paddle 3483090279 DSDH : add canGoToNextMode() methode in onButtonPressed. So that we can prevent going to the next mode on certain conditions. 2023-11-03 14:02:25 +01:00
Abdullah Tahiri 3f1f1047b2 Sketcher: Make GeometryConstructionMode an enum class
=====================================================

Enforce strong typing to avoid all kinds of abusive implicit conversionsm, the corresponding associated bugs and make code more readable.
2023-11-03 14:02:25 +01:00
Abdullah Tahiri 82fed5bbfc Sketcher: New flexible DSH Architecture
=======================================

Rewrite of the architecture to accomodate on-view parameters and to enable code reuse
between the default widget and custom widgets.
2023-11-03 14:02:25 +01:00
Paddle a5b5d01c22 DSH architecture: On-view spinboxes 2023-11-03 14:02:25 +01:00
Abdullah Tahiri 677694b0ba Sketcher: New DSH architecture to support multiple input
========================================================

Architecture to support multiple input from a widget and a mouse.
2023-11-03 14:02:25 +01:00
Abdullah Tahiri 3ad624236b Sketcher: DrawSketchHandler - refactor functions to draw/clear edit curve and markers 2023-11-03 14:02:25 +01:00
bgbsww 8baf75af84 Fix #11032 flickering when switching to Part Design
* Remove unneeded timer on taskview updates to fix #11032

* Remove obsoleted class member
2023-11-02 16:32:32 +01:00
wmayer bec1302fcf Part: refactor SectionCut 2023-11-02 08:17:06 +01:00
wmayer 25689aa9eb Part: fix crash in SectionCut 2023-11-02 08:17:06 +01:00
Alejandro Romero 6e23fcbe67 Added Path PostProcessor for old WEDM machines configurable for different machines:
G91 incremental coordinates
        --relative                  (Disabled by default)
    Specific comment character
        --comments-character        (None by default)
    Specific space character, use "" to ommit spaces
        --command-space             (" " by default)
    Add character before newline
        --endline-character         (None by default)
    Multiplier for machines that use not standard dimensions like micrometers (1000)
        --scale                     (1 by default)
    Define decimal points
        --precision                 (3 for mm, for inch by default)
    Add trailing 0s
        --fixed-length              (0 (disabled) by default)
    G0 rapid moves disabled by default, replaced with G1
        --use-rapids                (Set flag to enable G0)
    Disable setting units on output code G20/21
        --omit-units                (Set flag to avoid setting units)
    Force two digit codes G01 insted of G1
        --two-digit-codes           (Set flag to enable)
    Add + sign to positive coordinates
        --force-sign                (Set flag to enable)
    Ignore unsuported operations, use Labels and separate with ','
        --ignore-operations         (Empty by default)
2023-11-01 13:53:08 -06:00
pavltom 862eef57eb [TechDraw] Checkable menu item for Turn View Frames On/Off - segfault fix 2023-11-01 13:55:38 -04:00
pavltom 0083799ac1 [TechDraw] - Checkable menu item for Turn View Frames On/Off 2023-11-01 13:55:38 -04:00
wmayer d07441a0dd Part: refactor SectionCut::startCutting() 2023-11-01 16:58:35 +01:00
wmayer 474d5cc037 Part: refactor SectionCut::collectObjects() 2023-11-01 16:58:35 +01:00
wmayer 7f87b917e8 Part: fix manual formatting of SectionCut::setupConnections() 2023-11-01 16:58:35 +01:00
Chris Hennes 2c7638b7aa Merge pull request #11138 from davesrocketshop/material_editor_pr
Material: Material editor enhancements
2023-11-01 09:42:43 -05:00
Chris Hennes b2f069f8b0 Merge branch 'main' into modernize-type-check 2023-10-31 15:46:18 -05:00
Roy-043 e4d6c328fc Draft: clone IfcType and Subvolume properties
Fixes #11186.
2023-10-31 15:43:33 +01:00
Roy-043 951059d192 Arch: fix Placement multiplication for subvolumes
Fixes #11185.

Same problem as in #6617.
2023-10-31 15:42:46 +01:00
Roy-043 a2e85a4ae1 Draft: Updates related to the PlaneGui class (step 4)
Related issue:
#5603.

For gui_snapper.py and gui_trackers.py an intermediate solution has been adopted. They still rely on App.DraftWorkingPlane, but now use a small function to retreive it.

Simply switching to the PlaneGui class is problematic for the trackers as this results in an endless recursion (wp->grid->wp->...). Using the old App.DraftWorkingPlane (which is kept up-to-date by PlaneGui) solves this for now. I will try to return to this later (which may be after the next release though).
2023-10-31 15:41:21 +01:00
wandererfan 9a7163f533 [TD]fix 2 tidy warnings 2023-10-31 09:12:50 -04:00
Ed Williams 792af641db Base: set sys.last_vars to enable post mortem debugging after exception
* Update Interpreter.cpp to enable stack trace

This enables python debuggers to stack trace after an exception.
See https://forum.freecad.org/viewtopic.php?p=714349#p714349

Co-authored-by: bdieterm <119257544+bdieterm@users.noreply.github.com>
2023-10-31 09:40:57 +01:00
DeflateAwning 4a7280964c Fix license URL: perlfoundation.org/artistic-license-20.html 2023-10-30 07:36:31 -06:00
wmayer a1ecc2b543 Part: refactor constructor of SectionCut 2023-10-30 14:36:18 +01:00
wmayer 85f45c9956 Part: refactor onFlipXclicked, onFlipYclicked and onFlipZclicked of SectionCut 2023-10-30 14:36:18 +01:00
wmayer c3cd1a1191 Part: Fix Move enum to class with static members, fix & suppress some other lint warnnigs 2023-10-30 14:36:18 +01:00
wmayer b5bbf5433f Part: Fix many lint warnings in SectionCut 2023-10-30 14:36:18 +01:00
wmayer 4ade6fbfd5 Part: fix check with wrong pointer 2023-10-30 14:36:18 +01:00
sliptonic 680c518162 Merge pull request #11171 from LarryWoestman/staging
Path:  Removed some unneeded variables; shortened some long lines.
2023-10-30 07:44:46 -05:00
DeflateAwning 8de6db3e97 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
DeflateAwning c847a3d516 Change http to https in SVGs
Find and replace:
http:\/\/(.{0,10})freecad
https://$1freecad
Include: *.svg
2023-10-29 22:32:59 -06:00
DeflateAwning 5e466291b9 Tiny docs fixes 2023-10-29 22:25:30 -06:00
wmayer fe82b737e8 Part: format XML files 2023-10-28 22:45:15 +02:00
wmayer 196cbecde6 Tools: improve XML formatter
* Avoid adding '&#xd;' to the output
* Sort attributes of PythonExport element
* Remove trailing whitespaces from UserDocu text and replace tabs with 4 spaces
2023-10-28 22:38:46 +02:00
wmayer 3956205a26 [skip ci] Tools: add XML format tool 2023-10-28 16:57:32 +02:00
Roy-043 4c97acd386 Merge pull request #11204 from yorikvanhavre/draft-svg-linewidth
Draft: Fixed linewidths in SVG export
2023-10-28 14:48:35 +02:00
wandererfan 9a84364a46 [TD]fix spurious missing object message 2023-10-28 08:31:43 -04:00
Rexbas 870ca64654 Gui: Hide rotation center when in spinning mode 2023-10-28 11:04:51 +02:00
Camille 7bac7956a4 Fix issue #10144 [Problem] FreeCAD freezes when clicking inside spreadsheet - see issue for detailed explanation. 2023-10-27 18:38:13 +02:00
Camille 6cf8e7611e with this solution, we have traded a crash for a memory leak. so it is only activated for MAC OS where we have the crash, until we find a better solution. 2023-10-27 18:07:20 +02:00
Camille 27a6f78e9a Fix issue #9465 [Problem] Coin version on Mac Conda builds causes transform crash - see issue for detailed explanation. 2023-10-27 18:07:20 +02:00
Roy-043 40c2ca537d Merge pull request #11203 from Roy-043/Draft-Updates-related-to-the-PlaneGui-class-step-3
Draft: Updates related to the PlaneGui class (step 3)
2023-10-27 14:10:47 +02:00
Yorik van Havre 57e319ccd2 Draft: Fixed linewidths in SVG export - fixes #6034 2023-10-27 13:04:40 +02:00
Roy-043 ec50beebf4 Draft: Updates related to the PlaneGui class (step 3)
Related issue:
#5603.
2023-10-27 11:55:24 +02:00
wmayer c6c3b90b0d Gui: invalid property type used for spin box, duplicated object name used 2023-10-27 10:51:56 +02:00
Roy-043 3b1c590b53 Merge pull request #11117 from Roy-043/Draft-Updates-related-to-the-PlaneGui-class-(step-2)
Draft: Updates related to the PlaneGui class (step 2)
2023-10-27 10:49:56 +02:00
Roy-043 bccba05d20 Draft: PlaneGui: update wp._view earlier
Update wp._view before call to set_to_default, set_to_auto requires a 3D view.
2023-10-27 10:33:07 +02:00
pavltom ded89f5e8f [TechDraw] - Line Decoration Improvements 2023-10-26 14:30:36 -04:00
wandererfan 5c602bbc58 [TD]fix loss of line style 2023-10-26 14:07:46 -04:00
Roy-043 410d4f9f6a Part: Fix mistake in Part.getShape docstring
For confirmation see:
https://github.com/realthunder/FreeCAD/blob/cad29253a493084a1c52d09fe164d4d91428b265/src/Mod/Draft/draftguitools/gui_selectplane.py#L198
2023-10-26 10:32:54 +02:00
Rohan Mishra fa895df1c9 Update PointConstraintPy.xml
Issue #10729 

Update the API documentation for `src/Mod/Part/App/GeomPlate`
2023-10-26 10:27:12 +02:00
Rohan Mishra 82a74b15c3 Update CurveConstraintPy.xml
Issue #10729

Updated the API documentation for `src/Mod/Part/App/GeomPlate`
2023-10-26 10:26:18 +02:00
Chris Hennes cbd0ef5975 Merge branch 'main' into modernize-type-check 2023-10-25 16:07:28 -05:00
wmayer 41503d63eb Gui: replace SbBool with bool in View3DInventorViewer 2023-10-25 19:40:59 +02:00
wmayer 387a2984b6 Gui: fix lint warnings in View3DInventorViewer 2023-10-25 19:40:59 +02:00
wmayer 8e60e1c1a6 Gui: fix lint warnings in SoQTQuarterAdaptor 2023-10-25 19:40:59 +02:00
Roy-043 fa6bfd8607 Merge pull request #11179 from Roy-043/Draft-Make-Facebinders-link-aware-2nd-error-fix
Draft: Make Facebinders link-aware (2nd error fix)
2023-10-25 18:52:27 +02:00
Roy-043 85ace1ca33 Draft: Make Facebinders link-aware (2nd error fix)
Previous PRs: #11081 and #11156.
2023-10-25 18:16:43 +02:00
Rexbas 61c1b2bfc2 Gui: Apply Law of Demeter to starting and stopping animations 2023-10-25 11:17:55 +02:00
Rexbas 9eee332bb3 Gui: maybe_unused for unused parameters 2023-10-25 11:17:55 +02:00
Rexbas 7bb97c1882 Gui: Bring back removed lookAtPoint(SbVec3f&) 2023-10-25 11:17:55 +02:00
Rexbas a2c2bf5a4b Gui: Revert breaking Python interface change for viewPosition() 2023-10-25 11:17:55 +02:00
Rexbas 3a4fdbb3fd Gui: Add QObject as friend of NavigationAnimation 2023-10-25 11:17:55 +02:00
Rexbas a10fa294b6 Gui: Fix animation translation 2023-10-25 11:17:55 +02:00
Rexbas 65a4a65553 Gui: Set exact orientation when animation is finished 2023-10-25 11:17:55 +02:00
Rexbas bb1815b80a Gui: Add animation interrupted signal 2023-10-25 11:17:55 +02:00
Rexbas fdc07dba67 Gui: Split stopAnimation() into onStop() and inherited stop() 2023-10-25 11:17:55 +02:00
Rexbas b147e78cda Gui: Replace startAnimation() with inherited start() 2023-10-25 11:17:55 +02:00
Rexbas e2579b7685 Gui: Remove unnecessary 'started' variable member in navigation animation 2023-10-25 11:17:55 +02:00
Rexbas 37e600e766 Gui: Refactor navigation animations
- Animations are played through an Animator
- Standard animations have a fixed duration and inherit from QVariantAnimation
- The animation duration can be changed in the preferences
- Fix animations when using the two arrows above the NaviCube
- Start an animation or start and wait for an animation
- Replaces standard camera animations (e.g. by selecting standard views or NaviCube) with FixedTimeAnimation
- Replace View3DInventorViewer's CameraAnimation with FixedTimeAnimation
- Replace OpenInventor navigation style infinite spin animation with SpinningAnimation
- Stops an active animation when a new animation is started
- Stops an active animation when the user starts dragging, panning or zooming
- Refactor reorientCamera so it can be used in animations
- Enable animations by default
2023-10-25 11:17:55 +02:00
pavltom 4d17f4831a [TechDraw] - Cosmetic edge fixes 2023-10-24 19:22:13 -04:00
LarryWoestman 1222e77ee8 Path: Removed some unneeded variables; shortened some long lines. 2023-10-24 14:14:57 -07:00
Paddle d19a16ddd5 SketcherToolDefaultWidget : add 3 parameter configuration functions.
And remove the units from setParameter.
2023-10-24 19:28:13 +02:00
Paddle 0b7e8c80e1 EditableDatumLabel : prevent re-activation or re-startEdit. 2023-10-24 19:27:10 +02:00
Paddle eff45035a7 Add a 'value' double to EditableDatumLabel such that we can store the raw value of the spinbox. For the case where editStopped but we still need to access value.
Also write the value in the SoDatumLabel in case we stopEdit.
2023-10-24 19:27:10 +02:00
Paddle 7f1fe0a3f7 EditableDatumLabel : Change the 'invisibleToMouse' to 'visibleToMouse' to avoid double negation.
Also add parameter to startEdit to set this setting. Defaulting to false. So that we don't have to set manually again and again in tool settings.
2023-10-24 19:27:10 +02:00
David Carter 1a8550ae05 Merge branch 'material_editor_pr' of https://github.com/davesrocketshop/FreeCAD into material_editor_pr 2023-10-24 12:36:55 -04:00
pre-commit-ci[bot] 1f5330ea2e [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2023-10-24 12:36:36 -04:00
David Carter 58bacb6b40 Material: Material editor enhancements
Continues the work of the material subsystem improvements.

This merge covers the continued development of the material editor. The
primary improvements are in the handling of 2D and 3D array properties.
These properties are now fully editable, and can be saved and restored.

The cards now separate the author and license. These were previously
saved as a single item. Future support will be provided for standard
open source licenses.

Saving operations validate the cards to ensure UUIDs of materials are
considered. Warnings are given when a save could potentially impact the
models, such as saving over a material instead of creating a new
instance.

The editor is still not complete. There are a number of functional
elements, such as drag/drop operations, folder creation, and deletion
operations that need to be added to the main tree. State needs to be
saved and restored to improve the user experience. The appearance
preview also needs significant work. This will be handled in a future
PR.
2023-10-24 12:36:36 -04:00
wmayer aaa962944b Gui: With Qt6 QColor's redF(), greenF(), blueF() methods return a float 2023-10-24 13:30:40 +02:00
wmayer a8c65ec621 Gui: rename methods setBacklight() & isBacklight() to harmonize with setHeadlightEnabled() & isHeadlightEnabled() 2023-10-24 13:30:40 +02:00
Roy-043 4bfd892146 Merge pull request #11160 from Roy-043/Draft-Draft_SelectPlane-was-not-correctly-finished-in-case-of-a-pre-selection
Draft: Draft_SelectPlane was not correctly finished in case of a pre-selection
2023-10-24 11:53:46 +02:00
Paddle 2c3b467567 Fix build fail by adding
#include <Inventor/draggers/SoDirectionalLightDragger.h> to PreCompiled.
2023-10-24 10:46:41 +02:00
Roy-043 f12c3604d6 Draft: Draft_SelectPlane was not correctly finished in case of a pre-selection
Fixes #11157.
2023-10-24 10:44:46 +02:00
sliptonic b70956ba3d Merge pull request #11108 from jffmichi/fix_profile_open_edge_direction
Path: fix Profile open edges not respecting selected cutting direction
2023-10-23 18:25:03 -05:00
pre-commit-ci[bot] 6f15517f68 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2023-10-23 19:25:23 +00:00
David Carter d5d6fd5ef5 Merge branch 'material_editor_pr' of https://github.com/davesrocketshop/FreeCAD into material_editor_pr 2023-10-23 15:24:24 -04:00
David Carter 817e7b1b4d Material: Material editor enhancements
Continues the work of the material subsystem improvements.

This merge covers the continued development of the material editor. The
primary improvements are in the handling of 2D and 3D array properties.
These properties are now fully editable, and can be saved and restored.

The cards now separate the author and license. These were previously
saved as a single item. Future support will be provided for standard
open source licenses.

Saving operations validate the cards to ensure UUIDs of materials are
considered. Warnings are given when a save could potentially impact the
models, such as saving over a material instead of creating a new
instance.

The editor is still not complete. There are a number of functional
elements, such as drag/drop operations, folder creation, and deletion
operations that need to be added to the main tree. State needs to be
saved and restored to improve the user experience. The appearance
preview also needs significant work. This will be handled in a future
PR.
2023-10-23 15:24:18 -04:00
pre-commit-ci[bot] 0bedb2362d [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2023-10-23 19:22:11 +00:00
David Carter b3ab6c1ac1 Material: Material editor enhancements
Continues the work of the material subsystem improvements.

This merge covers the continued development of the material editor. The
primary improvements are in the handling of 2D and 3D array properties.
These properties are now fully editable, and can be saved and restored.

The cards now separate the author and license. These were previously
saved as a single item. Future support will be provided for standard
open source licenses.

Saving operations validate the cards to ensure UUIDs of materials are
considered. Warnings are given when a save could potentially impact the
models, such as saving over a material instead of creating a new
instance.

The editor is still not complete. There are a number of functional
elements, such as drag/drop operations, folder creation, and deletion
operations that need to be added to the main tree. State needs to be
saved and restored to improve the user experience. The appearance
preview also needs significant work. This will be handled in a future
PR.
2023-10-23 15:19:20 -04:00
Roy-043 e6a3470181 Merge pull request #11156 from Roy-043/Draft-Make-Facebinders-link-aware-fix-errors-in-previous-PR
Draft: Make Facebinders link-aware (fix errors in previous PR)
2023-10-23 20:57:22 +02:00
Roy-043 d6b402c59c Fix error in make_dimension.py 2023-10-23 20:24:30 +02:00
Paddle 5ced1c2680 SketcherToolDefaultWidget : add functions to set combobox item icons and checkboxes icons. 2023-10-23 20:24:20 +02:00
Roy-043 28e450ebda Draft: Make Facebinders link-aware (fix errors in previous PR)
Previous PR: #11081.
2023-10-23 20:08:59 +02:00
wmayer c017386d91 Gui: suppress & fix some lint warnings in DlgSettingsLightSources 2023-10-23 19:34:54 +02:00
wmayer 7350855ca0 Gui: fix possible crash when opening DlgSettingsLightSources 2023-10-23 19:34:54 +02:00
Roy-043 c558ae7484 Fix syntax error in wires.py 2023-10-23 19:33:06 +02:00
Roy-043 3a396e1ed3 Arch: Updates related to the PlaneGui class (#11153)
Related issue:
#5603.
2023-10-23 18:42:20 +02:00
Adrian Insaurralde Avalos 26d748587b fix #9347 - Improve PD Sprocket dialog wording 2023-10-23 13:34:33 -03:00
Florian Foinant-Willig eb55f1fe52 Part: modernize type checking 2023-10-23 18:12:03 +02:00
Florian Foinant-Willig 1a83d18a8f Inspection: modernize type checking 2023-10-23 18:09:39 +02:00
Florian Foinant-Willig f8dc128452 ReverseEngineering: modernize type checking 2023-10-23 18:09:33 +02:00
Florian Foinant-Willig a32851073d Sketcher: modernize type checking 2023-10-23 18:09:23 +02:00
Florian Foinant-Willig f3d238fde8 MeshPart: modernize type checking 2023-10-23 18:09:17 +02:00
Florian Foinant-Willig 96f8c2a5c3 Drawing: modernize type checking 2023-10-23 18:09:11 +02:00
Florian Foinant-Willig 41080dec5b Fem: modernize type checking 2023-10-23 18:09:04 +02:00
Florian Foinant-Willig 24352a7f4c TechDraw: modernize type checking 2023-10-23 18:08:59 +02:00
Florian Foinant-Willig 0193e20b26 Import: modernize type checking 2023-10-23 18:08:53 +02:00
Florian Foinant-Willig e12b7cacab Points: modernize type checking 2023-10-23 18:08:48 +02:00
Florian Foinant-Willig 0afd77c557 Spreadsheet: modernize type checking 2023-10-23 18:08:42 +02:00
Florian Foinant-Willig 7a843ddc29 Sandbox: modernize type checking 2023-10-23 18:08:32 +02:00
Florian Foinant-Willig a82a9482ce Robot: modernize type checking 2023-10-23 18:08:27 +02:00
Florian Foinant-Willig 6fb3984322 Surface: modernize type checking 2023-10-23 18:08:22 +02:00
Florian Foinant-Willig 6adc675a12 PartDesign: modernize type checking 2023-10-23 18:08:16 +02:00
Florian Foinant-Willig 2e16f5aa36 Mesh: modernize type checking 2023-10-23 18:08:06 +02:00
Florian Foinant-Willig 939f30420c Path: modernize type checking 2023-10-23 18:07:23 +02:00
Florian Foinant-Willig 773c701eec Core: modernize type checking 2023-10-23 18:07:07 +02:00
Paddle d08ead4d7f Set the default icon of View3DInventor 2023-10-23 12:06:08 -04:00
wmayer f566b449a6 Gui: fixes issue #11113: Adjust Default Main Light Position 2023-10-23 11:05:21 -05:00
sliptonic ee9b1b9e93 Merge pull request #11126 from marioalexis84/Fem-task_temperature
Fem: Connect constraint temperature spinboxes to properties and task dialog rework - fixes #11109
2023-10-23 10:58:36 -05:00
Roy-043 6d8fb68f3b Gui: Make "Dock window overlay" GUI texts more consistent (#11121)
* Gui: Make "Dock window overlay" GUI texts more consistent
* overlays -> overlay windows
2023-10-23 10:57:45 -05:00
wmayer 4c509c03ef PD: wrong direction determined for linear pattern
A selected edge of a sketch is not in local coordinates and thus its corresponding axis mustn't be multiplied with the sketch placement as
this will lead to a wrong direction vector.

Forum: https://forum.freecad.org/viewtopic.php?t=82022
2023-10-23 10:53:29 -05:00
Adrian Insaurralde Avalos 7754c44b55 Migrate away from deprecated distutils python package where possible 2023-10-23 10:51:50 -05:00
Adrian Insaurralde Avalos 82ddd7cd18 [FEM] Improve some task dialog layouts
reduce horizontal space taken for better UX
2023-10-23 10:50:35 -05:00
Vincenzo Calligaro 50725bf253 [Feature Request] [Draft] [UI/UX] new Draft_Hyperlink command (#10878)
* Draft: added the new Draft_Hyperlink command

Signed-off-by: CalligaroV <vincenzo.calligaro@gmail.com>

* Draft: added the new Draft_Hyperlink command
 * Updated regex condition for more Windows file paths and network resources
 * Added check for file existence
 * Modified syntax for Win32/CygWin case
 * Declared ret variable outside if statement

Signed-off-by: CalligaroV <vincenzo.calligaro@gmail.com>

* Draft: added the new Draft_Hyperlink command
 * Replaced os.startfile and subprocess.call with QDesktopServices.openUrl
 * Removed unused Python dependencies

Signed-off-by: CalligaroV <vincenzo.calligaro@gmail.com>

---------

Signed-off-by: CalligaroV <vincenzo.calligaro@gmail.com>
2023-10-23 17:42:47 +02:00
sliptonic acf7829269 Merge pull request #11063 from LarryWoestman/staging
Path:  Split up TestRefactoredTestPost.py; fixed lint errors.
2023-10-23 10:34:47 -05:00
wandererfan 8dea3487e2 [TD]refactor QGIFace into 2 files
- add PATPathMaker for the PAT hatch spec processing
  methods
- remove PAT methods from QGIFace
- remove obsolete conversion of svg hatch to pixmap
2023-10-23 11:01:38 -04:00
wandererfan d01e9165a5 [TD]resolve variable name confusion
QPen and QBrush variable names were too similar and
easily confused.
2023-10-23 11:01:38 -04:00
wandererfan 6876eca8e7 [TD]remove obsolete exportingPdf flag handling 2023-10-23 11:01:38 -04:00
Roy-043 ca06e87a38 Draft: Updates related to the PlaneGui class (step 2)
Related issue:
#5603.

Additionally:
Fixed the issue where the texts of Arch_Space objects were not exported to DXF.
2023-10-23 16:25:12 +02:00
Roy-043 03aa8309db Merge pull request #11129 from Roy-043/Part-Filter-selection-GUI-texts-to-sentence-case
Part: Filter selection GUI texts to sentence case
2023-10-23 09:24:24 +02:00
Roy-043 07210c8378 Updated 2023-10-23 09:19:59 +02:00
Roy-043 61dc74551c Part: Filter selection GUI texts to sentence case 2023-10-23 09:19:59 +02:00
Rexbas e642210eab Gui: Remove CornerNaviCube from OverlayParams and use directly in OverlayManager 2023-10-23 01:42:26 -03:00
LarryWoestman 6f41fe09fd Path: Split up TestRefactoredTestPost.py; fixed lint errors. 2023-10-22 14:08:17 -07:00
Roy-043 8636dd1848 Merge pull request #11144 from Roy-043/Draft-PlaneGui-some-minor-fixes
Draft: PlaneGui: some minor fixes
2023-10-22 20:13:52 +02:00
Roy-043 28593e4658 Draft: PlaneGui: some minor fixes
Related issue:
#5603.

* The history idx value was not handled properly.
* Part.getShape() ignores the Placement of a selected BuildingPart. Have to use `place * obj.Placement`.
2023-10-22 19:48:31 +02:00
Roy-043 2b4ebc6796 Draft: importSVG: handle viewBox in mm (PR10929 fix was not correct) (#11143) 2023-10-22 19:45:15 +02:00
Roy-043 5110c80385 Draft: importSVG: handle viewBox in mm (PR10929 fix was not correct) 2023-10-22 17:51:14 +02:00
Paddle f45fd8fe35 Sketcher: commandConstraint : remove leftover bothexternal variable. 2023-10-22 13:51:21 +02:00
Roy-043 35ab4a28c9 Draft: Fix Gui.doCommand issue in gui_planeproxy caused by PR11080 (#11134)
The previous code resulted in a syntax error.
2023-10-22 11:15:00 +02:00
wmayer 0b0e9effeb tests: add initApplication() to avoid code duplications 2023-10-21 16:31:26 -05:00
marioalexis c728676d6e Fem: Connect constraint temperature spinboxes to properties and task dialog rework - fixes #11109 2023-10-21 00:38:39 -03:00
wandererfan e3ad4d35dc [TD]fix printAllPdf info block text 2023-10-20 19:08:34 -04:00
Roy-043 e28d8234bc Gui: Improve texts for unit system preferences 2023-10-20 20:13:17 +02:00
Roy-043 2f5ea88ab7 Gui: MenuText for Std_SelBack and Std_SelForward in sentence case 2023-10-20 20:11:36 +02:00
pavltom 4ea8558e09 [TechDraw] - Cosmetic circle fixes 2023-10-20 12:18:30 -04:00
wmayer ce9c57383a Sketch: use new-style connect() in new code 2023-10-20 14:23:21 +02:00
wmayer 7f23467674 Sketch: fix several compiler and lint warnings
* Remove private unused field 'sketchView'
* Mark constructor with single argument as explicit
* Mark virtual methods of base class as override
* Fix clang code model parsing error
* Avoid too short identifiers
* Avoid redundant ternary operators
* Avoid passing Base::Unit by value but by const reference
2023-10-20 12:29:59 +02:00
Roy-043 345df4b399 Draft: PlaneGui: minor fixes (#11115)
Related issue:
#5603.

* An 'auto' WP should not be added to the history if the previous WP in the history is also 'auto'.
* The `get_working_plane` function should only call `set_to_default` if the GUI is up. The axis of the returned WP should match global +Z if the GUI is not up.
2023-10-20 12:28:00 +02:00
wmayer 5a6cfafda8 Sketch: fix Qt6 build failure
QRegExp has been replaced with QRegularExpression and isn't part of the base of Qt6 any more
2023-10-20 11:57:21 +02:00
Paddle 98e4f840ac EditableDatumLabel add 'isInEdit' to check if the label is in edit. 2023-10-20 11:23:33 +02:00
Paddle b3f8745d93 EditableDatumLabel add support for angle labels. 2023-10-20 11:23:33 +02:00
jffmichi 84f5fe9f7b Path: fix Profile open edges not respecting selected cutting direction 2023-10-20 02:40:51 +02:00
wmayer c85bc2a755 PD: fix constructor of TaskTransformedParameters 2023-10-19 22:58:46 +02:00
wmayer a9d80740a8 Test: add unit tests for Matrix4D::decompose() 2023-10-19 19:25:25 +02:00
wmayer 2e13a6a5a1 Base: add overloaded method Matrix4D::isUnity() 2023-10-19 19:25:25 +02:00
wandererfan 9defdaf0a6 [TD]#11091 item 12 array over run 2023-10-19 10:07:48 -04:00
wandererfan 26801ac1f1 [TD]#11091 - fix issue 1 getQGVPage() 2023-10-19 10:07:48 -04:00
wmayer cefa965e8c Gui: remove redundant std::string from DlgRevertToBackupConfigImp::showEvent() 2023-10-19 15:49:04 +02:00
wmayer 5f0fcf0815 PD: remove redundant std::string from TaskFilletParameters::apply() 2023-10-19 15:49:04 +02:00
wmayer ad77d462df PD: avoid creation of tmp. std::string in TaskAttacher::onRefName 2023-10-19 15:49:04 +02:00
wmayer 7200cfe90d Mesh: disable potentially unsafe code in Wm4 library 2023-10-19 15:10:09 +02:00
Roy-043 7eda70c737 Draft: importDXF: fix off layer bug (#11090)
* Draft: importDXF fix off layer bug

Fixes #10254.

* Typo

* Typo 2
2023-10-19 09:57:48 +02:00
wmayer e95a1d7917 Sheet: remove double call of 'mimeData->hasText()' 2023-10-18 23:05:24 -05:00
wmayer e10d21f4e1 TD: fix QGIViewPart::highlightMoved 2023-10-18 19:45:23 -04:00
wmayer 9012fec857 TD: fix GeometryMatcher::compareBSplines 2023-10-18 19:43:51 -04:00
Tuomas Kuosmanen 9688337554 Update CONTRIBUTING.md to reflect branch naming change
FreeCAD switched to use "main" branch in development. Updating CONTRIBUTING.md to reflect that.

https://github.com/FreeCAD/FreeCAD/discussions/10226
2023-10-18 14:22:45 -05:00
Kacper Donat e8c1a13b7c Gui: Target 3DViewer directly for overlay wheel events
Fixes: #11015
2023-10-18 18:48:05 +02:00
Adrian Insaurralde Avalos 3fe4cdd977 [PD] Remove unused old hole feature implementation
Has been disabled for 7 years a there's an existing newer implementation
2023-10-18 12:09:13 +02:00
hasecilu 3b0720c2b2 Shorten string width to 80 characters.
- The string of the some tooltips are very long that use all screen width.
- In other .ui files seems to be a max width of about 80 characters.
- This commit shortens the long strings.
- Also fixes some words capitalization noted by david69 on Crowdin
2023-10-18 09:51:34 +02:00
Roy-043 f0db4e8ef5 Draft: Updates related to the PlaneGui class
Related issue:
#5603.
2023-10-18 09:50:50 +02:00
Roy-043 0c4dd64f1d Draft: Make Facebinders link-aware
Forum topic:
https://forum.freecad.org/viewtopic.php?t=81997

Additionally:
* Fixed offset and extrusion for non-planar faces.
* Improved the addSubobjects function,
* Cleaned up the code a little bit.
2023-10-18 09:50:18 +02:00
Adrián Insaurralde Avalos ed61cbfe91 fix #9348 - Improve Part_Measure_Clear_All tooltip 2023-10-17 17:46:56 +02:00
Rohan Mishra 806fdce9b7 Update MakePrismPy.xml
#10773  
Solved the issue and Update the MakePrismPy.xml
2023-10-17 17:45:07 +02:00
Roy-043 cf9b342cd4 Draft: Update gui_selectplane.py
Related issue:
#5603

Previous PR:
#11010

* This PR implements the new PlaneGui class for the Draft_SelectPlane command.
* As mentioned in the previous PR, almost all working plane related code has been removed from gui_selectplane.py.
* The task panel has a new button "Next" to switch to the next working plane in the history.
* Both the "Previous" and "Next" buttons are only enabled if there is a corresponding step in the history.
* PlaneGui stores a working plane per 3D view, but the other commands have to be updated before that system is fully functional.
* Code to update the toolbar when switching to a different view will be added later.
2023-10-17 15:05:28 +02:00
Roy-043 fd609b4e37 Draft: Fix angular dimension issue caused by #10556
Forum topic:
https://forum.freecad.org/viewtopic.php?t=81956

This PR basically reverts PR #10556.

The angular offset required for the Draft_Arc command is handled in the gui_arc.py file instead. Also removed the unused `urotated` variable from that file.
2023-10-17 15:05:12 +02:00
Adrian Insaurralde Avalos 4226c140ad AddonManager: handle the case of symlinked addon when uninstalling
see #11045
2023-10-16 22:50:31 -05:00
sliptonic 14e0c073c9 Merge pull request #11061 from Ondsel-Development/zcorrectFix
Add F-word to output on zcorrect dressup
2023-10-16 13:40:18 -05:00
Victor Predko f76f842302 File formats: Uppercase file types when importing a file. (#10977)
* Added uppercase extensions for supported formats

In the file App\Application.cpp

* Added file types in upper case

* Adds uppercase file types to the file import filter.

Fixes #10879

* Added filter for *.fcmacro *.fcscript
2023-10-16 14:40:46 -03:00
wmayer 1547003554 Gui: fixes #11045: Freecad fails to start after uninstalling disabled addon
The PR refactors FindPreferencePacksInPackage() and splits program logic from exception handling. It also handles std::exception to give more
information about a possible failure
2023-10-16 11:34:26 -05:00
Yorik van Havre 1c18768634 Merging the Help module (#11008)
* Adding the Help module - fixes 10527, fixes #10512

* Aded Help to pre-commit

* [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>
2023-10-16 11:17:06 -05:00
wmayer 70cce0d65b Gui: implement the methods of WorkbenchManipulatorPython 2023-10-16 18:13:41 +02:00
wmayer 823a8d593f Gui: when closing application remove all manipulators 2023-10-16 18:13:41 +02:00
wmayer 728b867738 Gui: expose functions to Python to add and remove a manipulator 2023-10-16 18:13:41 +02:00
wmayer bf31a2ce03 Gui: Python support of workbench manipulation 2023-10-16 18:13:41 +02:00
atlast-50 c8fbe03eb1 Gui: Rename forumula to expression + add hotkey to expression tooltip
Fixes #10601
2023-10-16 18:03:10 +02:00
Ajinkya Dahale 49dfaaefa0 [Core] Use keyword arguments in DocumentObjectPy addProperty 2023-10-16 17:49:12 +02:00
sliptonic 7fde49414f Fixes #10928
Add F-word to output on zcorrect dressup
2023-10-16 10:28:56 -05:00
sliptonic c95a99cd6f Merge pull request #10953 from jffmichi/rework_leadinoutdressup
Path: rework LeadInOutDressup
2023-10-16 09:14:13 -05:00
MisterMaker 5401e856df [Overlay/Stylesheets] Add seperate Overlay stylesheets for default stylesheets. (#11005)
Added the overlays to the preference packs also made the editor text a bit darker.
2023-10-16 11:13:28 -03:00
marioalexis e33bd29b6e Fem: Remove unnecessary DataAtPoint marker 2023-10-16 15:58:57 +02:00
marioalexis 57f71e2a9c Fem: Remove FemPostDataAtPointFilter Radius property and add PointSize to their view provider - fixes #5719 2023-10-16 15:58:57 +02:00
Kacper Donat de030e8fbb Gui: Target proper widget when passing wheel event
Fixes: #11015
2023-10-16 10:45:34 -03:00
sliptonic a34896a0a3 Merge pull request #10914 from LarryWoestman/staging
Path:  Added type annotations along with some refactoring.
2023-10-16 08:04:43 -05:00
Yorik van Havre f474800d94 Arch: Made Arch Reference case-insensitive - issue #10874 2023-10-16 09:25:10 +02:00
Abdullah Tahiri 71a9eca750 Sketcher: ToolSettings Widget - Tool Management
===============================================

Sets the full interface between the DrawSketchHandler and a tool widget available somewhere in the UI.

Signalling is as follows:
1. On activation of the tool, DrawSketchHandler notifies the tool widget.
2. The tool widget retrieves tool information necessary for representation (type of widget, visibility, ...)
3. When the tool widget has created an appropriate widget, it notifies back a widget change.
4. The tool receives the widget handler and can now configure and interact with the widget.
2023-10-15 15:20:03 +02:00
Paddle 9538aafc9a Sketcher: DrawSketchHandler - add getViewer function to drawsketchHandler to simplify code. 2023-10-15 15:20:03 +02:00
Paddle c62f5f30fd ToolWidget-Sketcher: Tool widget basic framework
================================================

Provides a framework to show in the taskbar a taskbox with a tool settings dialog.
2023-10-15 15:20:03 +02:00
Roy-043 a1b8a2ec70 Draft: Change get_3d_view to only return the active 3D view (#11050)
Related issue:
#10634

Also needed to avoid warnings from the PlaneGui class.
2023-10-15 14:28:32 +02:00
Roy-043 8ad5c6ca94 Draft: PlaneGui: minor fix (#11049)
* Draft: PlaneGui: minor fix

Related issue:
#5603.

* Typo
2023-10-15 14:28:02 +02:00
wmayer af5b8714a8 Assembly: fixes #11034: Assembly_rc.py not installed 2023-10-14 18:28:53 -03:00
Kacper Donat 147cd7cc53 Gui: Register overlay search path from preference packs
This commit adds "<mod>/overlay" path to search paths of "overlay"
prefix. This allows preference packs to register custom overlay
stylesheets.

Fixes: #11023
2023-10-14 16:48:24 -04:00
Roy-043 b4186745c4 Draft: PlaneGui: some updates and fixes. (#11040)
Related issue:
#5603.
2023-10-14 21:50:14 +02:00
wmayer b99feff9fb Gui: Switch back to a single Reset button
The reset button opens a menu that offers all options to reset the user settings.
2023-10-14 21:48:53 +02:00
wmayer 74c236f947 Gui: [skip ci] remove empty lines from .ui file 2023-10-14 16:30:37 +02:00
wmayer 310c052134 Gui: implement option to disable overlay management 2023-10-14 13:36:12 +02:00
marioalexis 3f1ecf9141 Fem: Change TaskPostBoxes constructors to specific view providers 2023-10-14 00:43:59 +02:00
Paddle 259a9dba37 Add setHeaderIcon to actiongroup.h 2023-10-13 19:05:16 +02:00
Paddle 4dbca6eab2 EditableDatumLabel : Prevent passing the focus with tab. And small thing. 2023-10-13 19:03:45 +02:00
Paddle fa2b0c8f7c Adds SoDatumLabel::getLabelTextCenter() to get the externalize the finding of position of text center. 2023-10-13 19:03:45 +02:00
Paddle 3f1251df25 editableDatumLabel : add setSpinboxInvisibleToMouse 2023-10-13 19:03:45 +02:00
wmayer e859961e8f Gui: Make sure the title of the combo view is 'Model' again 2023-10-13 16:17:25 +02:00
wmayer 19fcb32ff0 Gui: make tab position of combo view configurable and set it back to North by default 2023-10-13 16:17:25 +02:00
wmayer 46f8ad3d7f Gui: refactor MainWindow::initDockWindows
* split MainWindow::initDockWindows into smaller functions
* remove of legacy group for Tree view, Property view and DAG view
* simplify code logic
2023-10-13 16:17:25 +02:00
wmayer a264a6fb5e Gui: fix size policy of placement dialog 2023-10-13 11:09:33 +02:00
wmayer ae3b92eb15 Gui: fix invalid placeholder for argument in QString 2023-10-13 08:39:55 +02:00
wmayer aa5bea4e2e Base: add method XMLReader::isStartOfDocument() 2023-10-12 19:46:21 +02:00
Kacper Donat 4f1fcbd03b [Gui] Fix trailing whitespace and spelling issues 2023-10-12 15:54:24 +02:00
Kacper Donat 9d5390ed83 [Gui] Prefer Dark-Outline as default overlay stylesheet
FreeCAD 3D View is often somewhat dark even if the UI is in light
colors. So if user has not speficially applied "Light" stylesheet we
should prefer to use "Dark-Outline" stylesheet which provides proper and
fully transparent overlay panels.
2023-10-12 15:54:24 +02:00
sliptonic 06af8b2bd8 Merge pull request #10915 from xtemp09/path-fix2
[Path] Prevent division by zero
2023-10-12 07:11:25 -05:00
Roy-043 a0af13ad2c Draft: Introduction of the PlaneGui class
Related issue:
#5603.

Previous PRs:
#10766
#10838
#10931

Short explanation:
* The PlaneGui class handles several GUI related aspects of the WP including a WP history.
* The `get_working_plane` function should be used to get a WP.
* Some of the code was taken from gui_selectplane.py. The intention is to remove almost all WP related code from that file. The icon, tooltip and label for the draftToolBar are also handled by PlaneGui.
* The tooltip shows extended information about the WP (position and axes vectors). An asteriks is appended to the label if the origin does not match the global origin.
* The `_update_all` function still updates FreeCAD.DraftWorkingPlane for compatibility.
* Some confusing names from the Plane class have been changed: `weak` -> `auto`, `reset` -> `set_to_auto`, `setup` -> `auto_align`.

Next step:
Implementing PlaneGui in Draft and Arch. The gui_selectplane.py file will be updated first.
2023-10-12 13:11:57 +02:00
marioalexis 56422b177b Fem: Plot vector components in FemPostDataAlongLineFilter - fixes #5916 2023-10-12 12:49:18 +02:00
wmayer dcfd888c8f Tests: extend some reader tests after fixing givenDataAsXMLStream 2023-10-12 12:07:47 +02:00
Haas 75419d50b0 Fixed indicator for Qcombobox for Qstyle Fusion 2023-10-12 12:06:44 +02:00
wmayer 552b1f48b1 Gui: fix some important linting warnings:
* cppcoreguidelines-explicit-virtual-functions
* google-explicit-constructor
2023-10-12 11:48:16 +02:00
wmayer e37e924b85 Gui: port new code to Qt6 2023-10-12 11:48:16 +02:00
Roy-043 a8864ae28b Draft: Import DXF: handle arc angles larger than 360 degrees
See #10985.
2023-10-12 10:52:30 +02:00
wmayer 27dd573101 Gui: remove trailing whitespaces (thanks luzpaz) 2023-10-12 00:58:44 +02:00
wmayer b016e328f5 Gui: removing parameters from settings that affects older versions is rude 2023-10-12 00:58:44 +02:00
wmayer be70307867 Gui: fixes OverlayManager issues
* QMetaObject::invokeMethod: No such method Gui::OverlayManager::raiseAll()
* variable 'total' set but not used [-Wunused-but-set-variable]
* 'globalPos' is deprecated: Use globalPosition() [-Wdeprecated-declarations]
2023-10-12 00:58:44 +02:00
wmayer 4eee90f6d4 Gui: replace deprecated QDesktopWidget with QScreen
Since Qt5.11 QDesktopWidget is marked as deprecated and has been removed in Qt6. New code has to use QScreen instead.
2023-10-12 00:58:44 +02:00
wmayer 5449281108 Gui: fix tab order and duplicated widget names in DlgSettingsTheme.ui 2023-10-12 00:58:44 +02:00
Yorik van Havre 55292e9041 Import: Support DXF text rotation (#11001)
* Import: Support DXF text rotation - fixes #10882

- Reads and supports text rotation in builtin DXF import
- Makes the builtin DXF import produce Draft texts instead of App::Annotations
- Extends the arguments of Draft make_text()

* [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>
2023-10-11 17:05:31 +02:00
wmayer fbc447ad4b Gui: fixes a problem that if executing a macro that requires user-interaction this is blocked 2023-10-11 15:19:04 +02:00
wmayer 5b1ccf895a TD: fix -Wsign-compare 2023-10-11 15:12:42 +02:00
wmayer fe79eed98f Import: fix -Wunused-private-field 2023-10-11 15:12:42 +02:00
wmayer b197473842 Tests: suppress warning about intened self-assignment 2023-10-11 15:12:42 +02:00
wmayer be2aa179b1 Tests: fix undefined behaviour in givenDataAsXMLStream 2023-10-11 12:05:37 +02:00
wmayer a6ff03d54b Material: remove several unreferenced variables 2023-10-11 12:04:26 +02:00
wmayer 14f2653c40 Core: fix compiler warning due to boost 2023-10-11 12:04:26 +02:00
Roy-043 c01c0a2e45 Draft: Use DXF OCS when importing circles and arcs to Part shapes
See #10985.
2023-10-11 10:08:58 +02:00
Zheng, Lei 21e6e7a79b Gui: expose various overlay UI options to preference pages 2023-10-11 09:58:53 +02:00
Zheng, Lei bf9584a90b Gui: add support for transparent overlay docking widget 2023-10-11 09:58:53 +02:00
Zheng, Lei 07542c5660 Gui/TechDraw: declare 'panning' capability in views
OverlayManager queries this capability to determin whether to auto hide
the overlay docking widgets
2023-10-11 09:58:53 +02:00
LarryWoestman 37e9aa9f94 Path: Added type annotations along with some refactoring. 2023-10-10 14:04:54 -07:00
Chris Hennes e0f73af414 Merge pull request #10909 from chennes/toponamingPhase3Card1
App/Toponaming: Add base64 encoding to XML
2023-10-10 12:00:53 -05:00
Chris Hennes 9b11c36708 Base/Toponaming: Refactor to extract filters to new file 2023-10-10 11:28:30 -05:00
Chris Hennes 5b30bdc2f0 App/Toponaming: Linter cleanup of Base64 code
Does not address pointer arithmetic or array indexing complaints.
2023-10-10 10:19:44 -05:00
Chris Hennes 5975e3d51e App/Toponaming: Add base64 encoding to XML 2023-10-10 10:19:43 -05:00
Roy-043 7029c6f53e Arch: Fix multiple issues with ImportOBJ.py
Fixes #6187.

Other fixes:
* Made handling of shapes and global placement more consistent.
* Shapes without curves were also triangulated.
* Polygonal faces could have flipped normals and duplicate points.
2023-10-10 16:44:57 +02:00
Zheng, Lei 9287f94974 Gui: fix selection of nested object in App::Part 2023-10-10 14:28:26 +02:00
marioalexis 0ea0ea807b Fem: Remove callback added by filters task box and rework marker classes 2023-10-10 13:58:34 +02:00
Paddle 951edf3ec4 Fix typo making Sketcher_Dimension fails for angles. 2023-10-10 13:48:07 +02:00
wmayer e6bd1f10e9 App: the function findLicense() uses the '==' operator to compare two C strings.
This is wrong and leads to failures under Windows.
2023-10-10 13:31:10 +02:00
wmayer 816a054203 Core: switch from master to main in version number script 2023-10-10 13:09:44 +02:00
wmayer 7c33d7d473 Gui: Initial save of a document doesn't have the expected thumbnail
When saving the thumbnail there is a check if the 3D window is the active window. This check fails if a document is saved for the first time because
the appearing file dialog causes the 3D window to not be active any more. Thus, no snapshot of the 3D window will be created and the program logo will be
saved instead. A workaround is to save the document twice.

This PR removes the check for the active window so that the snapshot can be created. The issue might be related to #10937.
2023-10-10 13:08:29 +02:00
wmayer 057469c225 Import: fixes #10983: Crash when trying to import a DXF file with Polish letters in the name 2023-10-10 12:58:47 +02:00
Florian Foinant-Willig 191aee568f Fix #10910 2023-10-09 22:54:12 +02:00
Rexbas 908f6c9f78 Gui: Fix rotation center indicator for Gesture styles 2023-10-09 22:30:05 +02:00
Haas b86d8852e5 Update DlgSettingsWorkbenchesImp.cpp
added translucent background for workbench name/icon widget.
2023-10-09 16:42:53 +02:00
xtemp09 a710eb23c2 [GUI] Fix memory leak in ViewProviderPlane.cpp 2023-10-09 16:27:39 +02:00
wmayer 13dce7864d Gui: Enable the thumbnail size widget by default
With PR #10016 the saving of thumbnails is on by default but the spin box to set the size is still disabled.
This results into an inconsistency and one has to click the Save thumbnails check box twice to enable the size widget.
2023-10-09 16:23:35 +02:00
wmayer 1312b9d2ac Tests: add unit tests for XMLReader::readNextElement() 2023-10-09 15:06:45 +02:00
wmayer a2c2e4fb16 Core: In XMLReader::readNextElement() support structure <element>data</element> 2023-10-09 15:06:45 +02:00
wmayer ce3e6b9b24 Core: add method to XMLReader to access next element of an XML file
If the next element could be read-in successfully true is returned, and false otherwise.
2023-10-09 15:06:45 +02:00
wmayer 56820718c5 Core: Revert superfluous changes made with PR #9521 2023-10-09 15:06:45 +02:00
luzpaz e7a0690d47 Preferences: remove whitespace before colon
Uniformity fix in the preference page
2023-10-09 14:44:42 +02:00
Roy-043 80f97a588a Draft: Fix cursor scaling issue
Fixes #6793
2023-10-09 14:01:21 +02:00
Roy-043 e72da8abb6 Arch: ArchFrame typos when checking enum values 2023-10-09 13:55:46 +02:00
wmayer 2bd89e5771 Start: fixes #10221: /tmp/FreeCADStartThumbnails* directories are not removed when FreeCAD terminates
The commit adds some new functions:

* getThumbnailDir()
  Returns the path to the thumbnail directory which is a sub-directory of the Cache directory.
  There is no need to always create a unique directory after each restart because it doesn't harm
  if the thumbnail directoy contains deprecated files.

* createThumbnailDir()
  Creates the thumbnail directoy if it doesn't exist yet.

* getSha1Hash
  Helper function to compute a SHA-1 hash of a given path. If the same path is passed
  then the hash value will be the same.
  This way it can be avoided to create a different image file from a project file
  after each restart.

* getUniquePNG
  Computes the path of a PNG image file for a given project file. It's also possible
  to pass an arbitrary string as argument.

* useCachedPNG
  If the PNG image exists and if it's newer than the project file True is returned
  and False otherwise.

The changes in detail are:
1. For a given project file it is checked if the thumbnail directory already contains
   a cached image. If it's newer than the project file it will used, otherwise it will
   be re-created.

2. For the system icon to a given file format it is only checked if the icon already exists.
   If yes, it will be used.
2023-10-09 13:54:11 +02:00
Roy-043 6440caa038 Arch: Read and write object.Label on Wavefront OBJ import and export
Fixes #5635.
Fixes #5636.
2023-10-09 13:28:55 +02:00
Roy-043 3c14a56eed Draft: fix multiline offset for rotated SVG texts
Forum topic:
https://forum.freecad.org/viewtopic.php?p=711184#p711184
2023-10-09 13:27:54 +02:00
Matthew Woehlke a7e4804e52 Fix build for C++20
Remove template argument list from constructor names. It has never been
necessary, and is forbidden in C++20 (n.b. CWG 2237¹). This has also
been independently fixed upstream in r449².

Fixes #10952.

¹ https://cplusplus.github.io/CWG/issues/2237.html
² https://sourceforge.net/p/cxx/code/449/
2023-10-09 10:46:05 +02:00
Abdullah Tahiri e9187412d9 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
Abdullah Tahiri e19ef9b8ce Base: templates for type checking
=================================

Original idea of Werner:
https://github.com/FreeCAD/FreeCAD/pull/10643#issuecomment-1712966545

I really liked this syntax to avoid repetition and even explicit consideration of Types when type checking.

I thought it would be a pitty to get it lost.
2023-10-07 23:12:46 +02:00
David Carter b1a7ca4054 Material: Update Python tests to work with other locales
Update Python tests to work with other locales

This fixes issues #10917 and #10924

Numeric values were beign compared to strings that did not take into account localizations. The test was modified to work regardless of localization.

There is still a known issue when working with pt_BR.UTF8. The default encoder for this localization is not UTF8 resulting in an error working with a parameter that returned the UTF character for the Greek letter mu in its units.
2023-10-07 19:44:13 +02:00
marioalexis 05e28cf550 Fem: Remove markers from scenegraph - fixes #10438 2023-10-07 14:09:20 +02:00
Abdullah Tahiri 96efff81c7 Sketcher: Fix segfault when activating a tool in a different view
=================================================================

When in Sketcher edit mode, a tool button is activated, while the view has been changing to view of a different type, it segfaults.

This commit checks the pointer of the view to ensure correct type before activation, and refusing to activate if not of the correct type.

fixes #10809
2023-10-07 09:00:06 +02:00
Paddle 37b68f3931 Create makeAngleBetweenTwoLines and Create Create calculateAngle to remove duplicates 2023-10-07 07:43:39 +02:00
wandererfan 772bd03cff [TD]fix fail on unmeshed shape 2023-10-06 20:39:38 -04:00
sliptonic aa82948b27 Merge pull request #9521 from AgCaliva/User/Document/Feature_level_units_selection_#7746
Adding "ProjectUnitSystem" support to project files.
2023-10-06 07:56:59 -05:00
jffmichi 9132391f84 Path: fix LeadInOutDressup task panel showing wrong values on certain locales 2023-10-06 05:54:30 +02:00
jffmichi 37f7030531 Path: use helper functions from Utils.py instead of directly accessing obj.Base in dressups 2023-10-06 05:54:30 +02:00
jffmichi 176c88812a Path: rework LeadInOutDressup 2023-10-06 05:54:30 +02:00
sliptonic 5f14ef7656 Merge pull request #10935 from marioalexis84/Fem-force
Fem: Force constraint overhaul
2023-10-05 12:12:06 -05:00
wmayer 95f1e3c038 Base: replace calls of printf() with Console().DeveloperWarning()
and remove the assert(0) statement as this is an indication of a problem in the code but not serious enough to crash the application
2023-10-05 14:06:37 +02:00
mwganson 579d4278de [MacroExecuteDialog] set keyboard focus to LineEditFind 2023-10-05 10:35:32 +02:00
wmayer 13cd3b7379 Part: add unit tests for empty face 2023-10-05 08:15:33 +02:00
wmayer 82c7427da9 Part: add unit tests for empty edge 2023-10-05 08:15:33 +02:00
Florian Foinant-Willig afe8e70b86 Part: fix crash with null face 2023-10-05 08:14:50 +02:00
Florian Foinant-Willig 74a31d1473 Part: fix #10868 crash with null edge 2023-10-05 08:14:50 +02:00
wandererfan d72478ade2 [TD]upgrade WeldSymbol icone 2023-10-04 20:27:46 -04:00
wmayer 51e1dda8d4 Clang-tidy: enable check google-explicit-constructor
Currently this check isn't enabled but when pushing a PR then the lint checker warns about non-explicit constructors which is
a bit annoying because the PR must be updated to fix the warning or in most cases it won't be fixed at all.

By enabling this check the developer already sees the warning before pushing a PR.
2023-10-04 18:09:58 -05:00
marioalexis 5482699fad Fem: Set default force to 1 N in FEM_ConstraintForce command 2023-10-04 17:09:53 -03:00
Uwe ce860e2f34 Fem: Update force values in test .inp files 2023-10-04 17:06:47 -03:00
Uwe 9f90558d6a Fem: Fix force values in examples 2023-10-04 17:03:28 -03:00
Uwe f9930d883d Fem: Change ConstraintPressure::Force property to App::PropertyForce 2023-10-04 17:03:28 -03:00
sliptonic 878fce7bb0 Merge pull request #10923 from marioalexis84/FEM-pressure
FEM: pressure constraint overhaul
2023-10-04 14:30:05 -05:00
AgCaliva 2212e68a30 merge master via cli 2023-10-04 13:28:48 -03:00
AgCaliva 7af1ec589c solving new error related to cmake 2023-10-04 13:18:20 -03:00
Roy-043 c2484914f2 Draft: Update the Plane class (step 2)
Related issue:
#5603.

Previous PRs:
#10766
#10838

The remaining Plane class functions have been processed (some are unchanged):

`setup`
* Updated to use new functions.
* The `direction` etc. arguments are never used AFAICT.
* Added `from draftutils import gui_utils`.

`reset`
* Unchanged.

`setTop`
* Calls `super().set_to_top()`. That function does not use `align_to_point_and_axis` but specifies exact vectors for improved accuracy.
* `import FreeCADGui` already happens at the top of the file.
* The code block after `if FreeCAD.GuiUp:` was kept for now.

`setFront`
* Idem.

`setSide`
* This function sets the WP to the left side position, and not to the right side postion as in the Draft_SelectPlane command.
* Idem.

`getRotation`
* Revised.
* The function has an akward name as it returns a Placement.
* The special code for Arch active container is obsolete (was already commented out in other functions).

`getPlacement`
* The `rotated argument` is ignored now. It was only used in the context of the old `placement_from_face` algorithm. See `DraftGeomUtils.placement_from_face` for the new implementation.
* Calls `super().get_placement()`.

`getNormal`
* Basically unchanged.

`setFromPlacement`
* Revised to call `super()` functions.

`inverse`
* Unchanged.

`save`
* Unchanged.

`restore`
* More compact code, but basically unchanged.

`getLocalCoords`
* Calls `super().get_local_coords()` which does not rely on Draft code, but creates a matrix and returns `mtx.inverse().multVec(point)`.

`getGlobalCoords`
* Calls `super().get_global_coords()` which creates a matrix and returns `mtx.multVec(point)`.

`getLocalRot`
* Calls `super().get_local_coords()`.

`getGlobalRot`
* Calls `super().get_global_coords()`.

`getClosestAxis`
* Calls `super().get_closest_axis(vec)` which translates the vector to the WP coordinate system and then finds the closest axis by comparing the absolute coordinates of the vector.

`isGlobal`
* Not used anywhere AFAICT.
* Calls `super().is_global()` which also checks the `position` attribute.
* As before the function works without any tolerance.

`isOrtho`
* Not used anywhere AFAICT.
* The original algorithm did not work properly (there was a comment). All angles were measured relative to the global Y axis. If the WP was randomly rotated around that axis the function would still return `True`. The new algorithm, `super().is_ortho()`, uses rounded Yaw, Pitch and Roll angles to check for orthogonality.

`getDeviation`
* Not used anywhere AFAICT.
* Unchanged.

`getParameters`
* Calls `super().get_parameters()` which uses the local `_get_prop_list` function.

`setFromParameters`
* Calls `super().set_parameters()` which uses the local `_get_prop_list` function.

`_get_prop_list`
* Function used internally. Returns a list of attribute.
2023-10-04 14:40:33 +02:00
Roy-043 919f6e78e0 Draft: importSVG: handle viewBox in mm
Forum topic:
https://forum.freecad.org/viewtopic.php?t=81696
2023-10-04 11:03:36 +02:00
marioalexis ca204f7013 Fem: Use lower camel case in TaskFemConstraintPressure methods 2023-10-03 17:45:51 -03:00
Uwe a6b0cf3b79 Fem: Update pressure values in test .inp files 2023-10-03 17:45:46 -03:00
Uwe 58ada81594 Fem: Fix pressure values in examples 2023-10-03 17:45:17 -03:00
Uwe 6845cb66f8 Fem: Change ConstraintPressure::Pressure property to App::PropertyPressure 2023-10-03 17:44:31 -03:00
wandererfan ed72c03df3 [TD]fix sketch location in view 2023-10-03 13:35:36 -04:00
wmayer 255e9eb434 Part: move CmdSelectFilter and friends from core to Part module 2023-10-03 19:26:28 +02:00
wmayer 77f88d39c3 Part: handle Part_SectionCut in WorkbenchManipulator 2023-10-03 19:26:28 +02:00
wmayer 6b6229e352 Part: handle Part_SectionCut in WorkbenchManipulator 2023-10-03 19:26:28 +02:00
wmayer f48e79cd04 Part: add WorkbenchManipulator to Part module 2023-10-03 19:26:28 +02:00
wmayer ac342af190 Gui: integrate WorkbenchManipulator 2023-10-03 19:26:28 +02:00
wmayer 690b892536 Gui: add class WorkbenchManipulator 2023-10-03 19:26:28 +02:00
wmayer 3fb37a6075 Import: Extend OCAF browser 2023-10-03 15:55:22 +02:00
wmayer b42b2c85b4 Import: Support of colors of the glTF format 2023-10-03 15:42:30 +02:00
Florian Foinant-Willig c214ca3dd9 TechDraw: Fix #10919 crash at geometry deletion 2023-10-03 09:01:42 -04:00
wmayer 826194e0bc Imoprt: move ExportOCAF2 to own source files
and move global functions to Tools class
2023-10-03 08:13:27 +02:00
xtemp09 5e5f000c83 [Path] Prevent division by zero
Closes #8102.
2023-10-03 13:07:52 +07:00
Vincenzo Calligaro d8636dd058 [Feature Request] [Core] [Preferences] [UI/UX] Buttons to reset default values of Pages/Groups (#10688)
* Gui: added buttons to restore the default values of the selected Tab or Group
 * reformatted texts for better translations
 * Morphed buttons from QPushButton to QToolButton
 * added code to resize items list and buttons on language change

Signed-off-by: CalligaroV <vincenzo.calligaro@gmail.com>
2023-10-02 16:14:29 -05:00
Jacob Oursland 6c8856cd78 Update conda development dependencies. 2023-10-02 16:59:55 -03:00
Chris Hennes 6d37ef6609 Merge pull request #10844 from ppphp/remove_redundant_definition
[cmake] some definitions do not matter now
2023-10-02 14:20:49 -05:00
sliptonic f02a1bb755 Merge pull request #7488 from FEA-eng/patch-5
PartDesign: change default behavior of Thickness tool to inwards
2023-10-02 13:13:40 -05:00
wmayer 885212d7d4 TD: fix compiler warning about unused class member (-Wunused-private-field) 2023-10-02 13:54:39 -04:00
Florian Foinant-Willig 60da0b80f7 TechDraw: fix extension lines of projected dimension 2023-10-02 13:53:01 -04:00
Florian Foinant-Willig c8313874e4 TechDraw: Implements projected Length dimension 2023-10-02 13:53:01 -04:00
sliptonic 047334fd50 Merge branch 'master' into patch-5 2023-10-02 12:16:55 -05:00
sliptonic d8a30d58ab Merge pull request #10897 from FreeCAD/revert-10857-centroid-g43
Revert "Add G43 tool height compensation to centroid post"
2023-10-02 12:15:34 -05:00
sliptonic fe2829aa26 Revert "Add G43 tool height compensation to centroid post" 2023-10-02 12:12:37 -05:00
FEA-eng d9090d45da Merge branch 'master' into patch-5 2023-10-02 18:29:38 +02:00
sliptonic 3ce68745dc Merge pull request #10509 from LarryWoestman/staging
Path:  Major refactoring of the export_common function.
2023-10-02 11:26:24 -05:00
FEA-eng ec4d1a95d6 Merge branch 'master' into patch-5 2023-10-02 18:14:44 +02:00
FEA-eng 7f295fc77d FEM: Added more intuitive FEM solver icons (#10885)
* Update FEM_SolverControl.svg

* Update FEM_SolverRun.svg

* Update FEM_SolverStandard.svg
2023-10-02 17:42:17 +02:00
Yorik van Havre 6d4d5a6abd Merge pull request #10889 from Predko/SpreadsheetFileExtension
Spreadsheet: export CSV file extension by default
2023-10-02 17:37:07 +02:00
sliptonic 25d483a4ca Merge pull request #10857 from djmdjm/centroid-g43
Add G43 tool height compensation to centroid post
2023-10-02 10:33:36 -05:00
sliptonic c9ff833132 Merge pull request #10835 from wwmayer/path_fix_warnings
Path: fix compiler warnings
2023-10-02 10:30:58 -05:00
sliptonic acd40ef18f Merge pull request #10859 from jffmichi/fix_leadinoutdressup
Path: fix LeadInOutDressup incorrectly treating missing axis words as…
2023-10-02 10:14:45 -05:00
wmayer 74e658c78c Import: improve new STEP/IGES/glTF export function to support colors per face in headless mode
Fixes #10861
2023-10-02 17:10:34 +02:00
wmayer 83921f5f07 Import: fix legacy STEP/IGES/glTF export function to support colors per face
See issue #10861
2023-10-02 17:10:34 +02:00
wandererfan 0e2b3c0ecc [TD]Fix no dimensions from old document (#10880) 2023-10-02 09:39:27 -04:00
Yorik van Havre 97173e0280 Merge pull request #10838 from Roy-043/Draft-Update-the-Plane-class-(step-1)
Draft: Update the Plane class (step 1)
2023-10-02 11:36:38 +02:00
Przemo Firszt fca9830c2a COPR - add MatGui Material plugins 2023-10-02 11:17:14 +02:00
Przemo Firszt a03de9c267 COPR - add yaml-cpp-devel 2023-10-02 11:17:14 +02:00
Victor Predko c9315ffc56 Spreadsheet: export CSV file extension by default
Fixes #10829
2023-10-02 06:38:40 +03:00
wandererfan 895d0f0e60 [TD]add line spacing property
- requires Arch PR #10816 to see results
2023-10-01 19:54:32 -04:00
Paddle e076e4bf31 Remove Std_MacroStopRecord command as obsolete. 2023-10-01 17:22:19 -05:00
Paddle ec07dcede7 Remove macro recording stop from toolbar and menu, and adds the stop functionality to the main macro recording command. 2023-10-01 17:22:19 -05:00
wmayer f951e7d32b Import: move OCAFBrowser to its own source files 2023-10-01 22:23:57 +02:00
wmayer bac2b83537 Import: rename ImportOCAFExt to ImportOCAFGui and move to own source files 2023-10-01 22:23:57 +02:00
wmayer 0e679297c9 Import: move class ExportOCAFGui tp its on source files 2023-10-01 22:23:57 +02:00
wmayer 1cbd96f3cf Import: code-refactoring and clean-up
* Add new method ExportOCAF::exportObjects() to avoid code duplication
* Simplify handling of arguments passed to Python handler
* Fix several lint warnings
* Move ImportOCAFExt to the corresponding source files
2023-10-01 22:23:57 +02:00
liukaiwen 18af697795 Merge remote-tracking branch 'origin/master' into remove_redundant_definition 2023-10-02 01:42:37 +08:00
wmayer c87860922c Import: fix lint warnings
* Make constructors explicit
* Fix a regression from PR 10783
2023-10-01 08:01:41 +02:00
wmayer 70ca90f46f Import: move IGES reader & writer to own classes 2023-10-01 00:18:11 +02:00
wmayer 4092677f24 Import: move STEP reader & writer to own classes 2023-10-01 00:18:11 +02:00
wmayer 14683acbdc Path: fix -Wunused-parameter
Several methods declare to support keyword arguments but then don't use them
2023-09-30 22:32:01 +02:00
wmayer a14a6aa2dd Path: fix -Wunused-but-set-variable 2023-09-30 22:31:46 +02:00
Roy-043 fe4f1a4bc8 FEM: Add sWhatsThis for FEM_CompEmConstraints 2023-09-30 18:43:48 +02:00
wmayer 2e1f3d862d Gui: several minor improvements:
* replace C array with std::array
* use range-based loop
* activate the first of tabified dock widgets
* refactor DockWindowManager::setup
2023-09-30 17:33:33 +02:00
wmayer 0398716487 Gui: fixes #10807: By default keep the old tabulated layout of ComboView and TaskView 2023-09-30 17:33:33 +02:00
Chris Hennes 5dfd4d5190 Update translations 2023-09-29 22:57:37 -05:00
Chris Hennes eb534367e7 Merge pull request #10863 from wwmayer/material_fixes
Material: fix build failure with Qt6
2023-09-29 22:50:18 -05:00
wmayer 2cdb802f58 Material: use get_filename_component() instead of cmake_path() to support older CMake versions 2023-09-29 07:32:58 -05:00
Yorik van Havre a0e2d70ade Merge pull request #10856 from Roy-043/Draft-get_movable_children-prevent-endless-loop
Draft: get_movable_children: prevent endless loop
2023-09-29 11:27:34 +02:00
Yorik van Havre a731d16c62 Merge pull request #10845 from Roy-043/Draft-ImportDXF-CURRENTDXFLIB-is-not-obsolete-and-should-be-kept
Draft: ImportDXF: CURRENTDXFLIB is not obsolete and should be kept
2023-09-29 11:24:06 +02:00
wmayer a9f6835306 Gui: fix build failure with Qt6 on macOS 2023-09-29 11:19:25 +02:00
wmayer 367e0b756e Material: QMetaType::type(const char*) is deprecatred and shouldn't be used in new code 2023-09-29 11:05:07 +02:00
wmayer e3306cc11e Material: fix build failure with Qt6 2023-09-29 10:09:39 +02:00
Damien Miller d1f4922482 regress test for G43 in centroid post
Since the centroid post now support --no-tlo, we can test that
too.
2023-09-29 17:46:28 +10:00
LarryWoestman dd6a6d1d6c Path: Major refactoring of the export_common function.
Minor refactors to parse_a_path.
       Removed "message" command handling.
2023-09-28 15:30:55 -07:00
wmayer e6e8c64cba Material: include some more required header files
as otherwise the parser of the clang code model raises a lot of error messages
2023-09-28 15:33:03 -05:00
Jolbas 40228d9ef2 Matrix.decompose() fix
Fixes some errors when matrix has zero scale in one or two directions
2023-09-28 15:25:29 -05:00
Jolbas 2d8c280528 Create rotation from any matrix
To help find a matrix components a decompose method is added to Matrix class
2023-09-28 15:25:29 -05:00
jffmichi 588b964a54 Path: fix LeadInOutDressup incorrectly treating missing axis words as being 0 2023-09-28 21:10:21 +02:00
Damien Miller 9a076ac4c8 Add G43 tool height compensation to centroid post
This adds G43 tool height compensation to the centroid CAM post-processor using
a similar approach to the G43 support in the MACH3 post.

Specifically, G43 is emitted at every tool change by default and a new
`--no-tlo` post argument can restore the old behaviour of no height
compensation being emitted. These both match how the MACH3 post does it.
2023-09-28 23:56:50 +10:00
Roy-043 3847db56d5 Draft: get_movable_children: prevent endless loop
Forum topic:
https://forum.freecad.org/viewtopic.php?t=81547
2023-09-28 15:19:25 +02:00
wandererfan d7fcbc79a8 [TD]fix missing reference geometry 2023-09-28 09:01:39 -04:00
marioalexis 2494411147 Material: Include needed header file 2023-09-28 14:55:55 +02:00
wmayer 0d7880a902 Mat: fix several compiler warnings:
* -Winconsistent-missing-override
* -Wtautological-undefined-compare
2023-09-27 21:38:56 -05:00
Chris Hennes dcbb74a0f2 Merge pull request #10690 from davesrocketshop/material_merge
Material: Material handling enhancements
2023-09-27 16:15:06 -05:00
dyylanhammond f1a6a9e3a6 Change default file saving preferences (#10781)
* Change default compression level from 3 to 7
* increase default thumbnail size to 256
2023-09-27 16:08:43 -05:00
ppphp 82ba7ae5ca Merge branch 'master' into remove_redundant_definition 2023-09-28 01:38:38 +08:00
wandererfan 084b33d3e4 [TD]fix centerline rotation 2023-09-27 12:24:21 -04:00
wandererfan a51c54e7f0 [TD]allow centerline deletion with Del 2023-09-27 12:24:21 -04:00
wmayer abbf544495 Base: use NoArgs in MatrixPy 2023-09-27 17:48:53 +02:00
wmayer 3b9aefa4a3 Tools: support of METH_NOARGS flag for Python methods 2023-09-27 17:48:53 +02:00
Roy-043 1efa0ee09d Draft: ImportDXF: CURRENTDXFLIB is not obsolete and should be kept 2023-09-27 15:41:40 +02:00
wmayer 7aa31adb01 Fem: fixes #10823: Solver CalculiX (new framework) seems to be unnecessary 2023-09-27 13:04:48 +02:00
liukaiwen 4f8fe8fd4a [cmake] some definitions do not matter build now 2023-09-27 18:17:14 +08:00
Roy-043 92c6a36925 Draft: Update the Plane class (step 1)
After this PR the `Plane` class inherits from the `PlaneBase` class.

Related issue:
#5603.

Previous PR:
#10766

The following functions have been updated:

`__init__`
* `u` argument can be a WP now.
* Input vectors are copied.
* Added the `weak` argument.
* the `doc` attribute was not used and has been removed.

`__repr__`
* Inherited.
* The `position` is now also shown.

`copy`
* Uses `match` from the parent class which uses the local `_get_prop_list` function. Again vectors are copied.

`offsetToPoint`
* I could not find evidence that this function is used anywhere.
* The `direction` argument did not make a lot of sense (only worked in 2D). It is now ignored.
* Removed the overly long docstring.
* The function now uses an external function: `DraftGeomUtils.distance_to_plane`.

`projectPoint`
* The function calls `super().project_point` which in turn calls `DraftGeomUtils.project_point_on_plane`.
* `from sys import float_info` is no longer required.

`projectPointOld`
* Obsolete and removed.

`align*`
* All align* functions now have an `offset` argument.
* All align* functions return `True` or `False`.

`alignToPointAndAxis`
* The function ignored `upvec` if `axis` was parallel to the global X axis. This meant that the "Set WP" button of the Draft_Wire command did not work properly if the WP was aligned with the Right or Left view.
* The function calls `align_to_point_and_axis` which determines the rotation with `FreeCAD.Rotation(Vector(), upvec, axis, "ZYX")`.

`alignToPointAndAxis_SVG`
* The function calls `super().align_to_point_and_axis_svg` which contains the code from the old function.

`alignToCurve`
* Was not implemented.

`alignToEdges`
* Original code required two parallel edges (for example from an axis system), else the `u` and `v` vectors would not be perpendicular.
* The function calls `super().align_to_edges_vertexes` now.

`alignToFace`
* The function now uses an external function: `DraftGeomUtils.placement_from_face`. The rotation algorithm for the `u` and `v` vectors has been moved there.

`alignTo3Points`
* Basically unchanged. `Part` is already imported at the top of the file.

`alignToSelection`
* Basically unchanged. Will be replaced in the `PlaneGui` class.
2023-09-27 11:25:04 +02:00
Yorik van Havre aadca6a4a8 Merge pull request #10827 from FreeCAD/revert-9446-navigation-animation
Revert "Gui: Refactor navigation animations"
2023-09-27 11:15:43 +02:00
Yorik van Havre ffd66cf826 Revert "Gui: Refactor navigation animations" 2023-09-26 19:44:16 +02:00
wmayer 3433ce70a6 Gui: fix automatic spinning of DemoMode 2023-09-26 15:41:12 +02:00
wmayer 759e83859b Mesh: C++ core guidelines 2023-09-26 13:10:23 +02:00
Roy-043 56d3d3d5b1 Draft: ShapeString: improve ObliqueAngle (#10811)
Calculation of the justification required the use of `optimalBoundingBox` and should happen after applying the oblique angle.
2023-09-26 12:53:53 +02:00
wmayer bd0a3122b6 Mesh: C++ core guidelines 2023-09-26 11:20:35 +02:00
wmayer eec9bdcefa Gui: do not create the commands StdCmdSelBack and StdCmdSelForward twice 2023-09-26 11:07:51 +02:00
Yorik van Havre 79a74e722b Merge pull request #10790 from Rexbas/rotation-center-preferences
Gui: Add rotation center indicator color, transparency and size preferences
2023-09-26 11:01:19 +02:00
Yorik van Havre 247df99391 Merge pull request #10816 from Roy-043/Arch-ArchSectionPlane.getSVG-add-linespacing-argument
Arch: ArchSectionPlane.getSVG add linespacing argument
2023-09-26 10:59:14 +02:00
AgCaliva 1f9bae0de7 Merge branch 'master' into User/Document/Feature_level_units_selection_#7746 2023-09-25 22:58:23 -03:00
Roy-043 0a2f47fefd Arch: ArchSectionPlane.getSVG add linespacing argument
Forum topic:
https://forum.freecad.org/viewtopic.php?t=81470
2023-09-25 22:09:41 +02:00
sliptonic 70894e7cbd Merge pull request #10800 from Syres916/Sanity_FollowUp
[Path] Sanity Follow up improvements...
2023-09-25 14:19:50 -05:00
Ajinkya Dahale 4435a3974f [Part] Optimize snippet of code in ShapeMerge.py
Some notes:

Earlier, when adding to the list `connected_to`. the numbers are added in order
from `range(len(groups)`, so we are already in order and every `i_group` is unique.
2023-09-25 11:27:55 -05:00
Yorik van Havre 84cb841f3f Merge pull request #9446 from Rexbas/navigation-animation
Gui: Refactor navigation animations
2023-09-25 18:15:43 +02:00
andrea f6ca5040b3 update glext.h 2023-09-25 11:00:01 -05:00
howie-j acbf135b78 [Sketcher] Fix angle constraint expression regression (#10743)
* fix 10742

* moved expression string modifier to helper function

* Tests: Add example tests for SketchObject

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

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

* made expr modifier func static, pass by value and added unit tests

---------

Co-authored-by: Chris Hennes <chennes@gmail.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2023-09-25 10:44:31 -05:00
Chris Hennes 8945ab642d Merge pull request #10761 from Ondsel-Development/ui_view_toolbar
Toolbar View and Structure cleaning
2023-09-25 10:42:26 -05:00
sliptonic c380d78877 Merge pull request #10789 from haraldhartmann/PathAddEstlcamPP-patch-2
Path: refactor Utils imports in estlcam_post.py
2023-09-25 10:36:18 -05:00
sliptonic 292952d91e Merge pull request #10792 from jffmichi/fix_leadinoutdressup
Path: fix LeadInOutDressup throwing an exception due to floating poin…
2023-09-25 10:34:17 -05:00
pre-commit-ci[bot] 70f3a40fe1 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2023-09-25 15:05:50 +00:00
David Carter 442bca834e Material: Material handling enhancements
Rework of the material handling system.

This first part concntrates on a rework of the material cards.
Rather than use a fixed list of possible properties, properties can
be defined separately in their own files and mixed to provide a
complete list of possible properties. Properties can be inherited.

The cards then provide values for the properties. These can also
be inherited allowing for small changes in cards as required.

The new property definitions are more extensive than previously.
2 and 3 dimensional arrays of properties can be defined. Values
are obtained by calling an API instead of reading from a dictionary.

For compatibility, a Python dictionary of values can be obtained
similar to how it was done previously, but this is considered a
deprecated API and won't support the newer advanced features.

The editor is completely reworked. It will be able to edit older format
material cards, but can only save them in the new format.

For testing during the development phase, a system preference can
specifiy wether the old or new material editors are to be used. This
option will be removed before release.
2023-09-25 11:04:15 -04:00
David Carter 6624fa3775 Material: Material handling enhancements
Rework of the material handling system.

This first part concntrates on a rework of the material cards.
Rather than use a fixed list of possible properties, properties can
be defined separately in their own files and mixed to provide a
complete list of possible properties. Properties can be inherited.

The cards then provide values for the properties. These can also
be inherited allowing for small changes in cards as required.

The new property definitions are more extensive than previously.
2 and 3 dimensional arrays of properties can be defined. Values
are obtained by calling an API instead of reading from a dictionary.

For compatibility, a Python dictionary of values can be obtained
similar to how it was done previously, but this is considered a
deprecated API and won't support the newer advanced features.

The editor is completely reworked. It will be able to edit older format
material cards, but can only save them in the new format.

For testing during the development phase, a system preference can
specifiy wether the old or new material editors are to be used. This
option will be removed before release.
2023-09-25 11:04:01 -04:00
wmayer 563dc0b0cc Part: Add method Part.Compound.setFaces() 2023-09-25 15:31:30 +02:00
Syres916 4c666d1454 [Path] Sanity fixed another bug found in testing 2023-09-25 14:18:38 +01:00
Yorik van Havre cdbc778513 Arch: fixed leftover in OfflineRenderingUtils 2023-09-25 15:00:26 +02:00
Yorik van Havre afdbd4c094 Removed the use of SoGui in Arch OfflineRenderingUtils module 2023-09-25 15:00:26 +02:00
wmayer 836c237d3c Fem: Apply clang-format 2023-09-25 14:50:43 +02:00
wmayer b8b94c249e Fem: Apply clang-format 2023-09-25 14:50:43 +02:00
wmayer 59c7653584 Fem: Apply clang-format 2023-09-25 14:50:43 +02:00
wmayer 91a40b2007 Fem: Apply clang-format 2023-09-25 14:50:43 +02:00
wmayer 800006a505 Fem: Add to pre-commit hooks 2023-09-25 14:50:43 +02:00
wmayer 58adf212d9 App: still support __getstate__/__setstate__ for add-ons for < Py3.11 2023-09-25 14:48:54 +02:00
wmayer c1d1a4fd1f Test: add unit tests for PropertyPythonObject 2023-09-25 14:48:54 +02:00
Syres916 0b6b72059a [Path] Sanity fix based on user feedback and further testing...
...of stacked substitutions and static folder paths.
2023-09-25 13:25:05 +01:00
wmayer 37e477d3e7 Import: fixes #8666: Enable support to read glTF files 2023-09-25 13:02:59 +02:00
wmayer 0aa9ea99b4 Import: move glTF writer to its own source files 2023-09-25 13:02:59 +02:00
FEA-eng 9260cd9502 FEM naming fix part 2 2023-09-25 12:17:43 +02:00
Yorik van Havre 93cb1b3158 Merge pull request #10778 from Roy-043/Start-use-Gui-FileChooser-Directory-where-applicable
Start: use Gui::FileChooser::Directory where applicable
2023-09-25 10:58:20 +02:00
Yorik van Havre 951aafde60 Merge pull request #10555 from Syres916/Font_8514oem_exclude
[Preferences] Exclude 8514oem from Monospace fonts
2023-09-25 10:57:26 +02:00
Yorik van Havre be84810aa9 Merge pull request #10783 from Roy-043/Draft-ShapeString-add-ObliqueAngle-property
Draft: ShapeString: add ObliqueAngle property
2023-09-25 10:54:53 +02:00
Yorik van Havre f883a77ca0 Merge pull request #10766 from Roy-043/Draft-Introduction-of-the-PlaneBase-class
Draft: Introduction of the PlaneBase class
2023-09-25 10:09:48 +02:00
Syres916 883de466ae [Path] Fix multiple substitutions 2023-09-25 08:27:20 +01:00
wmayer 9728e60753 Gui: fixes #10782: Unable to cancel Select module Open obj messagebox 2023-09-24 16:08:02 -05:00
Roy-043 432ba3adde Draft: ShapeString: add ObliqueAngle property (improvement) 2023-09-24 19:04:32 +02:00
Syres916 7e92729c50 [Path] Sanity Follow up improvements...
... and removal of remaining asciidoc generating code
2023-09-24 17:23:23 +01:00
wmayer 83d4080fe8 App: fixes #10460: App::PropertyPythonObject is not saving data
Since Py3.11 the methods names __setstate__ and __getstate__ conflict with the method names added to the object class.
Thus rename them to 'loads' and 'dumps'
2023-09-24 10:56:35 -05:00
Rexbas 97d84ec184 Add Rexbas to contributors 2023-09-24 12:17:40 +02:00
Chris Hennes d95b26dfb5 Merge pull request #10788 from wwmayer/format_no_sorting
clang-format: disable sorting of includes
2023-09-23 23:59:43 -05:00
jffmichi 1f11b1ca06 Path: fix LeadInOutDressup throwing an exception due to floating point inaccuracy when comparing z-positions 2023-09-24 03:13:28 +02:00
Rexbas 148f4adef0 Gui: Add rotation center indicator color, transparency and size preferences 2023-09-23 22:42:20 +02:00
Harald Hartmann 3bb891eaf6 fix #10396 - refactor Utils imports 2023-09-23 22:05:36 +02:00
wmayer b65ae56f1f clang-format: disable sorting of includes
Sorting the included headers regularly leads to build failures. Especially when PCH is enabled the PreCompiled.h must be the very first include
2023-09-23 19:17:33 +02:00
wmayer 5a81fcd7a5 MSVC: fix warnings and build failure 2023-09-23 19:10:32 +02:00
wmayer 15b11bc360 Mesh: Apply clang-format 2023-09-23 14:03:11 +02:00
wmayer 4e328682d9 Mesh: Apply clang-format 2023-09-23 14:03:11 +02:00
wmayer 14cbc5f1e5 Mesh: Add to pre-commit hooks 2023-09-23 14:03:11 +02:00
Roy-043 4ef4819872 Draft: ShapeString add ObliqueAngle property
Fixes #5656.
2023-09-23 11:39:27 +02:00
Chris Hennes c3b33f6b96 Merge pull request #10767 from qewer33/assembly-jcs
Assembly: Improve JCS appearance and implement autoscale
2023-09-22 20:44:49 -05:00
Roy-043 1893ff0065 OpenSCAD: use Gui::FileChooser::Directory where applicable 2023-09-22 15:06:15 -05:00
Roy-043 26418c07e7 Draft: ShapeString: add font file filter (#10777)
Forum topic:
https://forum.freecad.org/viewtopic.php?t=81280
2023-09-22 21:23:56 +02:00
Roy-043 ca7b329c43 Draft: use Gui::FileChooser::Directory where applicable (#10780) 2023-09-22 21:23:23 +02:00
Roy-043 2257f3291c Start: use Gui::FileChooser::Directory where applicable 2023-09-22 20:14:57 +02:00
qewer33 62722aa8c0 Assembly: Make JCS axis colors use parameters 2023-09-22 19:46:58 +03:00
qewer33 49a9f5b0ad Assembly: Improve JCS appearance and implement autoscale
Closes #10745, closes #10746
2023-09-22 17:42:39 +03:00
Yorik van Havre 79211f7efe Arch: Added missing ArchSketchObject to cmake file (#10774) 2023-09-22 16:42:34 +02:00
luzpaz 274b05cf2d Part: remove leftover comment markup
Closes #10731
2023-09-22 15:56:22 +02:00
wmayer fdc44d50ef Gui: fixes #10724: TaskView gets truncated 2023-09-21 19:11:45 -05:00
wmayer 5743ce4681 Gui: fix possible memory leak if inappropriate view provider is created
Example code:
doc = App.newDocument()
doc.addObject(type = "Part::Feature", viewType = "MeshGui::ViewProviderMesh")
2023-09-21 19:11:29 -05:00
Roy-043 6528eef858 Draft: Introduction of the PlaneBase class
This PR introduces the new PlaneBase class.

Most of its functions are rewritten versions of the functions in the original Plane class, with the exception of align_to_point_and_axis_svg.

Note that after this PR the original Plane class does not yet inherit from PlaneBase. This will be done in several following PRs. I will then also explain the reasons behind some of the revised functions in PlaneBase.

The introduction of the PlaneGui class will follow after that.

Issue: #5603.
2023-09-21 15:20:48 +02:00
Yorik van Havre 864026d32b Merge pull request #10741 from Roy-043/Arch-avoid-intersecting-solids-in-windows-and-doors-with-openings
Arch: avoid intersecting solids in windows and doors with openings
2023-09-21 13:51:11 +02:00
Yorik van Havre e0b814ed59 Merge pull request #10735 from Roy-043/Draft-Add-distance_to_plane-and-project_point_on_plane-to-geometry.py
Draft: Add distance_to_plane and project_point_on_plane to geometry.py
2023-09-21 11:11:44 +02:00
Paddle a515bd0244 Improve tooltips and remove the html from the translate. 2023-09-21 07:31:15 +02:00
Chris Hennes e36e16de59 Merge pull request #10667 from chennes/toponamingHasherToDocument
App/Toponaming: Add StringHasher to Document
2023-09-20 13:31:02 -05:00
wandererfan 0b191c477b [TD]initial implementation of cosmetic cicle command 2023-09-20 13:42:11 -04:00
Chris Hennes 3a0582b507 Merge pull request #10738 from qewer33/transform-fixes
Gui: Transform dragger fixes for PR #10706
2023-09-20 09:43:33 -05:00
Pieter Hijma 1fc5dea14c TechDraw: Expose two functions for SVG export 2023-09-20 09:27:17 -04:00
André Caldas 695a314229 TechDraw: creates closure for concurrent thread context.
We use a lambda function with a copy of variables
that might be destructed in the original calling thread,
possibly producing dangling references.

See: https://forum.freecad.org/viewtopic.php?t=81260
2023-09-20 09:26:15 -04:00
Rexbas c2bf9efc7d Gui: Improve accuracy for navigation cube's rotate to nearest feature 2023-09-20 07:37:02 -05:00
Paddle 5dc8c42e95 Group: Give a proper tooltip 2023-09-20 13:42:30 +02:00
Paddle f9379e0f1a Std_Part : give it a proper tooltip. 2023-09-20 13:39:50 +02:00
Paddle 5edb1b0243 Add "Std_LinkSelectActions" to the view menu.
Remove "Std_LinkSelectActions" from the toolbar.
Remove "Std_SelBack" & "Std_SelForward" from the toolbar
Remove "Std_SelBoundingBox"
 from the toolbar
Reorder the toolbar entries.
2023-09-20 12:44:38 +02:00
Paddle e833a495fa Add Std_SelBack and Std_SelForward to the Std_TreeViewActions group where they belong.
This also solve the fact that these commands were not in the menu which are supposed to be exaustive.
2023-09-20 12:44:38 +02:00
Paddle b77ab713b3 Give std_SelBack and std_selforward proper names and tooltips. 2023-09-20 12:44:38 +02:00
Paddle 404623a114 Give std_LinkMake a proper tooltip. 2023-09-20 12:44:38 +02:00
Paddle a92c528c9e Structure toolbar : put Link in the command group. 2023-09-20 12:44:33 +02:00
Chris Hennes 730d471fb1 Update translations 2023-09-19 22:25:14 -05:00
Syres916 4e466355f1 [Gui] Fix color bar position and text (#10552)
* [Gui] Fix ColorBar position and labelling

* [Gui] Improve formatting

* [Gui] ColorBar adjusts if user squashes window height

* [Gui] Changes following feedback
2023-09-19 18:35:22 -05:00
wmayer ab4abab53d Sketch: fix a few minor issues:
* fix compiler warning about unused variable
* fix const correctness
* fix access type of setExpression()
* removed duplicated method
2023-09-19 22:01:19 +02:00
Roy-043 01632916ea Arch: avoid intersecting solids in windows and doors with openings
With the current code, if you place a simple door and change its Opening property to 50, the door leaf and the frame intersect. This PR fixes that issue.
2023-09-19 21:31:09 +02:00
qewer33 4c39dcb347 Gui: Transform dragger fix lint warnings 2023-09-19 21:04:25 +03:00
Chris Hennes 0bbb10864b Merge pull request #10656 from Ondsel-Development/dim_arc_angle
Sketcher_Dimension: Adds arc angle mode.
2023-09-19 12:42:56 -05:00
Pesc0 108e2c175f fix qbytearray length out of bound 2023-09-19 12:38:27 -05:00
MisterMaker 08d6e65218 [Stylesheets] ProDark remove reminant of hex color codes. (#10737)
* [Stylesheets] Fixed and added more accent colors.

Added accent colors to Behave dark ProDark and Dark contrast.
Used accent color 3 to the button gradients.
Added Gradient to the Modern styles, because you can disable the gradient by giving 2 accent colors the same color.
2023-09-19 12:37:52 -05:00
Chris Hennes 2702d3bf00 Merge pull request #10657 from Ondsel-Development/dim_angle_supplementary
Sketcher_Dimension: Enable the user to select what angle he wants.
2023-09-19 12:35:51 -05:00
Chris Hennes fec8888b50 Merge pull request #10611 from Ondsel-Development/Assembly_joint_basis
Assembly joints
2023-09-19 12:32:43 -05:00
qewer33 cd4d3e4505 Remove unnecessary parameters from ViewParams 2023-09-19 18:26:19 +03:00
qewer33 8d4a01318b Gui: Transform dragger fixes 2023-09-19 18:24:19 +03:00
Roy-043 68276d20ad Draft: Add distance_to_plane and project_point_on_plane to geometry.py
The functions have been copied from the WorkingPlane class. It makes sense to also have them available outside that class. The WorkingPlane class will later be updated to use these functions so that duplicate code is avoided.

Note that the default tolerance of the project_point_on_plane function is 1e-7. In the original projectPoint function it is sys.float_info.epsilon (too small for FreeCAD IMO).
2023-09-19 16:02:59 +02:00
Pieter Hijma 9ae03a5e87 Part: Fix a missing argument for HLR projector 2023-09-19 09:02:13 -04:00
AgCaliva 8f053e5f71 Merge branch 'master' into User/Document/Feature_level_units_selection_#7746 2023-09-19 07:07:15 -03:00
AgCaliva 691609bcae Removing /showIncludes option for windows compiler 2023-09-19 07:06:13 -03:00
Paddle 04a951aeb3 Assembly : Initial implementation of 'create joint' command. 2023-09-19 10:51:04 +02:00
Paddle c0185ad95c Move functions to UtilFunctions.py. 2023-09-19 08:31:33 +02:00
Paddle 5a2b2304f9 Split Commands.py so that each command has a file. 2023-09-19 08:31:33 +02:00
Paddle e3445388a2 Sketcher_Dimension : adds arc-angle mode for arcs. 2023-09-19 08:25:45 +02:00
Paddle 55420d96af Sketcher: Angle constraint: when moving it with mouse, it enables user to switch of supplementary angle. 2023-09-19 07:22:50 +02:00
Paddle a8f11f12fb Implement a function in sketchObject that swap an angle constraint to its supplementary. 2023-09-19 07:22:50 +02:00
Paddle e58b52ea12 Add setter/getter for constraint expression. 2023-09-19 07:22:50 +02:00
Paddle 4293c4a65b Core: Selection : Add possibility to set the style of selection between normal and greedy 2023-09-19 00:08:39 +02:00
AgCaliva 9aabfcd1f8 continue fix DOMDocument redefinition 2023-09-18 18:58:05 -03:00
Paddle 1c8f49ee67 Adds a small convenience function to get arc of circle angle. 2023-09-18 21:33:24 +02:00
AgCaliva dacb2c43a4 Merge branch 'master' into User/Document/Feature_level_units_selection_#7746 2023-09-18 14:01:25 -03:00
AgCaliva c483ecebb4 using clang-format tags to avoid get headers reordered(fix DOMDocument redefinition error) 2023-09-18 13:40:13 -03:00
Jonas Bähr efc7fd09e4 Sketcher: update SketchObject's pydocs, first batch
Style like in e.g. `Part.makeLine(...)`, which seems to loosely follow
Google's recommendations [1]. Note that the signature *is* repeated in
the docstrings, as it's not "inspectable" (see notes for non-python
implementations in `inspect.signature` [2]).

[1]: https://github.com/google/styleguide/blob/gh-pages/pyguide.md#38-comments-and-docstrings
[2]: https://docs.python.org/3/library/inspect.html#inspect.signature
2023-09-18 10:57:12 -05:00
howie-j 12913daef5 fixes #10651 2023-09-18 10:56:13 -05:00
Chris Hennes 3915e44ee7 Merge pull request #10681 from wwmayer/dock_windows_rebased
Gui: make layout of Combo, Property and Tree view more flexible
2023-09-18 10:53:40 -05:00
Florian Foinant-Willig f393a90467 Sketcher: refactor CommandConstraint.cpp (#10692)
* Sketcher: refactor CommandConstraint.cpp with TypeId helpers

* Sketcher: cosmetic empty lines

* fix pointer misusage
2023-09-18 10:37:03 -05:00
qewer 420f099946 Gui: Transform dragger improvements (#10706)
* Gui: Improve transform dragger appereance

* Gui: Implement axis color parameters

* Gui: Implement plane draggers for the Transform tool

* Gui: Clean comments in Transform dragger files
2023-09-18 10:34:26 -05:00
wmayer ecad77057a Tests: fix a memory leak in StringIDRefTest::getPyObject 2023-09-18 14:58:38 +02:00
bdieterm e33c5754d4 Core, Gui: allow breakpoints in Init.py and InitGui.py of mods 2023-09-18 10:27:51 +02:00
Yorik van Havre e1f3e7c5d2 Merge pull request #10711 from Roy-043/Arch-Fix-Arch_Fence-section-placement
Arch: Fix Arch_Fence section placement
2023-09-18 09:22:30 +02:00
Yorik van Havre 492f16d727 Merge pull request #10712 from Roy-043/Draft-shape2dview-avoid-issues-with-intersecting-solids
Draft: shape2dview: avoid issues with intersecting solids
2023-09-18 09:21:55 +02:00
mwganson 788c86e1c4 [Macro Execute Dialog] add file name and file content filtering 2023-09-17 19:45:33 -05:00
wmayer d567b859d3 Tests: add some more unit tests for Matrix class 2023-09-18 01:21:07 +02:00
wmayer 4f6ab508d7 Base: fix incorrect method names of Matrix class about diagonal and trace 2023-09-18 01:21:07 +02:00
wmayer 939984bf2c Base: fix many lint warnings in Matrix class 2023-09-18 01:21:07 +02:00
qewer33 1063c76882 Assembly: Fix joint icons 2023-09-17 16:36:31 -05:00
Chris Hennes 6704cc6aff App/Toponaming: Clarify return value of addStringHasher 2023-09-17 14:00:22 -05:00
Chris Hennes ef91d82daf App/Toponaming: Add a few tests for Document 2023-09-17 13:13:37 -05:00
Chris Hennes b8055fa6f4 App/Toponaming: Minor code cleanup 2023-09-17 13:13:37 -05:00
Chris Hennes 2a386c9f6f App/Toponaming: Add StringHasher to Document 2023-09-17 13:13:37 -05:00
wmayer beb39239f3 Part: fix crash in Geometry::Restore()
If a project contains an unknown geometry extension then the attempt to create it returns a null pointer which isn't checked and causes a segmentation fault.

See also forum: https://forum.freecad.org/viewtopic.php?t=81091
2023-09-17 19:29:28 +02:00
wmayer b5e1d4b601 Gui: Remove bounding box computation from SoDatumLabel::GLRender() 2023-09-17 19:27:12 +02:00
wmayer 4110a62c08 Gui: fix clang-tidy warnings in EditableDatumLabel
and fix two further memory leaks
2023-09-17 19:11:31 +02:00
wmayer da65485979 Gui: fix clang-tidy warnings in TaskImage 2023-09-17 19:11:31 +02:00
Roy-043 32dcd008ff Draft: shape2dview: avoid issues with intersecting solids
Add `Shape.SubShapes` instead of a copy of the shape. This avoids cut problems if there are intersecting solids.

Forum topic:
https://forum.freecad.org/viewtopic.php?t=81240
2023-09-17 18:59:20 +02:00
Roy-043 125852c028 Arch: Fix Arch_Fence section placement
The code relied on the old implementation of Draft patharray where the calculated placements were not returned in sequence.

Forum topic:
https://forum.freecad.org/viewtopic.php?t=81246
2023-09-17 18:21:13 +02:00
Paddle a6971d376c TaskImage: remove the spinbox/sodatumLabel gestion and use the global EditableDatumLabel instead. 2023-09-17 13:05:53 +02:00
Paddle dc77391ebf Introduce EditableDatumLabel. A class that handles a SoDatumLabel with a spinbox to edit its value. 2023-09-17 13:05:53 +02:00
Paddle 712d52bf3d SoDatumLabel: Make the textOffset persistent. 2023-09-17 13:05:53 +02:00
Roy-043 3e789dfc85 Draft: Fix for PR10673 (#10699)
Fixes an issue that was missed in #10673.
2023-09-16 17:10:02 +02:00
Roy-043 f5a3cf4d03 Draft: gui_edit called displayPoint without mask (#10693)
Forum topic:
https://forum.freecad.org/viewtopic.php?t=81186
2023-09-16 17:08:50 +02:00
Yorik van Havre 3ac314aa71 Arch: Fixed IFC export of compsolids (#10476) 2023-09-16 17:02:00 +02:00
pre-commit-ci[bot] 5e615841c3 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2023-09-16 07:28:03 +00:00
AgCaliva 5ce71463f5 fixing DOMDocument redefinition3 2023-09-16 07:27:11 -03:00
pre-commit-ci[bot] d31c2130fb [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2023-09-16 05:14:03 +00:00
AgCaliva 4a504437d3 merge master via cli 2023-09-16 02:12:58 -03:00
AgCaliva 280e5e3987 Fixing DOMDocument redefinition 2023-09-16 00:38:41 -03:00
andrea ad4f8783e3 removed unnecesary include into cmake 2023-09-15 17:10:00 -05:00
wandererfan b45cb18ce1 [TD]fix inverted detail of body 2023-09-15 13:53:54 -04:00
Alexander Wilms b04fa5e779 Use new metainfo file name in RPM .spec 2023-09-15 13:17:51 -04:00
Alexander Wilms 060419fecf Improve metainfo 2023-09-15 13:17:51 -04:00
Alexander Wilms 7abebdad9b The Freedesktop Appstream specification recommends .metainfo.xml instead of .appdata.xml
https://www.freedesktop.org/software/appstream/docs/chap-Metadata.html
2023-09-15 13:17:51 -04:00
wandererfan 01256623ff [TD]allow cosmetic deletion via DEL 2023-09-15 11:46:37 -04:00
Paddle 594b1aec11 Sketcher_Dimension : enable user to deselect geos by clicking on them again. 2023-09-14 20:57:39 -05:00
wmayer e9b61bdbe2 Sketcher: fix several inconsistencies in Sketcher_CompDimensionTools
* The menu text and tooltip of the Sketcher_ConstrainRadius command shouldn't be different if part of the group command or not.
  The explicit mentioning to change the weight of a B-Spline is pointless and confusing.
* The order of Sketcher_ConstrainRadius and Sketcher_ConstrainDiameter has flippend when used in Sketcher_CompDimensionTools
* The command Sketcher_ConstrainRadiam is completely missing
* The command Sketcher_ConstrainSnellsLaw was wrongly re-added
* CmdSketcherCompConstrainRadDia uses a wrong context
2023-09-14 20:56:14 -05:00
luzpaz 760fac5d82 Fix typos 2023-09-14 20:53:04 -05:00
Florian Foinant-Willig 602819478c Sketcher: add TypeId checking helpers 2023-09-14 20:52:03 -05:00
wandererfan 1b64b265ae [TD]fix hatch fail due to missing translate method 2023-09-14 12:05:13 -04:00
sliptonic 10b3ae382f Merge pull request #10654 from Syres916/Sanity_Html_Self_Generating
[Path] Improve Sanity to generate html output without...
2023-09-14 08:44:09 -05:00
sliptonic be41743ee0 Merge pull request #10677 from qewer33/assembly-joint-icons
Assembly: Add joint icons
2023-09-14 08:08:31 -05:00
wmayer f5b4123109 Gui: implement handling of Combo, Property and Tree view 2023-09-14 13:35:13 +02:00
wmayer 897923ac3b Gui: rework ComboView 2023-09-14 13:24:24 +02:00
wmayer 5419a0c28f Gui: add TaskView to its own dock window 2023-09-14 13:17:33 +02:00
Yorik van Havre 216cb39a76 Draft: use master version of dxf libraries - issue yorikvanhavre/Draft-dxf-importer#26 (#10670) 2023-09-14 09:37:31 +02:00
AgCaliva 41230a9427 fixing DOMDocument redefinition error 2 2023-09-14 03:50:53 -03:00
qewer33 7ff7ba0298 Assembly: Add joint icons 2023-09-13 22:25:34 +03:00
wandererfan 71f1e6b09b [TD]rotate centerlines with view 2023-09-13 12:35:25 -04:00
Roy-043 23c386dfee Draft: V0.21 version of getPlaneRotation caused a dimension bug (#10673)
`DraftVecUtils.getPlaneRotation` can now return None. The `view_dimension.py` code did not handle that.
2023-09-13 17:00:35 +02:00
wmayer 9289e33e2f Gui: determine the bounding box of an SoDatumLabel outside its GLRender() method 2023-09-13 16:56:53 +02:00
CalligaroV 163c30700f [Feature Request] [Draft] [UI/UX] Remove the center arrow on radial dimensions (#10655)
Related to issue #7573

Forum discussion

https://forum.freecadweb.org/viewtopic.php?p=631252#p631252

These modifications don't add the new properties suggested on the issue mentioned above and suggested on the forum discussion but just remove the center arrow

Other info and discussion can be found at https://gitlab.com/calligarov/FreeCAD/-/merge_requests/1
2023-09-13 15:27:51 +02:00
wandererfan e6fb2c7a88 [Part]allow negative scale factors 2023-09-13 08:13:12 -04:00
wmayer da6335314d Part: fix encoding issue in BOPProgressIndicator::Show 2023-09-13 12:04:46 +02:00
Yorik van Havre 1b5565ea9f Merge pull request #10535 from Syres916/Py_311_Unicode_Fix
[Start] Fix Python 3.11 Unicode Errors
2023-09-13 11:41:53 +02:00
Yorik van Havre 85981c37b9 Merge pull request #10664 from Roy-043/Draft-importSVG-check-and-fix-path-faces
Draft: importSVG.py: check and fix path faces
2023-09-13 11:15:38 +02:00
Roy-043 59527022da Draft: importSVG.py: check and fix path faces
Fixes #10659.
2023-09-12 23:16:41 +02:00
wmayer 89bb28239e MSVC: fix several compiler warnings 2023-09-12 22:57:26 +02:00
pre-commit-ci[bot] e8ab02b26b [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2023-09-12 21:19:33 +02:00
wmayer 8597655e6a Part: move scale command
See https://github.com/FreeCAD/FreeCAD/pull/10583#issuecomment-1716187490
2023-09-12 21:19:33 +02:00
pre-commit-ci[bot] 222a2520b1 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2023-09-12 13:02:35 -04:00
wandererfan c469601f95 clang format SpacesBeforeTrailingComments 2023-09-12 13:02:35 -04:00
Syres916 089b7d40b5 [Path] Improve Sanity to generate html output without... (#5)
...the need for dependences.
2023-09-11 18:24:57 +01:00
sliptonic d1315fd3d9 Merge pull request #10529 from wwmayer/cancel-button-feature
Gui: Add cancel button to transform task UI dialog
2023-09-11 10:55:00 -05:00
sliptonic 094a794cac Merge pull request #10586 from wwmayer/issue_9422
Gui: fixes issue #9422: Dependency Graph: export to .dot/.gv
2023-09-11 10:39:00 -05:00
sliptonic ea2919765e Merge pull request #10597 from howie-j/sketcher_dim_key
[Sketcher] Change Sketcher_Dimension modifier key from SHIFT to M
2023-09-11 10:38:07 -05:00
Yorik van Havre 143bcd741a Merge pull request #10619 from wwmayer/fix_issue_10617
Gui: fixes #10617: Ctrl+C only stop python running in console not from macros
2023-09-11 17:36:43 +02:00
sliptonic 838d3b4818 Merge pull request #10632 from Rexbas/rotation-center-opencascade
Gui: Fix rotation center indicator for OpenCascade style
2023-09-11 10:35:12 -05:00
wmayer 88b9cf2ecc TD: remove unused class member
Fix compiler warning: -Wunused-private-field
2023-09-11 11:34:29 -04:00
luzpaz 1833990ca9 Ignore scanning src/Mod/Import/App/SCL_output in codespell
Follow-up to #10644   
`src/Mod/Import/App/SCL_output` is auto-generated and should be skipped by codespell.

ref: https://github.com/FreeCAD/FreeCAD/pull/10644#issuecomment-1713362858
2023-09-11 16:45:07 +02:00
wmayer 4bc2b1b03c Robot: Apply clang format 2023-09-11 15:58:24 +02:00
wmayer 3acb817ee7 Robot: Apply clang format 2023-09-11 15:58:24 +02:00
wmayer e0ff39ccdf Robot: Apply clang format 2023-09-11 15:58:24 +02:00
wmayer 2b7d9b5541 Robot: Add to pre-commit hooks 2023-09-11 15:58:24 +02:00
Yorik van Havre 36353ffb7c Draft: Allow to set a custom feet separator for dimensions (#10481) 2023-09-11 14:05:26 +02:00
Yorik van Havre ebffe55030 Merge pull request #10626 from eye942/patch-1
Arch: Change ladybug to latest ladybug-core
2023-09-11 10:34:23 +02:00
wmayer 3fa218c7a6 Import: move several .py files that black fails to re-format to a new directory and exclude it 2023-09-11 00:48:18 +02:00
wandererfan 114e6ca2a9 [TD]fix label generation complex section 2023-09-10 14:25:15 -04:00
wandererfan cf94a892d6 [TD]fix label generation simple section 2023-09-10 14:25:15 -04:00
wandererfan be74909b9a [TD]fix fail on section delete
- fails in onChange during delete due to null BaseView
2023-09-10 14:25:15 -04:00
Chris Hennes 857ddacb6e Update translations (#10613)
* Update translations
* Start: Remove Start.ts
2023-09-10 13:06:26 -05:00
pre-commit-ci[bot] e887b8a843 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2023-09-10 19:23:47 +02:00
wmayer b5d0950211 Import: Apply clang format 2023-09-10 19:23:47 +02:00
wmayer ed46125a38 Import: Apply clang format 2023-09-10 19:23:47 +02:00
wmayer c9b33ea8eb Import: Add to pre-commit hooks 2023-09-10 19:23:47 +02:00
Przemo Firszt efa8e02235 COPR - fix nightlies 2023-09-10 18:20:36 +02:00
wmayer 561be3f55c Gui: fix some MSVC truncation warnings
See forum: https://forum.freecad.org/viewtopic.php?t=81051
2023-09-10 18:08:06 +02:00
andrea a51bacfd9f removed unused file 2023-09-10 16:03:46 +02:00
pre-commit-ci[bot] c00abdc3b5 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2023-09-10 16:01:37 +02:00
wmayer 5bed1ff3d1 Sheet: remove trailing whitespace
pre-commit.com hooks will remove the trailing whitespaces from the .ts files
2023-09-10 16:01:37 +02:00
wmayer 8bb1249cef Sheet: Apply clang format 2023-09-10 16:01:37 +02:00
wmayer 159525084d Sheet: Apply clang format 2023-09-10 16:01:37 +02:00
wmayer b9ac7166e4 Sheet: Apply clang format 2023-09-10 16:01:37 +02:00
wmayer 4e8e22b141 Sheet: Add to pre-commit hooks 2023-09-10 16:01:37 +02:00
Rexbas b979d7d5ae Gui: Fix rotation center indicator for OpenCascade style 2023-09-10 14:03:38 +02:00
pre-commit-ci[bot] 794d97d025 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2023-09-10 12:37:47 +02:00
wmayer 789912d745 Drawing: Apply clang format 2023-09-10 12:37:47 +02:00
wmayer ebcd846d09 Drawing: Add to pre-commit hooks 2023-09-10 12:37:47 +02:00
wmayer 2c3230a986 Show: Apply clang format 2023-09-10 12:20:59 +02:00
wmayer 546e84d23d Show: Add to pre-commit hooks 2023-09-10 12:20:59 +02:00
wmayer 91cf838a08 Plot: Apply clang format 2023-09-10 11:31:36 +02:00
wmayer 7484887829 Plot: Add to pre-commit hooks 2023-09-10 11:31:36 +02:00
wmayer 6a29122b04 JtReader: Apply clang format 2023-09-10 11:25:51 +02:00
wmayer e506c5fc42 JtReader: Add to pre-commit hooks 2023-09-10 11:25:51 +02:00
wmayer 8b7c75f226 Cloud: Apply clang format 2023-09-10 11:10:12 +02:00
wmayer ae7727bd66 Cloud: Add to pre-commit hooks 2023-09-10 11:10:12 +02:00
howie-j aac1844843 Merge branch 'FreeCAD:master' into sketcher_dim_key 2023-09-10 00:09:28 +02:00
Eric Ye f1d934ca6e Change ladybug to latest ladybug-core 2023-09-09 13:58:16 -07:00
andrea 577004c1eb The DownloadStatistics.py file is the duplication of the githubstats.py file 2023-09-09 17:55:25 +02:00
andrea 6a66161abf fix vtk > 6.1 check 2023-09-09 17:52:11 +02:00
andrea 9fbc86daa5 Removed old code using qt<5.4 2023-09-09 17:50:51 +02:00
wmayer 2d2b2b8990 Gui: fixes #10617: Ctrl+C only stop python running in console not from macros
This commit handles the execution from the Python editor
2023-09-09 14:19:00 +02:00
wmayer 1446c07806 Gui: fixes #10617: Ctrl+C only stop python running in console not from macros
This commit handles the execution from the macro dialog
2023-09-09 14:02:57 +02:00
AgCaliva bcd1ebe537 fixing DOMDocument redefinition on windows 2023-09-09 04:58:38 -03:00
AgCaliva d2478c8401 Adding temporary compiler option for printing included headers while compiling 2023-09-08 21:10:48 -03:00
mosfet80 686618411f Delete src/Tools/astylerc
Removed config file for  astylerc c c++ formatter tool
2023-09-09 01:12:49 +02:00
wmayer 378dfd96b7 Gui: fix clang-tidy warning 2023-09-08 21:45:10 +02:00
Michael Tuma e78f74b01a Made the interval that the Python profiler runs at configurable
Added a "User parameter:BaseApp/Preferences/PythonConsole/ProfilerInterval" int
property which sets how often (in milliseconds) the Python profiler runs while
Python code is running. Setting this value to zero will totally disable it.

Also added a preference in the Python console screen which allows the user to
set the value of this property to between 0 (disabled) and 5000 (once every 5
seconds). (+1 squashed commits)

Squashed commits:

[cca88ac633] Made the Python profiler only run when the console is running code

This has two purposes. First, it prevents a performance impact from running the
profiler whenever Python code is running. Second, it prevents crashes caused by
Qt's process events function being called too frequently. When the Python code
is running in the console, it monopolizes the main thread and prevents events
from being processed. Therefore, causing events to be processed in the callback
should not force events to be processed too frequently, because the normal loop
is being prevented by the Python code. (+1 squashed commits)

Squashed commits:

[45f86917e6] Made long-running Python code not freeze the GUI without multithreading

Removed the background thread running Python code and replaced it with a custom
profiler which the Python interpreter runs frequently (at every Python opcode I
believe) on the main thread whenever Python code is running. The profiler will
make Qt process any new events every 200 ms, preventing "App not responding"
messages and making sure any Ctrl+C keypresses will be processed. This prevents
the previous issue where running anything GUI-related from Python would crash
the program (because Qt isn't thread-safe). (+1 squashed commits)

Squashed commits:

[0ef7d810b3] Made the process of getting thread IDs cross-platform compatible

Instead of using <threads.h>, now the standard <thread> header from C++
11 is used to find the thread ID, since <threads.h> is apparently not
available on Windows. (+1 squashed commits)

Squashed commits:

[74c7b867f2] # This is a combination of 2 commits.

Python from the console now runs in the background

In a nutshell, all Python code which is input from the interactive console
now runs in a seperate QThread which runs in the background, instead of
on the UI thread. This means that long operates operations will no longer
cause the app to display an "App not responding" message, because the UI
thread is now free to keep running unencumbered.

However, it is still not possible to run multiple Python statements at
the same time. If the user tries to run some Python while a previous
statement is still being processed, instead it will display an error
message in the console stating that the previous command is still
being processed.

I also added a seperate QTimer which runs once every 100ms to flush any
output from the Python code back to the console. I can't flush the output
to the console from the background thread because the relevant Qt5 code
is not thread-safe (it causes random segfaults). So I added this timer
as a work-around, since it runs in the main UI thread.

Implemented Ctrl+C keyboard interrupts in the console

This is implemented by detecting a Ctrl+C key event in the Python
console in the main Qt UI thread, and sending a keyboard interrupt
to the background thread that runs the Python code.
2023-09-08 21:45:10 +02:00
wmayer dda8166119 Tux: apply clang format 2023-09-08 18:06:03 +02:00
wandererfan d3b41cf693 [Part]fix canScale logic
- fix canScale logic
- remove unused method
- add more comments
2023-09-08 18:04:26 +02:00
wandererfan 47fcdae3a2 [Part]correct handling of preselected objects 2023-09-08 18:04:26 +02:00
mosfet80 68d18d594b Update FCConfig.h
Clean fcconfig
2023-09-08 18:01:43 +02:00
FEA-eng 4981b05fec Fixed minor typo in FEM preferences
solver --> solvers
2023-09-08 11:01:11 -05:00
pre-commit-ci[bot] 86083a5b94 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2023-09-08 12:13:51 +00:00
andrea 759fed90fb fix compilation warning 2023-09-08 14:13:36 +02:00
AgCaliva 0859cf6555 Fix DOMDocument redefinition error 2023-09-08 09:12:52 -03:00
wmayer c7bacc34d6 Gui: filter warning about dead keys
Forum thread: https://forum.freecad.org/viewtopic.php?t=80981
2023-09-08 14:12:24 +02:00
wmayer 3cc4bb7cfb Sandbox: [skip ci] fix build failures 2023-09-08 11:47:16 +02:00
Yorik van Havre 3a4afac6fc Merge pull request #10556 from Roy-043/Draft-arcTracker-did-not-take-Working-Plane-rotation-into-account
Draft: arcTracker did not take Working Plane rotation into account
2023-09-08 11:36:25 +02:00
mosfet80 6e5a851871 Update CMakeLists.txt
Freecad use qt5 or qt6
2023-09-07 23:06:11 +02:00
Chris Hennes dfb6670379 Tools: Fix Start translation TS file name 2023-09-07 23:05:25 +02:00
howie-j 3d7e01bb7a Fixes #10596 2023-09-07 21:14:56 +02:00
luzpaz 4dbbe85c2b Fix various typos 2023-09-07 20:34:49 +02:00
wandererfan 7f2076afb8 [TD]fix fail on multiple empty annotation 2023-09-07 13:11:09 -04:00
wandererfan fa840560c2 [Part]code review changes for FeatureScale 2023-09-07 18:21:56 +02:00
wandererfan 9905572116 [Part]add scale command & feature 2023-09-07 18:21:56 +02:00
Roy-043 22ea529925 Start: Improve "Switch workbench after loading" tooltip
Make it clearer that this property is different from the "Start up workbench".
2023-09-07 09:39:08 -05:00
sliptonic 575c5659ae Merge pull request #10567 from petterreinholdtsen/debian-1120-desktop-extra-categories
Add XDG desktop category X-CNC also used by LinuxCNC.
2023-09-07 09:06:02 -05:00
wmayer e85c41440d Gui: fixes issue #9422: Dependency Graph: export to .dot/.gv 2023-09-07 08:40:05 +02:00
wmayer e401e203af Test: add test for default file system encoding 2023-09-06 23:54:42 +02:00
Ajinkya Dahale 80a54d51c1 [Core] Avoid some seg-fault because of PySequence_Check(nullptr) 2023-09-06 16:17:21 +02:00
wandererfan 4046e03cc6 [TD]refactor print routines out of MDIViewPage 2023-09-06 08:58:33 -04:00
wmayer 409f3fc4e3 Part: add tests to ensure that the fixed methods work correctly 2023-09-06 12:14:37 +02:00
wmayer b081bb05f7 Part: when replacing PyArg_ParseTupleAndKeywords with Base::Wrapped_ParseTupleAndKeywords then in a few cases the negation of the expression has been removed.
See also: https://forum.freecad.org/viewtopic.php?t=80958
2023-09-06 11:53:56 +02:00
wmayer 7bbc93e218 Mesh: fixes issue #10075: 3MF files exported from FreeCAD don't work in PrusaSlicer
Add an option to force to always write a mesh as model type even if it's not a solid
2023-09-06 07:28:07 +02:00
mosfet80 a9503e38e4 Delete src/Tools/plugins/widget/FreeCAD_widgets.vcxproj.user
removed Visual studio user personal file
2023-09-06 07:22:01 +02:00
mosfet80 a320748c3f Delete src/Tools/plugins/widget/FreeCAD_widgets.vcxproj.filters
removed custom Visual Studio filter file
2023-09-06 07:22:01 +02:00
Petter Reinholdtsen 93714f5194 Add XDG desktop category X-CNC also used by LinuxCNC.
This ensure FreeCAD and LinuxCNC both show up in the CNC submenu when
both are installed.
2023-09-06 01:02:29 +02:00
FEA-eng b277feed7d Update MainWindow.cpp
fixed small typo in the warning about 0.22 being dev version not for production use
2023-09-05 15:40:16 -05:00
kaktus Jacek af3cf2e9e9 Removing unnecessary strings from Crowdin + improving typos
patches for #10459 and #10426...
a few small details escaped attention need to be fixed
😉
Removing unnecessary strings from Crowdin and improving typos.
2023-09-05 15:38:58 -05:00
Syres916 384084048d [Gui] Correct logic and use more simplistic condition 2023-09-05 18:26:34 +01:00
Chris Hennes e248e501e5 Merge pull request #10530 from chennes/addFormattingToBlameIgnoreFile
Git: Add recent formatting commits to ignore-revs
2023-09-05 11:46:23 -05:00
sliptonic 960403ade9 Merge pull request #10430 from Stevecosoft/forum-80599_helix
Path: helix toolpath was not allowing Extra Offset values that it should
2023-09-05 09:03:38 -05:00
Roy-043 65cd8adca8 Draft: arcTracker did not take Working Plane rotation into account
Steps to verify the issue:
1. Open FreeCAD.
2. Switch to Std_ViewTop.
3. Click one of the curved arrows of the Navigation Cube.
4. Switch to the Draft WB.
5. Make sure Draft_SelectPlane is set to "Auto".
6. Start Draft_Arc and click 2 points (for the radius and the start angle).
7. Result: The displayed arc does not match the start angle or the current point.

Additonally:
* Removed the normal argument from `__init__`. The tracker does not work properly with just a normal. AFAICT there is no code that specifies this normal.
* Minor improvement to `getAngle`: Switched the vectors.
2023-09-05 15:39:17 +02:00
wandererfan ae7415c39e [TD]add support for view menu zoom 2023-09-05 08:47:40 -04:00
Syres916 6f9ac7aba8 [Preferences] Exclude 8514oem from Monospace fonts 2023-09-05 11:29:37 +01:00
Syres916 d4e12cc88e [App] Remove mistaken commit 2023-09-05 09:18:46 +01:00
Syres916 8d9fc1bce2 [App] PropertyPythonObject Python 3.11 fix 2023-09-05 09:04:35 +01:00
Rexbas 7a9fa16762 Gui: Add nullptr check in showRotationCenter 2023-09-05 08:54:11 +02:00
Jonas Bähr 880461593f Sketcher: Fix check in carbonCopy's python interface
Presumably due to an copy/paste error, carbonCopy used to verify the
referenced object via `isExternalAllowed` (just like addExternal).
Now using `isCarbonCopyAllowed`, the resulting error message is the
expected one for wrong objects, not a generic one after the operation
failed.
2023-09-05 08:49:31 +02:00
Chris Hennes 43c322b3b1 Merge pull request #10546 from chennes/addonManagerRefactorCacheCheck
Addon Manager: Refactor local cache update check
2023-09-04 19:53:59 -05:00
Chris Hennes e23849af35 Addon Manager: Refactor local cache update check 2023-09-04 19:13:18 -05:00
Jonas Bähr 7e84c3f42f Sketcher: Fix wrong format string in PyArg_ParseTuple
The part behind the column represents the function name itself, not an
error message. So previously, an argument error looked like this:
("Give an object" is not the method name)
```
>>> obj.carbonCopy()
Traceback (most recent call last):
  File "<input>", line 1, in <module>
TypeError: Give an object() takes at least 1 argument (0 given)
>>> obj.carbonCopy(123)
Traceback (most recent call last):
  File "<input>", line 1, in <module>
TypeError: Give an object() argument 1 must be str, not int
```

While the format string also supports a text for the complete error message
(using a semicolon instead), I decided against this: Pythons standard text
is more precise than this:
(the type error here is not "Give an object")
```
>>> obj.carbonCopy()
Traceback (most recent call last):
  File "<input>", line 1, in <module>
TypeError: Give an object
>>> obj.carbonCopy(123)
Traceback (most recent call last):
  File "<input>", line 1, in <module>
TypeError: Give an object
```
2023-09-05 00:38:30 +02:00
Jonas Bähr 4db4aeb91a Sketcher: fix docs for solve(..)
Since the docstring was initially written, an additional error code was added.
2023-09-05 00:32:54 +02:00
Rexbas 9fed764368 Gui: Refactor navigation animations
- Animations are played through an Animator
- Standard animations have a fixed duration and inherit from QVariantAnimation
- The animation duration can be changed in the preferences
- Fix animations when using the two arrows above the NaviCube
- Start an animation or start and wait for an animation
- Replaces standard camera animations (e.g. by selecting standard views or NaviCube) with FixedTimeAnimation
- Replace View3DInventorViewer's CameraAnimation with FixedTimeAnimation
- Replace OpenInventor navigation style infinite spin animation with SpinningAnimation
- Stops an active animation when a new animation is started
- Stops an active animation when the user starts dragging, panning or zooming
- Refactor reorientCamera so it can be used in animations
- Enable animations by default
2023-09-04 21:43:41 +02:00
pre-commit-ci[bot] a849f752bc [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2023-09-04 17:32:18 +00:00
Syres916 4c1057c36d [Start] Fix Python 3.11 Unicode Errors
Example Error :
  File "/home/john/freecad-daily-build/Mod/Start/StartPage/StartPage.py", line 422, in handle
    ALTCSS = f.read()
             ^^^^^^^^
  File "/usr/lib/python3.11/encodings/ascii.py", line 26, in decode
    return codecs.ascii_decode(input, self.errors)[0]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 421: ordinal not in range(128)
2023-09-04 18:15:20 +01:00
Chris Hennes 331b764850 Merge pull request #10520 from qewer33/startpage-quickstart-open
StartPage: Add custom CSS option, re-organize preferences and further fixes
2023-09-04 11:54:39 -05:00
Chris Hennes f1b042c7d2 Git: Add recent formatting commits to ignore-revs 2023-09-04 10:04:46 -05:00
didendron 2351219559 Gui: Add cancel button to transform task UI dialog
Fixes #7517
2023-09-04 16:43:27 +02:00
Chris Hennes d57d14321b Web: Final application of pre-commit 2023-09-04 08:18:51 -05:00
Chris Hennes efd11e590d Test: Final application of pre-commit 2023-09-04 08:18:51 -05:00
Chris Hennes 217674de04 Surface: Final application of pre-commit 2023-09-04 08:18:51 -05:00
Chris Hennes 70e046bbd5 Start: Final application of pre-commit 2023-09-04 08:18:51 -05:00
Chris Hennes db24eeec53 RE: Final application of pre-commit 2023-09-04 08:18:51 -05:00
Chris Hennes 714cb0a309 Points: Final application of pre-commit 2023-09-04 08:18:51 -05:00
Chris Hennes 7593f0c112 MeshPart: Final application of pre-commit 2023-09-04 08:18:51 -05:00
Chris Hennes b8f8b232cb Inspection: Final application of pre-commit 2023-09-04 08:18:51 -05:00
Chris Hennes c5c2ea3498 Assembly: Final application of pre-commit 2023-09-04 08:18:51 -05:00
wmayer 7681c62468 Test: apply clang format 2023-09-04 07:22:09 -05:00
wmayer bc2cecb6c8 Test: add to pre-commit hooks 2023-09-04 07:22:09 -05:00
wmayer 4919fa18ff Surface: apply clang format 2023-09-04 07:21:32 -05:00
wmayer ecc21af1f1 Surface: add to pre-commit hooks 2023-09-04 07:21:32 -05:00
Chris Hennes 791fe02934 Sketcher: Reformat to current clang-format standard 2023-09-04 07:17:28 -05:00
Yorik van Havre 41a1a7a8e6 Merge pull request #10505 from Roy-043/Draft-Fix-angle-range-issue-of-make_circle
Draft: Fix angle range issue of make_circle
2023-09-04 11:29:13 +02:00
Yorik van Havre f2f2cf1a17 Merge pull request #10464 from Ondsel-Development/bug/remove_gui_dependency
Bug fix: Allow Draft WB to import in FreeCAD headless docker container
2023-09-04 11:22:53 +02:00
Yorik van Havre dd6b726905 Draft: Workaround failing multifuse in shape2Dview (#10478) 2023-09-04 10:45:56 +02:00
kaktus Jacek 41fb0d45a3 Fem: Removing "constraint" from the names
Removing "constraint" from the names of most FEM workbench features.

https://github.com/FreeCAD/FreeCAD/discussions/10217
2023-09-03 22:29:35 -05:00
qewer33 9dec8d320b Apply pre-commit 2023-09-03 23:51:49 +03:00
qewer33 8bff25d057 Fix CI tests failing 2023-09-03 20:52:58 +03:00
qewer 3656abc578 Merge branch 'master' into startpage-quickstart-open 2023-09-03 19:47:28 +03:00
qewer33 9767898eef StartPage remove hide scrollbars option 2023-09-03 19:30:57 +03:00
qewer33 4e15aa1bfb StartPage fixes 2023-09-03 19:23:13 +03:00
wmayer 0a8292a850 Web: apply clang format 2023-09-03 17:22:44 +02:00
wmayer 17f455b4e6 Web: add to pre-commit hooks 2023-09-03 17:22:44 +02:00
Chris Hennes 1a960286a4 Tests: Reformat to current clang-format standard 2023-09-03 09:51:42 -05:00
Chris Hennes c1825036a6 Tools: Reformat to current clang-format standard 2023-09-03 09:51:22 -05:00
wandererfan 2e4ed1ae99 [TD]fix selection highlighting from tree 2023-09-03 10:09:42 -04:00
qewer33 2046d8e5a0 Fix StartPage preference widget names 2023-09-03 16:40:58 +03:00
qewer33 f09d503d7b StartPage implement custom CSS preference 2023-09-03 16:21:49 +03:00
wmayer 17bf44ec9a Start: apply clang format 2023-09-03 14:21:53 +02:00
wmayer 102a428745 Start: add to pre-commit hooks 2023-09-03 14:21:53 +02:00
Roy-043 3cf51debca Ammended files based on review 2023-09-03 12:43:34 +02:00
wmayer 9fc5c2d8e4 Base: fixes #10462: mesh.unite() causes segementaion fault 2023-09-03 11:14:34 +02:00
Amritpal Singh 9f8f7c5ab3 Bug fix: Allow Draft WB to import in FreeCAD headless docker container 2023-09-03 12:24:22 +05:30
wandererfan 7ca834acc5 [TD]fix Tolerance format issue in dialog 2023-09-02 21:32:14 -04:00
Roy-043 29c12225d0 Draft: Correct mistake in PR10160 (#10506)
`self.gui_tools_repository` is an instance of a class that manages a dictionary, it is not a dictionary itself.
2023-09-02 23:37:16 +02:00
Roy-043 e02cfb2f38 Typo... 2023-09-02 23:04:41 +02:00
Roy-043 f8a5150e6f Draft: Fix angle range issue of make_circle 2023-09-02 20:48:40 +02:00
Chris Hennes 89579cff6e Addon Manager: Reformat with new Black line length 2023-09-02 13:38:08 -05:00
wmayer c989a8506e RE: apply clang format 2023-09-02 16:24:25 +02:00
wmayer c6bc17ffc1 RE: apply clang format 2023-09-02 16:24:25 +02:00
wmayer 7783e683c8 RE: add to pre-commit hooks 2023-09-02 16:24:25 +02:00
Chris Hennes 90c4784644 Add yaml-cpp dependency to sub_lint.yml 2023-09-02 08:43:16 -05:00
Chris Hennes 118dc0c6c3 RE: Correct use of Wrapped_ParseTupleAndKeywords 2023-09-02 13:55:08 +02:00
Paddle 3a9135fd30 Sketcher_Dimension Replace SubNames by std::move(SubNames) 2023-09-02 11:35:31 +02:00
wmayer 6fb2bcafe8 MeshPart: apply clang format 2023-09-02 11:30:04 +02:00
wmayer c2bda2f756 MeshPart: apply clang format 2023-09-02 11:30:04 +02:00
wmayer 226d102906 MeshPart: add to pre-commit hooks 2023-09-02 11:30:04 +02:00
wmayer ea116dc033 Inspection: apply clang format 2023-09-02 00:59:42 +02:00
wmayer 7155d94584 Inspection: add to pre-commit hooks 2023-09-02 00:59:42 +02:00
Paddle 9d954ac6a1 Improve code and also improve the open file feature to enable selecting several files. 2023-09-01 14:18:28 -05:00
kaktus Jacek 671ca542c3 Update Workbench.cpp 2023-09-01 13:17:55 -05:00
wmayer 8d24f0c021 Points: apply clang-formatting 2023-09-01 20:07:54 +02:00
wmayer dd9c1e1b05 Points: Add to pre-commit hooks 2023-09-01 20:07:54 +02:00
Evan Chaney 7814945667 Fix slight grammar error 2023-09-01 12:17:34 -05:00
Chris Hennes 1a1c5e7cbf Update action.yml to use LibPack 0.21 V2.10 2023-09-01 13:00:26 -04:00
Paddle 4f34ef1a97 Sketcher_Dimension fix crash. 2023-09-01 18:50:46 +02:00
wmayer c7116599ce Sketcher: fix several warnings:
* fix -Wunused-parameter
* fix -Wsign-compare
2023-09-01 17:34:29 +02:00
wandererfan 61add5ea7a [TD]fix keyboard zoomIn/zoomOut for Touchpad mode 2023-09-01 09:11:55 -04:00
Kacper Donat 0a8382a844 GitHub: Better layout and description for Problem template
This commit updates description of Problem report issue template to be
more descriptive and to include what kinds of issues could be reported.
Field with description is moved to be second one so it will be rendered
on the top of issue instead of near the end.

Fixes #10448
2023-09-01 09:04:53 -04:00
Paddle fb32c0a6d7 Sketcher_Dimension: Disable arc-circle and arc-line distances as they are not implemented yet. 2023-09-01 08:00:21 -05:00
Paddle e7b0ffffc4 Sketcher_Dimension: Implement Point-to-Circle distance. 2023-09-01 08:00:21 -05:00
Paddle a121f8710f Sketcher_Dimension Fix the transaction auto-closing issue 2023-09-01 07:58:45 -05:00
Paddle c72c9eaaa3 Sketcher_Dimension : Implement selection->tool workflow 2023-09-01 07:58:45 -05:00
Paddle d74e67336e Sketcher_Dimension : Turn the command into a group-command to have at hand individual commands. 2023-09-01 07:57:44 -05:00
wmayer 49e83787ef Gui: make GroupCommand more flexible
Currently the GroupCommand by default sets the action group as non-exclusive, checkable and having a drop-down menu which isn't always the desired behaviour in sub-classes.
Thus, some new methods are added to let a sub-class in its constructor decide how it should behave.
2023-09-01 13:28:19 +02:00
Yorik van Havre f865fff37c Merge pull request #10425 from Roy-043/Draft-FixDraft_Mirror-preview
Draft: Fix Draft_Mirror preview
2023-09-01 12:48:16 +02:00
kaktus Jacek db4a4fabc2 FEM: disable the Constraints without solver submenu
Temporarily disable the Constraints without Solver submenu from the GUI.
https://github.com/FreeCAD/FreeCAD/issues/10135
2023-08-31 23:41:27 -05:00
Chris Hennes d657cc0a59 CI: Fix syntax in labeler 2023-08-31 23:27:06 -05:00
luzpaz 9ed299a57a Fix typos 2023-08-31 22:29:17 -05:00
luzpaz 12e45622a5 labels.yml: Add Assembly workbench auto-tag back in
In lieu of #10427 which kickstarted Assembly development, we can add auto-tag assembly wb PRs again.
2023-08-31 21:43:25 -05:00
sliptonic 4fc4008c67 Merge pull request #10465 from chennes/assemblyToPrecommit
Assembly: Add Assembly to precommit
2023-08-31 16:12:53 -05:00
Przemo Firszt f23ceb9c2a i[COPR] bump version of nightlies to pre 0.22
Signed-off-by: Przemo Firszt <przemo@firszt.eu>
2023-08-31 22:48:02 +02:00
qewer33 4269c9f4a0 Turn StartPage "Import" quickstart button into "Open" 2023-08-31 22:04:50 +03:00
Chris Hennes 592c992b86 Assembly: Apply pre-commit to Assembly files 2023-08-31 12:49:30 -05:00
Chris Hennes 962a9fcf87 Assembly: Add to pre-commit hooks 2023-08-31 12:44:08 -05:00
PaddleStroke b7a6558c72 Assembly: Initial implementation (#10427)
* Assembly: Initial implementation.
* Disable Assembly wb as it's WIP.
* Stub code for handling assembly import.

Co-authored-by: sliptonic <shopinthewoods@gmail.com>
Co-authored-by: Paddle <PaddleStroke@users.noreply.github.com>
2023-08-31 12:30:10 -05:00
AgCaliva ad5cb33d72 Trying to solve header issues in windows. 2023-08-31 12:38:31 -03:00
qewer33 3d251e4986 StartPage CSS fixes 2023-08-31 17:39:34 +03:00
tomate44 f3463fe5a7 BlendCurve: cleanup properties instantiation 2023-08-31 10:42:40 +02:00
tomate44 81670321b8 BlendCurve: add documentation of properties 2023-08-31 10:42:40 +02:00
tomate44 2df068b3c5 BlendCurve: fix auto-update of properties 2023-08-31 10:42:40 +02:00
tomate44 cdf998343f Surface: allow instant update of BlendCurve properties 2023-08-31 10:42:40 +02:00
AgCaliva 5f8426d7a7 fix parameter 2023-08-31 01:03:51 -03:00
AgCaliva 4062d9b06a fix merge 2023-08-30 17:59:41 -03:00
AgCaliva 39dcb1da7b Merge Master 2023-08-30 16:24:16 -03:00
wandererfan a2735416e1 [TD]fix #10440 Balloon arrow end point 2023-08-30 14:01:24 -04:00
Roy-043 a66c9ee549 Draft: importDWG.py wrongly assumed that opt directory always exists on Linux (#10447)
Forum topic:
https://forum.freecad.org/viewtopic.php?p=703063#p703061
2023-08-30 18:10:13 +02:00
howie-j d5a9f78ad3 Updated Shortcuts.cfg pref pack template to newest commands and shortcuts 2023-08-30 10:00:15 -05:00
liukaiwen aef990d440 fix: json is a 3rdparty library, move to 3rdparty 2023-08-30 16:59:25 +02:00
wmayer 3883ef3a30 libkdtree++: fix deprecation warning:
definition of implicit copy assignment operator for '_Base_iterator' is deprecated because it has a user-provided copy constructor [-Wdeprecated-copy-with-user-provided-copy]
2023-08-30 16:58:48 +02:00
wmayer a6f5d86d21 Gui: fix crash with the move to the new-style of class SelectionFilterPy
When setting the selection filter below and hovering over an object causes a segmentation fault:
filter = Gui.Selection.Filter('SELECT Part::Feature')
Gui.Selection.addSelectionGate(filter)
2023-08-30 15:09:08 +02:00
wandererfan 4fb7b912b4 [TD]fix double delete of centerline 2023-08-29 20:44:14 -04:00
wandererfan fdd3a8d2cf [TD]Allow section line stretch/shrink 2023-08-29 20:44:14 -04:00
bdieterm 7013ce0cbc Sketcher: fix segfault on distance constraints without SecondPos 2023-08-29 16:24:15 -05:00
Steve Corwin 26ee7de4cc Path: helix toolpath was not allowing Extra Offset values that it should (#10157, #10336) 2023-08-29 13:43:11 -07:00
kaktus Jacek 0445b88d55 Cleaning code from unnecessary strings generated to Crowdin 4 (#10426)
Cleaning Crowdin of "garbage". Second approach.
https://github.com/FreeCAD/FreeCAD-translations/issues/270
2023-08-29 12:57:26 -05:00
AgCaliva 1f6545557d Fixed working with tests 2023-08-29 14:41:58 -03:00
Roy-043 ccbc52affd Draft: Remove unused import WorkingPlane 2023-08-29 18:59:40 +02:00
Roy-043 a205ee549f Draft: Fix Draft_Mirror preview 2023-08-29 16:25:42 +02:00
Chris Hennes 6bfafc62dc Update translations 2023-08-29 07:38:09 -05:00
kaktus Jacek c0060277c8 Cleaning code from unnecessary strings generated to Crowdin 3 (#10420)
Cleaning Crowdin of "garbage". Second approach.
https://github.com/FreeCAD/FreeCAD-translations/issues/270
2023-08-29 07:35:04 -05:00
Yorik van Havre 79f3c6d463 Merge pull request #10323 from FreeCAD/CONTRIBUTING-PROJECT-ADMIN
Clarify the role of the Project Administrators
2023-08-29 11:28:05 +02:00
kaktus Jacek 43e247fb75 Cleaning code from unnecessary strings generated to Crowdin 2 (#10416)
Cleaning Crowdin of "garbage". Second approach.
https://github.com/FreeCAD/FreeCAD-translations/issues/270
2023-08-28 22:08:14 -05:00
Chris Hennes 377fe27826 Merge pull request #10418 from wwmayer/fix_cleanup_selection
Fix possible issues in selection node
2023-08-28 22:07:17 -05:00
wmayer 6eddb195cd Gui: do not call back() on an empty container
Calling back() on an empty container is undefined behaviour: https://en.cppreference.com/w/cpp/container/vector/back
2023-08-29 00:52:33 +02:00
wmayer ee3a0647e0 Gui: no need to check for nullptr when using dynamic_cast
It's explicitly allowed to use dynamic_cast on a nullptr and the result will be a nullptr too.
See https://en.cppreference.com/w/cpp/language/dynamic_cast
2023-08-29 00:45:27 +02:00
Chris Hennes 932fd4638b Merge pull request #10410 from qewer33/startpage-viual-fixes-2
StartPage: Visual fixes follow-up
2023-08-28 12:18:13 -05:00
sliptonic 1d33e6916c Merge pull request #8443 from LarryWoestman/staging
Path:  Now can set parameter_functions from a postprocessor file.
2023-08-28 11:21:16 -05:00
Chris Hennes df7b2f8c4b App: Warn on OpenGL too old (#9272)
* App: Warn on OpenGL too old

Based on original code from PR #9164

* GUI: Switch to DlgCheckableMessageBox for openGL warning
2023-08-28 12:08:23 -04:00
Edoardo Morandi 93865b2495 fix: downcasting of SoNode that can cause UB (#9285)
A SoNode* is not necessarily a SoFCSelectionRoot*, and when this
assumption breaks the code causes UB (the comment related to one of the
chunks explicitly says that it is safe, but unfortunately it is not).

Instead of storing `SoFCSelectionRoot*` and blindly cast a generic
`SoNode*` to that, we can do the opposite. In this way it is obviously
necessary to use a dynamic cast when trying to reach for
`SoFCSelectionRoot` specific features, but in this way the abstraction
should be sound.

Co-authored-by: Chris Hennes <chennes@pioneerlibrarysystem.org>
2023-08-28 11:06:06 -05:00
Florian Foinant-Willig ae60811fba Sketcher: Point to Circle Distance Constraints (#9559) 2023-08-28 10:58:09 -05:00
Chris Hennes 874b0ff1a8 Merge pull request #9810 from Ondsel-Development/v2_constrain_contextually
Sketcher: Constrain Contextual implementation V2
2023-08-28 10:52:05 -05:00
andrea 6dc39dd5d9 Update libkdtree from 0.7.0 to 0.7.1.1 2023-08-28 10:48:39 -05:00
Florian Foinant-Willig d3af7e1e8d Sketcher: Fix Visual toolbox visibility 2023-08-28 10:46:48 -05:00
sliptonic 2f265056a1 Merge pull request #10318 from davidgilkaufman/rampCircleBug
[Path] Fix bug where ramp dressup makes big circles
2023-08-28 10:45:17 -05:00
liukaiwen 974da86cb4 fix: windows build need /utf-8 2023-08-28 11:43:39 -04:00
mosfet80 d453672ab8 [BASE] Removed dead code (#10330) 2023-08-28 10:41:20 -05:00
Yorik van Havre 848c9fcfea Merge pull request #10332 from Roy-043/Arch-Implement-placement_from_face-in-ArchWindow.py
Arch: Implement placement_from_face in ArchWindow.py
2023-08-28 17:39:58 +02:00
PaddleStroke 22d9fb5aa7 Pref: wb: Add contextual menu to sort alphabetically. (#10363)
Co-authored-by: Paddle <PaddleStroke@users.noreply.github.com>
2023-08-28 10:39:44 -05:00
Syres916 df8a15fd75 [Gui] Change View toolbar order
as per discussion https://forum.freecad.org/viewtopic.php?p=702171#p702171
2023-08-28 10:36:10 -05:00
sliptonic 59995204e0 Merge pull request #10405 from wwmayer/fix_activeobject_of_activeview
Gui: improve accessing active object of an MDI view
2023-08-28 10:34:57 -05:00
Yorik van Havre 1b31e8e7ab Merge pull request #10409 from chennes/cppTestsToCI
CI: Add new test targets
2023-08-28 17:34:18 +02:00
qewer33 2f352b3383 Add StartPage CSS warning comment 2023-08-28 18:15:15 +03:00
qewer33 1c13ce1b11 Add file thumbnail icons hide and size options to StartPage 2023-08-28 18:07:33 +03:00
Chris Hennes 50d087b8db CI: Add new test targets 2023-08-28 09:20:29 -05:00
wmayer 0b63d0cecb Tests: move Sketcher test target to appropriate CMakeLists.txt file 2023-08-28 09:12:26 -05:00
qewer33 1c446b1161 Make StartPage tips use BackgroundTextColor 2023-08-28 16:52:34 +03:00
qewer33 65a826dbfc Change default StartPage BackgroundTextColor value 2023-08-28 16:50:19 +03:00
Chris Hennes 1030e1cee7 Merge pull request #10403 from wwmayer/fix_format_date
Gui: use '%Y-%m-%d %H:%M:%S' as format string for date
2023-08-28 07:41:38 -05:00
wmayer 2d35da4519 Gui: improve accessing active object of an MDI view
* if 2nd argument of getActiveObject() is False and the requested object doesn't exist then return (None, None, "")
* remove the exact same implementations from View3DInventorPy
2023-08-28 13:34:48 +02:00
Roy-043 36fdbdd6d9 Draft: Reduce occurrences of App.DraftWorkingPlane 2 (#10390) 2023-08-28 10:17:58 +02:00
Roy-043 b8f0de8dd3 Draft: Reduce occurrences of App.DraftWorkingPlane (#10388) 2023-08-28 10:16:36 +02:00
wmayer c05e7f7670 Gui: use '%Y-%m-%d %H:%M:%S' as format string for date
For more details see: https://forum.freecad.org/viewtopic.php?p=702475#p702475
2023-08-28 08:25:52 +02:00
wmayer 325ae8210a Main: The fix for https://forum.freecad.org/viewtopic.php?t=79192
may have caused a regression with Py3.10 on Windows as reported here https://forum.freecad.org/viewtopic.php?t=80659

This PR activates the previous fix for Linux & UNIX systems only
2023-08-27 22:51:22 +02:00
Chris Hennes fbd10583e7 Merge pull request #10377 from kadet1090/lp-offset
PartDesign: Add offset modes for patterns
2023-08-27 15:31:15 -05:00
geolta dbd0922578 Improve Pad/Pocket Task Dialog (#10392)
* Improve Pad/Pocket Task Dialog
- Reordering elements
- hide select face if not necessary
- improve tab stop order
2023-08-27 15:01:55 -05:00
MisterMaker e6c278b2e5 [Stylesheets] Replaced more static colors with the accent colors. (#10387)
* [Stylesheets] Fixed and added more accent colors.

Added accent colors to Behave dark ProDark and Dark contrast.
Used accent color 3 to the button gradients.
Added Gradient to the Modern styles, because you can disable the gradient by giving 2 accent colors the same color.

* changed to so accent color 3 is text.
2023-08-27 13:48:36 -05:00
qewer 0a093e1ed1 StartPage: Visual overhaul and CSS fixes (#10391)
* StartPage visual overhaul and CSS fixes
* Add qewer33 to CONTRIBUTORS
2023-08-27 13:27:53 -05:00
wmayer 6200150fac Drawing: fix build failure 2023-08-27 19:16:58 +02:00
wmayer 8a59350de8 Mesh: add unit tests 2023-08-27 18:55:02 +02:00
wmayer 908af28eb3 Points: add unit tests 2023-08-27 18:55:02 +02:00
wmayer d6a0732032 Base: add unit tests 2023-08-27 18:55:02 +02:00
Paddle 11fd7f3a32 Implement GeomSelectionSizes to further refactor Dimension::makeAppropriateConstraint 2023-08-27 18:48:33 +02:00
Paddle 4d3b27f9a8 Dimension: Fix 2 circles concentric and length mode. 2023-08-27 18:48:00 +02:00
Chris Hennes d8094b0d57 Merge pull request #10365 from chennes/wrapPyArgParseWithKeywords
Wrap PyArg_ParseTupleWithKeywords
2023-08-27 10:23:31 -05:00
kaktus Jacek 06284ede05 Cleaning code from unnecessary strings generated to Crowdin. (#10385)
Cleaning Crowdin of "garbage". Second approach.
https://github.com/FreeCAD/FreeCAD-translations/issues/270
2023-08-27 10:08:11 -05:00
Kacper Donat 1c70983c60 PD: Keep Length and Offset in sync for LinearPattern
As Length and Offset represents the same concept in different way it is
useful to keep them in sync when it is possible. Update to one of them
will update the other with approperiate value. This behaviour behaviour
works only if both properties are not coming from expression engine -
those will stay not touched.
2023-08-27 12:45:53 +02:00
Kacper Donat 6d7fea506c PD: Add offset / overall angle modes for PolarPatterns
This commit adds two separate modes for defining angular spacing between
elements in the PD's Polar Pattern:

1. Overall Angle - which behaves exactly like it behaved before,
2. Offset Angle - which allows user to specify separation angle between
   consecutive elements.

This change is analogue to that introduced for LinearPattern in previous
commits.
2023-08-27 12:45:53 +02:00
al 2b1108439f PD: Add offset / overall length modes for LinearPattern
This commit adds support for two separate modes of defining distance
between elements in PD's Linear Pattern.

1. Overall Length - which works exactly like it works before,
2. Spacing - which allows user to explicitly define distance (offset) between
   features.
2023-08-27 12:45:53 +02:00
Roy-043 2c317cd40a Draft: Make gui_tool_utils.get_support nesting aware (#10373)
The get_support function did not work for objects nested in, for example, Std_Parts.

Additionally improved and cleaned up the code, and reduced the docstrings.
2023-08-27 12:41:25 +02:00
Roy-043 e9294f2dbb Draft: remove superfluous code from gui_points.py (#10379) 2023-08-27 12:41:01 +02:00
Roy-043 c9975f39f8 Draft: Add wp attribute to DraftTool class (#10386)
It makes sense to have this attribute. It will also facilitate the coming work related to the Plane class.

Additionally: Removed the `not self.doc` check from `Activated` as `IsActive` already handles this.
2023-08-27 12:40:30 +02:00
Paddle 212c0a75af Fix crash when user click 'Close' button while Dimension is active.
TaskDlgEditSketch didn't purge the handler first as is doing CmdSketcherLeaveSketch.
2023-08-27 09:26:44 +02:00
Paddle 178257c544 Refactor makeAppropriateConstraint 2023-08-27 08:25:20 +02:00
Paddle 4c161a544d Replace multiple occurence of selVec.size() by s_vec to clean the makeAppropriateConstraint function 2023-08-27 07:26:53 +02:00
Chris Hennes af23624e08 Add libyaml-cpp-dev to Ubuntu 22.04 LTS CI 2023-08-27 00:22:40 -05:00
Chris Hennes a8a4594d47 Add libyaml-cpp-dev to Ubuntu 20.04 LTS CI 2023-08-27 00:22:40 -05:00
mosfet80 abf767b0c8 Update ccache into action.yml 2023-08-27 00:22:30 -05:00
mosfet80 fa1daaa6c2 Update labeler.yml
Switch to Node.js 16 by default.
version 3 is no longer maintained
2023-08-27 00:22:20 -05:00
wmayer 90bafb3a06 Base: add methods to get volume and get max/min points 2023-08-27 03:11:00 +02:00
Chris Hennes 29e53918ae Base: Add clearer error message for missing nullptr 2023-08-26 16:11:03 -05:00
Paddle 00cb724341 Small simplification by removing useless tests in makeAppropriateConstraint 2023-08-26 22:13:11 +02:00
wmayer bb13c179e9 Base: fix clang-tidy warnings in BoundBox.h 2023-08-26 21:03:58 +02:00
Paddle 79bb68ef14 Sketcher settings Dimension Add enums instead of magic numbers 2023-08-26 19:55:17 +02:00
Paddle 0908f07521 refactor Sketcher Dimension releaseButton 2023-08-26 19:47:23 +02:00
Chris Hennes bf684e9583 Base: Add static_assert for keyword array size > 0 2023-08-26 12:32:29 -05:00
Paddle 421f35fe95 Remove superfluous virtual add missing override. 2023-08-26 19:13:52 +02:00
wmayer d623e37e5e Test: add more unit tests 2023-08-26 13:17:53 +02:00
Paddle 2b2ba0b08a Change the name to 'Dimension' instead of 'Constrain Contextual' 2023-08-26 08:35:27 +02:00
Paddle 77bab58039 Fix texts in the new settings. 2023-08-26 07:41:11 +02:00
Paddle 8a858ae7ec Sketcher: Constrain Contextual implementation. 2023-08-26 07:41:09 +02:00
Chris Hennes c60944ed62 TD: Wrap PyArg_ParseTupleAndKeywords 2023-08-25 15:34:26 -05:00
Chris Hennes 079617a58e Robot: Wrap PyArg_ParseTupleAndKeywords 2023-08-25 15:34:26 -05:00
Chris Hennes e80f05cea0 RE: Wrap PyArg_ParseTupleAndKeywords 2023-08-25 15:34:26 -05:00
Chris Hennes 68adfdf98c Path: Wrap PyArg_ParseTupleAndKeywords 2023-08-25 15:34:26 -05:00
Chris Hennes 0e8be10b90 Part: Wrap PyArg_ParseTupleAndKeywords 2023-08-25 15:34:26 -05:00
Chris Hennes 8fe9d7e879 MeshPart: Wrap PyArg_ParseTupleAndKeywords 2023-08-25 15:34:26 -05:00
Chris Hennes 363ad73908 Mesh: Wrap PyArg_ParseTupleAndKeywords 2023-08-25 15:34:26 -05:00
Chris Hennes 08cf226263 Import: Wrap PyArg_ParseTupleAndKeywords 2023-08-25 15:34:26 -05:00
Chris Hennes 8bf24a7c3f Drawing: Wrap PyArg_ParseTupleAndKeywords 2023-08-25 15:34:26 -05:00
Chris Hennes 86a44c9824 Gui: Wrap PyArg_ParseTupleAndKeywords 2023-08-25 15:34:26 -05:00
Chris Hennes 56d820892c App: Wrap PyArg_ParseTupleAndKeywords 2023-08-25 15:34:20 -05:00
Chris Hennes 3b79fd58b7 Base: Wrap PyArg_ParseTupleAndKeywords 2023-08-25 14:52:30 -05:00
Chris Hennes ada736696e Base: Add wrapper for PyArg_ParseTupleAndKeywords
Enable strict const-correctness for the keywords argument and address
several linter complaints related to using a C function in C++ code.
2023-08-25 14:49:28 -05:00
wmayer 423cc42ac8 Tests: add unit tests for:
* TopoShape::getElementTypeAndIndex
* ComplexGeoData::getTypeAndIndex

and fix crashes there when passing a null pointer
2023-08-25 19:23:18 +02:00
wmayer f6d1fe1ab3 Part: refactor ViewProviderPartExt::getDetail 2023-08-25 19:23:18 +02:00
wmayer fa12b433df App: refactor ComplexGeoData::getSubElementByName 2023-08-25 19:23:18 +02:00
andrea 58b5cb16ae removed unused files 2023-08-25 16:06:42 +02:00
Roy-043 602841c5f0 Draft: Remove unused arguments from gui_tool_utils.get_point (#10347) 2023-08-25 03:49:06 +02:00
Roy-043 971e74b7db Draft: Housekeeping and minor improvements for some draftguitools (#10339) 2023-08-25 03:47:39 +02:00
wmayer 010dca8303 Base: C++ core guidelines: init variables 2023-08-24 18:48:52 +02:00
Roy-043 53a4fb14c3 Draft: Fix placement_from_face if vec_z matches normal of face (#10333) 2023-08-24 09:53:13 +02:00
sliptonic 8dc6c67fc0 Update CONTRIBUTING.md
Co-authored-by: Chris Hennes <chennes@pioneerlibrarysystem.org>
2023-08-23 14:49:34 -05:00
wmayer 5a153e50ff Gui: modernize C++: use default member init 2023-08-23 19:51:44 +02:00
wmayer ee0fad4c90 App: modernize C++: use default member init 2023-08-23 19:51:44 +02:00
wmayer 4fb07bcfd6 Base: modernize C++: use default member init 2023-08-23 19:51:44 +02:00
Roy-043 6e7cecad52 Arch: Implement placement_from_face in ArchWindow.py
Also improve alignment relative to random workingplane if no face has been hovered
2023-08-23 14:31:08 +02:00
Roy-043 a60c9c2cf1 Draft: Fix error in PR10327 (#10329) 2023-08-23 13:32:37 +02:00
Roy-043 29339d7197 Draft: Add placement_from_face to geometry.py (#10327)
Changed getPlacementFromFace function in WorkingPlane.py to a compatibility function that calls placement_from_face.
2023-08-23 12:05:34 +02:00
Roy-043 5c4d8730d9 Draft: Add placement_from_points to geometry.py
Changed getPlacementFromPoints function in WorkingPlane.py to a compatibility function that calls placement_from_points.
2023-08-23 11:17:17 +02:00
wmayer e613167d8d Mesh: modernize C++: use default member init 2023-08-23 00:55:03 +02:00
wmayer bc8e9f5f29 Part: modernize C++: use default member init 2023-08-23 00:55:03 +02:00
wmayer 8c2e110bfb MeshPart: modernize C++: use default member init 2023-08-23 00:55:03 +02:00
wmayer 5686149cd3 PD: modernize C++: use default member init 2023-08-23 00:55:03 +02:00
wmayer 8b8f970b27 Inspection: modernize C++: use default member init 2023-08-23 00:55:03 +02:00
wmayer a0882fe64a Import: modernize C++: use default member init 2023-08-23 00:55:03 +02:00
wmayer 51b924fd81 FEM: modernize C++: use default member init 2023-08-23 00:55:03 +02:00
wmayer e456b50c6e Points: modernize C++: use default member init 2023-08-23 00:55:03 +02:00
wmayer f797e575a7 RE: modernize C++: use default member init 2023-08-23 00:55:03 +02:00
wmayer c0323a173d Robot: modernize C++: use default member init 2023-08-23 00:55:03 +02:00
wmayer 0b0f039ef9 Sheet: modernize C++: use default member init 2023-08-23 00:55:03 +02:00
wmayer 6bdff0f477 Surface: modernize C++: use default member init 2023-08-23 00:55:03 +02:00
sliptonic d38d949cf0 Clarify adding administrators 2023-08-22 17:32:27 -05:00
sliptonic 2644a01fe9 Update CONTRIBUTING.md 2023-08-22 17:27:21 -05:00
LarryWoestman b94b42aff5 Path: Added a change based on feedback. 2023-08-22 13:28:09 -07:00
LarryWoestman 3f499ec1c4 Path: Now can set parameter_functions from a postprocessor file. 2023-08-22 13:28:09 -07:00
David Kaufman 3d12a4b9fd [Path] Fix bug where ramp dressup makes big circles 2023-08-22 12:08:13 -04:00
wmayer 88784694f6 Gui: add missing precompiled header 2023-08-22 15:45:22 +02:00
wmayer a0d86224f3 Part: modernize C++: use equals default 2023-08-22 15:14:03 +02:00
wmayer ca1cb21498 PD: modernize C++: use equals default 2023-08-22 13:31:17 +02:00
wmayer e3809702d2 Robot: modernize C++: use equals default 2023-08-22 12:49:17 +02:00
wmayer f336ebd1e6 RE: modernize C++: use equals default 2023-08-22 12:48:09 +02:00
wmayer 1ac09bccc3 Sheet: modernize C++: use equals default 2023-08-22 12:45:58 +02:00
wmayer 5d585de259 Points: for E57 reader move from float to double 2023-08-22 12:44:38 +02:00
wmayer 43ec243292 Points: modernize C++: use equals default 2023-08-22 12:37:37 +02:00
wmayer a3057e946b Mod: modernize C++: use equals default 2023-08-22 11:16:49 +02:00
wmayer fecc939611 Surface: modernize C++: use equals default 2023-08-22 11:16:10 +02:00
wandererfan 9c1bc2e0e9 [TD]use original shape for section of section 2023-08-21 20:31:06 -04:00
wandererfan 9b6dd9f8bd [TD]add preference for choice of section shape 2023-08-21 20:31:06 -04:00
bdieterm f6027d805c Core: escape filepath characters in FreeCAD.loadFile 2023-08-21 19:50:51 -04:00
sliptonic 93822553dd Merge pull request #10033 from jffmichi/fix_flipedge
[Path] fix flipEdge not taking into account FirstParameter and LastParameter…
2023-08-21 16:12:56 -05:00
sliptonic 13284dd97d Merge pull request #10179 from davidgilkaufman/rampNestedDressup
[Path] Make RampDressup accept other dressups as its base operation
2023-08-21 14:08:57 -05:00
qewer 62251818c7 StartPage: Fix new file templates issues (#10291)
* Make StartPage new file template buttons use if instead of match

* Make StartPage Part design new file template not create a sketch

* Remove StartPage Part new file template and rename Part Design template based on community feedback

* StartPage LoadNew.py fix indentation
2023-08-21 13:58:29 -05:00
wmayer 9a749e51c8 Mod: modernize C++: use equals default 2023-08-21 20:21:30 +02:00
luzpaz ed9ff68935 Fix typos 2023-08-21 20:20:47 +02:00
wmayer 5177007994 Mesh: modernize C++: use equals default 2023-08-21 18:39:59 +02:00
sliptonic 8701e0b7a1 Merge pull request #9703 from FlachyJoe/arc_helper_gui
Sketcher: Add command to switch arc helpers
2023-08-21 11:20:16 -05:00
Florian Foinant-Willig b80c960077 PartDesign: Fix uptolast ends too soon 2023-08-21 11:14:24 -05:00
sliptonic 9cc7a5afd9 Merge pull request #9782 from davidgilkaufman/restMachining
Rest Machining for Path and Path3D Operations
2023-08-21 11:13:01 -05:00
Yorik van Havre 0be6941476 Removed gitignore, fixed signing 2023-08-21 11:12:05 -05:00
Yorik van Havre 5e0dd142d5 Tools: fixed typo in appimage build script 2023-08-21 11:12:05 -05:00
Yorik van Havre 8e037e6f34 better wording in appimage build script 2023-08-21 11:12:05 -05:00
Yorik van Havre 6b6b4ddba9 Fixed lint issues 2023-08-21 11:12:05 -05:00
Yorik van Havre 8b716b1a31 Aded AppImage build script 2023-08-21 11:12:05 -05:00
sliptonic d95d633b99 Merge pull request #10230 from chennes/draftTranslateDraftAxisLabels
Draft: translate draft axis labels
2023-08-21 11:10:25 -05:00
Syres916 b799cef4ca [Gui] Add new Selection Filter functionality (#2)
* [Gui] Add Selection Filters

* [Gui] Add Selection Filters to Toolbar

* [Gui] Add Selection Filter Icons

* [Gui] Add 4 new Selection filter Icon Files

* [Gui] Update Context Menu

* [Gui] Add default Selection Filter icon

* [Gui] Update resource.qrc with new icon

* [Gui] Add SelectFilter dropdown toolbar

* [Gui] Update Content Menu and Toolbar

* [Gui] Icon changed to Plain SVG

* [Gui] edge-selection icon as Plain SVG

* [Gui] vertex-selection icon as Plain SVG

* [Gui] selection-filter.svg replace metadata
2023-08-21 11:07:04 -05:00
Petter Reinholdtsen ee22ac24c4 Rename R2, R3 and R4 in salomesmesh to fix building on armel.
Fix compilation on Armel due to coincident variables R2, R3 and R4
in <sys/ucontext.h>.

Based on suggestion by Paul Brook in
<URL: http://lists.alioth.debian.org/pipermail/debian-science-maintainers/2011-October/009876.html >.

Patch by Anton Gladky <gladk@debian.org>.

Patch has been used by the Debian edition of FreeCAD since 2011.
2023-08-21 10:56:20 -05:00
Petter Reinholdtsen ab4f3028bd Fixes GCC8 FTBFS due to included copy of SMESH.
Patch by Kurt Kremitzki <kkremitzki@debian.org>

Been used in the Debian edition of FreeCAD since 2018.
2023-08-21 10:55:53 -05:00
Petter Reinholdtsen 16d3109987 Disable memory-check in SMDS because sysinfo.h is not working on BSD.
The SMDS memory check cause the build to fail on on BSD-systems. It would be
better to disable it only on BSD-platforms, or use
http://code.google.com/p/sysinfo-bsd/source/browse/sysinfo.c for them.

This fixes Debian bug https://bugs.debian.org/623560 .

Patch by Anton Gladky <gladk@debian.org>.

Been part of the Debian edition of FreeCAD since 2011.
2023-08-21 09:38:34 -05:00
Chris Hennes 34b660f44f Merge pull request #10269 from Ondsel-Development/core-doc-wide-vars
[Core] Custom Data Elements/Document-wide Variables
2023-08-21 09:22:22 -05:00
wmayer edb477a795 Inspection: modernize C++: use equals default 2023-08-21 15:06:40 +02:00
wmayer d525e0d308 Fem: modernize C++: use equals default 2023-08-21 13:35:54 +02:00
Chris Hennes 0c0a4473cd Merge pull request #10282 from wwmayer/modernize_use_equals_default
Modernize C++: use equals default
2023-08-20 15:54:30 -05:00
wandererfan 44c40067b2 [TD]Fix section of section 2023-08-20 12:25:12 -04:00
wandererfan a51e46775f [TD]fix 10013 detail of sketch 2023-08-20 12:25:12 -04:00
wandererfan 8e600f0a44 [TD]fix 9990 page parms before display 2023-08-20 12:25:12 -04:00
wmayer c016f1c1fb Gui: modernize C++: use equals default 2023-08-20 18:12:43 +02:00
wmayer 3e35b5f606 App: modernize C++: use equals default 2023-08-20 18:10:17 +02:00
wmayer db0f6534c3 Base: modernize C++: use equals default 2023-08-20 18:10:17 +02:00
Ajinkya Dahale 07f6b103b9 [App] Use keyword arguments when adding properties to Document 2023-08-20 19:07:02 +05:30
marioalexis 44884ecaf7 Gui: Change SoQtOffscreenRendererPy to new PyCXX extension type 2023-08-20 12:02:17 +02:00
wandererfan afd06d09f7 [TD]fix omission in splitting GeometryObject 2023-08-19 17:18:42 -04:00
wandererfan 12f137397d [TD]revert change to PdfVersion_A1b 2023-08-19 17:18:42 -04:00
wandererfan 993cf8eeb3 [TD]add missing command to menu
- 3 point angle was not in menu
- grouped menu items
2023-08-19 17:18:42 -04:00
wandererfan 8e52a0baf8 [TD]Rotate CosmeticEdge with View 2023-08-19 17:18:42 -04:00
wandererfan a40033ef9a [TD]rotate CosmeticVertex with View 2023-08-19 17:18:42 -04:00
Chris Hennes cf087b95ef Merge pull request #10268 from Syres916/Fix_Sketcher_Missing_Icon_Warning
[Sketcher] Fix minor icon missing bug...
2023-08-19 15:09:45 -05:00
Chris Hennes a523e34231 Merge pull request #10275 from wwmayer/modernize_return_braced_init_list
Modernize C++: return braced init list
2023-08-19 15:09:09 -05:00
wandererfan 5776112570 [TD]resolve merge conflicts 2023-08-19 13:28:53 -04:00
Benjamin Bræstrup Sayoc bb50fd1079 [TechDraw] Improve DimensionGeometry.cpp typing
Make type safe by using const keywords when appropriate and improve memory handling by using references when appropriate.
2023-08-19 13:28:53 -04:00
Benjamin Bræstrup Sayoc 575489b816 [TechDraw] Improve DimensionFormatter.cpp typing
Make type safe by using const keywords when appropriate and improve memory handling by using references when appropriate.
2023-08-19 13:28:53 -04:00
Benjamin Bræstrup Sayoc d0d0a6f923 [TechDraw] Improve CosmeticVertex.cpp typing
Make type safe by using const keywords when appropriate and improve memory handling by using references when appropriate.
2023-08-19 13:28:53 -04:00
Benjamin Bræstrup Sayoc 4051e29188 [TechDraw] Improve CosmeticExtension.cpp typing
Make type safe by using const keywords when appropriate and improve memory handling by using references when appropriate.
2023-08-19 13:28:53 -04:00
Benjamin Bræstrup Sayoc 5cb05ce3c1 [TechDraw] Improve Cosmetic.cpp typing
Make type safe by using const keywords when appropriate and improve memory handling by using references when appropriate.
2023-08-19 13:28:53 -04:00
Benjamin Bræstrup Sayoc 78ef7a8f39 [TechDraw] Improve CenterLine.cpp typing
Make type safe by using const keywords when appropriate and improve memory handling by using references when appropriate.
2023-08-19 13:28:53 -04:00
sliptonic 6ab40695f2 Merge pull request #10140 from Ondsel-Development/camoticsbug
fixes #10113
2023-08-19 09:00:34 -05:00
wmayer e541c7d3dd Sheet: modernize C++: return braced init list 2023-08-19 11:35:41 +02:00
wmayer 19faa4727d Robot: modernize C++: return braced init list 2023-08-19 11:35:41 +02:00
wmayer db3a429100 Points: modernize C++: return braced init list 2023-08-19 11:35:41 +02:00
wmayer 0d854a56cd Part: modernize C++: return braced init list 2023-08-19 11:35:41 +02:00
wmayer e98891859e Mesh: modernize C++: return braced init list 2023-08-19 11:35:41 +02:00
wmayer 7402ac7a26 Import: modernize C++: return braced init list 2023-08-19 11:35:41 +02:00
wmayer f2b46996d4 Fem: modernize C++: return braced init list 2023-08-19 11:35:41 +02:00
wmayer 5f0ec490e6 Core: modernize C++: return braced init list 2023-08-19 11:35:41 +02:00
wandererfan 3e164a5700 [TD]split GeometryObject 2023-08-18 15:18:42 -04:00
wandererfan d23ca906b0 [TD]fix #9265 - memory leak in cosmetic features 2023-08-18 15:18:42 -04:00
Syres916 fec225ddcc [Sketcher] Fix minor icon missing bug...
...icon was moved to obsolete in 2020
2023-08-18 17:43:00 +01:00
sliptonic cc603e2788 fixes #10113
packaging.version.parse() will raise InvalidVersion in some cases but the error isn't caught.
2023-08-18 11:16:44 -05:00
Damiano Lombardi d443a1d37a TechDraw: Check for valid selection before asking for destination page 2023-08-18 10:29:52 -04:00
Damiano Lombardi 8303c79c47 TechDraw: Check for valid selection before asking for destination page 2023-08-18 10:29:52 -04:00
Benjamin Bræstrup Sayoc 45232752fd [TechDraw] CenterLine should use enums 2023-08-18 10:22:17 -04:00
wandererfan 0e201064f1 [TD]Fix wrong export macro 2023-08-18 16:14:34 +02:00
Chris Hennes 09edbbebaf Merge pull request #10258 from chennes/translations20230814
Update translations
2023-08-18 08:52:13 -05:00
Chris Hennes 661b6da0cb Merge pull request #10238 from Ondsel-Development/pref_theme_2
[Preferences] theme : Variables in stylesheet and more.
2023-08-18 08:49:34 -05:00
wmayer 7750ff78b7 Start: the Start workbench should show the basic commands in the various context-menus.
See also https://forum.freecad.org/viewtopic.php?t=80498
2023-08-18 08:45:02 -05:00
wmayer 93d878c0ca Lint: fix several issues discovered by clang-tidy 2023-08-18 08:44:49 -05:00
wmayer 8f08d8c7cd Lint: fix several issues discovered by clazy 2023-08-18 08:44:49 -05:00
wandererfan 49a9442d61 [TD]add label translation for Page and Template 2023-08-17 19:23:29 -04:00
wandererfan 414e06d54d [TD]apply translateLabel after all addObject calls 2023-08-17 19:23:29 -04:00
wandererfan 6595ed01d1 [TD]add view name translation tokens 2023-08-17 19:23:29 -04:00
wandererfan bb08f70d04 [TD]Add method to translate View labels 2023-08-17 19:23:29 -04:00
Chris Hennes 94426e1f54 TD: Translate default labels 2023-08-17 19:23:29 -04:00
wmayer 54bb9c9c62 Gui: modernize C++: return braced init list 2023-08-18 00:36:24 +02:00
wmayer e444f86619 Tools: modernize C++: return braced init list 2023-08-18 00:36:24 +02:00
wmayer 89bdd489b0 App: modernize C++: return braced init list 2023-08-18 00:36:24 +02:00
wmayer 2bc90e6090 Base: modernize C++: return braced init list 2023-08-18 00:36:24 +02:00
Connor Worrell 2636e164f3 [GUI] QuantitySpinBox Regex Optimization #10067 Ammendum 2023-08-17 15:57:43 -05:00
0penBrain f57627aa10 [Bugfix]Plot: reintroduce patch removed by #9103
While FC don't depend on PyQt anymore, patch is needed to have
 matplotlib working correctly

 https://github.com/FreeCAD/FreeCAD/commit/876601d34d7596fd61041263a9c56b611fd04777#r108628060
2023-08-17 11:56:23 -04:00
marioalexis 2cfada7601 Gui: Change ExpressionBindingPy to new PyCXX extension type 2023-08-17 16:02:07 +02:00
Chris Hennes 997b8eff5c Draft: Translate task titles for draft tools (#10227) 2023-08-17 16:01:15 +02:00
Chris Hennes ddf8c47f40 App: clang-tidy cleanup of Expression::_renameObjectIdentifier 2023-08-17 15:59:45 +02:00
Chris Hennes f4c348464c Draft: Translate label type combobox (#10228) 2023-08-17 15:36:37 +02:00
Chris Hennes 28f396cc75 Update translations
Adds the ten units strings from Base as well.
2023-08-16 22:50:39 -05:00
wmayer 312975edba Part: modernize C++: use range-based for loop 2023-08-16 21:56:32 -05:00
wmayer 9a1f8a11d6 PD: modernize C++: use range-based for loop 2023-08-16 21:54:56 -05:00
Djuro Drljaca c311bab053 Keep the label of a variable in expression on spreadsheet alias rename (#10222)
Fixes #5800
2023-08-16 21:35:58 -05:00
Rexbas fcbee3ad49 Gui: Improve object center rotation mode 2023-08-16 16:02:32 -05:00
Chris Hennes 7d92236c22 Merge pull request #10171 from qewer33/master
StartPage: Add new file templates and fix javascript error
2023-08-16 15:02:18 -05:00
sliptonic 0658e42a35 Merge pull request #10214 from haraldhartmann/PathAddEstlcamPP-patch-1
Path: add estlcam_post.py to CMakeList.txt
2023-08-16 10:44:13 -05:00
Roy-043 b9d48c20a0 Draft: Add Justification option to ShapeString (#10233) 2023-08-16 17:08:49 +02:00
Roy-043 aebc302937 Reverted change for sifio.py 2023-08-16 16:47:27 +02:00
Roy-043 3e2c766800 FEM: Avoid dictionary.keys() where possible 2023-08-16 16:47:27 +02:00
Pieter Hijma d07dd67ba1 Gui: Cleanup Python varargs
Various function existed that had no arguments but were still treated as
if they were vararg functions.  This has no been changed to
add_noargs_method declarations, cleaning up the code.
2023-08-16 15:07:09 +02:00
bdieterm 5a58c5a084 ignore whole selected objects for Part linear/angular measurement tool
Whole objects selected in the model tree will be ignored for the measurement element selection.
This allows for selecting and toggling the visibility of an object in the model tree.
2023-08-16 15:01:45 +02:00
qewer33 58b9a9f65e Remove StartPage new file button gradient option 2023-08-16 14:33:55 +03:00
howie-j 8da37ae635 Update DlgSettings3DView.ui 2023-08-16 13:29:35 +02:00
Jonas Bähr 3e68d6fd50 Remove C++ escaping from *Py.xml templates
Now all escaping required for the C++ code generation is done when the
.cpp/.h files are generated. Previously, only newlines were escaped
automatically. This was a) inconsistent and b) leaked c++ details into
the xml data.
In addition, the escaping is now done in one central place, harmonizing
the three previous implementations.

Pre-existing c++ escape sequences in the XML files have been replaced by
their literal equivalent so that the resulting python doc sting remains
unchanged.
2023-08-16 13:17:25 +02:00
marioalexis 05df2da6b4 Gui: Change SelectionFilterPy to new PyCXX extension type 2023-08-16 08:39:14 +02:00
Paddle acb63fa79d Theme: Fix the issue that the stylesheet combobox did not update when theme changed. 2023-08-16 08:14:07 +02:00
Daniel-Khodabakhsh 8003606222 Expressions: Add Vector API expression functions (#10237) 2023-08-15 23:00:16 -05:00
wmayer a49e104993 Sheet: modernize C++: use range-based for loop 2023-08-15 20:21:20 +02:00
wmayer 6bb6c0c886 Robot: modernize C++: use range-based for loop 2023-08-15 18:40:42 +02:00
wmayer 30d98dd417 Surface: modernize C++: use range-based for loop 2023-08-15 17:20:01 +02:00
wmayer 96f27bf43f RE: modernize C++: use range-based for loop 2023-08-15 17:20:01 +02:00
wmayer 9f42af487b Points: modernize C++: use range-based for loop 2023-08-15 17:20:01 +02:00
Paddle d65495e20e Create themes for Behave-Dark, ProDark, Dark-Contrast. Rename other themes to remove 'theme' from name. 2023-08-15 14:35:39 +02:00
Paddle fd8965767f Replace Darker-color, Dark-modern-color, light-color, light-modern-color by stylesheets using variables. 2023-08-15 14:35:39 +02:00
Paddle 8cea75434b When theme color change we set the stylesheet. 2023-08-15 14:35:39 +02:00
Paddle 71d06363c6 SetStylesheet: Remove comparaison to current stylesheet as now we have variables in stylesheet. This check is done in the Theme pref page now. 2023-08-15 14:35:39 +02:00
Paddle be6e881ab5 Move the stylesheet combobox to the end of the page and change name/tooltip. 2023-08-15 14:35:39 +02:00
Paddle 2818c60f6d Stylesheet : Replace Dark-color by single Dark stylesheet. 2023-08-15 14:35:34 +02:00
Paddle d40cfeb6da Core: Stylesheets: Adds support for variables in stylesheets. 2023-08-15 14:35:29 +02:00
wmayer f24ada3151 Start: modernize C++: use range-based for loop 2023-08-15 14:00:43 +02:00
wmayer 28a0274c7d Web: modernize C++: use range-based for loop 2023-08-15 14:00:43 +02:00
wmayer 7c42bc5e60 MeshPart: modernize C++: use range-based for loop 2023-08-15 12:52:52 +02:00
Chris Mayo 516795c986 Remove duplicate model/iges MimeType entry 2023-08-15 10:58:49 +02:00
wmayer 375cb9a0fe Mesh: modernize C++: use range-based for loop 2023-08-15 10:56:30 +02:00
wmayer 2ceb6edfe5 Inspection: modernize C++: use range-based for loop 2023-08-15 08:37:17 +02:00
wmayer 009f9f2222 FEM: modernize C++: use range-based for loop 2023-08-15 01:09:53 +02:00
wmayer 664a08043e Import: modernize C++: use range-based for loop 2023-08-15 01:09:53 +02:00
Florian Foinant-Willig 529de41cfe Fix the fix o:-) 2023-08-14 22:31:36 +02:00
Florian Foinant-Willig a1d8949194 Fix menu and ressource file 2023-08-14 22:12:18 +02:00
wmayer 2725c3a54f Gui: modernize C++: use range-based for loop 2023-08-14 19:42:18 +02:00
Chris Hennes 6d910baa82 Draft: Translate Dimension and axis labels 2023-08-14 08:14:32 -07:00
wmayer 26f16f7410 App: modernize C++: use range-based for loop 2023-08-14 16:40:25 +02:00
Florian Foinant-Willig 17532f0777 Merge branch 'master' into arc_helper_gui 2023-08-14 16:24:28 +02:00
wmayer 367cdb36ed Base: modernize C++: use range-based for loop 2023-08-14 14:09:29 +02:00
Paddle 9b60b0c9e8 Pref Theme : Change name of colors. 2023-08-14 08:11:58 +02:00
sliptonic 2fd17be361 Merge pull request #10216 from chennes/removePRBoilerplate
Remove the PR template text
2023-08-13 16:42:21 -07:00
Chris Hennes 0f434d4e02 Merge pull request #10125 from cjmayo/desktopfilename
Finish renaming desktop filename to org.freecad.FreeCAD
2023-08-13 14:24:18 -07:00
Chris Hennes 6a7f47c959 Merge pull request #10146 from marioalexis84/app-string_hasher_py
App: Fix crash and undefined behavior in StringHasherPy and StringIDPy
2023-08-13 13:45:06 -07:00
Chris Hennes abc25fb269 Remove the PR template text
Closes https://github.com/FreeCAD/FreeCAD/discussions/10196 and https://github.com/FreeCAD/FreeCAD/discussions/10195
2023-08-13 13:38:12 -07:00
qewer33 da0defbb8a Tweak StartPage new file template descriptions and make arch template work with the BIM workbench 2023-08-13 21:42:19 +03:00
Harald Hartmann f8c5cfa93d add estlcam_post.py 2023-08-13 17:31:03 +02:00
luzpaz 3d0bfa214f Fix various typos 2023-08-13 08:17:01 -07:00
Roy-043 91cfb15f64 Arch: Avoid dictionary.keys() where possible (#10159) 2023-08-13 11:46:51 +02:00
Roy-043 beb996e6a1 Draft: Avoid dictionary.keys() where possible (#10160) 2023-08-13 11:46:25 +02:00
Roy-043 0b58b7ba5a Draft: make_sketch should not change Autoconstraints of sketch (#10181) 2023-08-13 11:16:22 +02:00
Chris Hennes 614c01c0b1 Gui: Translate 'page' for new pages 2023-08-12 17:54:26 -04:00
Chris Hennes 2536c0d855 TD: Correct use of TRANSLATE_NOOP
Direct UI access should use translate()
2023-08-12 17:53:26 -04:00
Chris Hennes 05442206ac TD: Correct translation in TaskComplexSection 2023-08-12 17:52:16 -04:00
Roy-043 2f534dee4a AddonManager: Avoid dictionary.keys() where possible 2023-08-12 10:24:25 -07:00
Chris Hennes 2ee7a9266a Gui: Tweak size of developer warning
Ensure that the warning adapts to the font size and text length as needed.
2023-08-12 10:24:05 -07:00
Chris Hennes ee7779455a Test: Begin QuantitySpinBox QTests 2023-08-12 10:23:43 -07:00
Roy-043 8a4e8ca60e Draft: Fix SVG "Edges not ordered" issue (#10116) 2023-08-12 15:30:54 +02:00
David Kaufman 7785d101e8 [Path] Make RampDressup accept other dressups as its base operation 2023-08-11 21:58:59 -04:00
qewer33 74d02a69f2 Fix StartPage javascript error when switching tabs 2023-08-11 20:02:33 +03:00
qewer33 0e606ec1d1 Add new file section and file templates to StartPage 2023-08-11 19:50:26 +03:00
Jonas Bähr 321c448c39 Fix build of "tests" on macOS
Building the C++ unit tests failed for
 tests/src/Mod/Sketcher/App/SketchObject.cpp
because some XML headers were not found. This was because the XercesC
include dir was not in the search list for headers.

Details:
> In file included from /Users/jonas/src/FreeCAD/FreeCAD-git/tests/src/Mod/Sketcher/App/SketchObject.cpp:7:
> In file included from /Users/jonas/src/FreeCAD/FreeCAD-git/src/App/Application.h:33:
> /Users/jonas/src/FreeCAD/FreeCAD-git/src/Base/Parameter.h:55:10: fatal error: 'xercesc/util/XercesDefs.hpp' file not found
> #include <xercesc/util/XercesDefs.hpp>
>          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~

This is the same issue as already adresses previously with PR9657 [1] but
the test for SketchObject was added later [2].

[1]: https://github.com/FreeCAD/FreeCAD/pull/9657
[2]: https://github.com/FreeCAD/FreeCAD/commit/532b391b6971c7ce1dee4bbe0e782ce070051db9
2023-08-11 06:33:38 -07:00
Jonas Bähr e3de4f217c minor reformat: break lines, one per item 2023-08-11 06:33:38 -07:00
Jonas Bähr 22b173d0e2 Spreadsheet: fix build on macOS
The recent migration from boost::bind to std::bind [1] broke the build
on Mac (Apple clang version 13.0.0 (clang-1300.0.29.30) on macOS-11.7.8).

In all other cases the `boost::bind` was replaced by `std::bind` (among
with the place holders) but in these two spread sheet files
  src/Mod/Spreadsheet/Gui/SheetModel.cpp
  src/Mod/Spreadsheet/Gui/SpreadsheetView.cpp
the original code only referenced `bind`, which used to get resolved to
`boost::bind` but now raises this error:
> /Users/jonas/src/FreeCAD/FreeCAD-git/src/Mod/Spreadsheet/Gui/SheetModel.cpp:50:36: error: use of undeclared identifier 'bind'; did you mean 'boost::bind'?
>         sheet->cellUpdated.connect(bind(&SheetModel::cellUpdated, this, sp::_1));
>                                    ^~~~
>                                    boost::bind

This commit changes this to `std::bind` expicitly, just like it's done in
the other files. This works on my system/compiler.

[1]: https://github.com/FreeCAD/FreeCAD/commit/68d22d864b801231c83c0ef961073ac5f8764aa4
2023-08-11 06:15:51 -07:00
Paddle 58ef6c244e Pref: Theme: Make sure theme has changed before saving the setting. 2023-08-11 13:19:19 +02:00
Paddle 3899304b37 Pref: Theme: Solves #10136 2023-08-11 13:19:19 +02:00
marioalexis b6444b5164 Base: Explicitly avoid parameters in PrecisionPy methods 2023-08-11 13:15:58 +02:00
berniev 8f75442a91 restore prev setting 2023-08-11 13:14:12 +02:00
wmayer e2597aa77b Test: avoid to expand test dialog if label text is too long 2023-08-10 19:51:48 +02:00
wmayer 9f456d712b modernize C++: use equals delete 2023-08-10 17:29:05 +02:00
bdieterm 664c4ab1ac add initialization of locales with native environment settings to the main function 2023-08-10 17:28:00 +02:00
wmayer 8bb0edc9f0 Gui: fix another tabstop compilation warning
See also #10105
2023-08-10 17:01:45 +02:00
marioalexis f1445ed315 Test: Add StringHasher test 2023-08-10 11:55:21 -03:00
marioalexis 594ebe54d8 App: Change indentation to 4 spaces in String*PyImp.cpp 2023-08-10 11:55:21 -03:00
marioalexis cd521d77eb App: Fix crash and undefined behavior in StringHasherPy and StringIDPy 2023-08-10 11:55:21 -03:00
marioalexis 818a4f1cc8 App: Initialize StringHasher and StringID classes 2023-08-10 11:55:21 -03:00
wandererfan b7f149864b [TD]move dvp cosmetic functions to extension 2023-08-10 10:17:22 -04:00
wandererfan a379f17b1c [TD]provide result of detail to other views 2023-08-10 10:17:22 -04:00
wandererfan d087a8fea4 [TD]remove unused code dvp & sections 2023-08-10 10:17:22 -04:00
wandererfan 0f504fc9da [TD]refactor QGIViewPart 2023-08-10 10:17:22 -04:00
wmayer 1dd8680b11 gcc: support to build with v7.5 2023-08-10 11:22:08 +02:00
wmayer 778653825b Drawing: fix build failure 2023-08-10 10:51:34 +02:00
jffmichi 32e10828d4 add unit test for flipEdge with FirstParameter and LastParameter 2023-08-10 01:17:36 +02:00
Roy-043 79a31d7483 Material: Avoid dictionary.keys() where possible 2023-08-10 00:59:02 +02:00
Roy-043 2e835349d2 PartDesign: Avoid dictionary.keys() where possible 2023-08-10 00:54:21 +02:00
Roy-043 f5595097dd Tools: Avoid dictionary.keys() where possible 2023-08-10 00:50:18 +02:00
wmayer a8a730bf6d fixes #10063: Part_SectionCut does not work if the view is in perspective 2023-08-10 00:48:21 +02:00
sliptonic a12a44823d Merge pull request #10118 from Roy-043/Path-Avoid-dictionary.keys()-if-possible
Path: Avoid dictionary.keys() if possible
2023-08-09 14:32:49 -05:00
wmayer 57c213b464 MSVC: fix build failure caused by PR #10138 2023-08-09 18:17:32 +02:00
wmayer a4e8ed4217 TD: fix possible crash in QGIWeldSymbol::customBoundingRect()
Forum thread: https://forum.freecad.org/viewtopic.php?t=80203
2023-08-09 10:48:11 -04:00
wmayer c664cbc941 fixes #10105: Tabstop assignment compilation warning 2023-08-09 16:29:31 +02:00
wmayer 3b6a01095f fixes #10127: Usage of std::filesystem in test bumps minimum GCC version to GCC 8 2023-08-09 13:52:42 +02:00
Syres916 675877fcad Improve Sliders with some colour 2023-08-09 10:53:29 +02:00
Syres916 6d5cb8ef54 Improve grammar and remove whitespace 2023-08-09 10:53:29 +02:00
Syres916 c6eb321f54 Improve Visibility for Urls and Expressions 2023-08-09 10:53:29 +02:00
Paddle e1094724db Preference Page Theme : remove jun from .ui file. 2023-08-09 10:19:29 +02:00
Roy-043 bc22e34b91 Drawing: Avoid dictionary.keys() where possible 2023-08-09 10:15:01 +02:00
Roy-043 beaf4ccb71 Import: Avoid dictionary.keys() where possible 2023-08-09 10:10:35 +02:00
Roy-043 67ce237651 Merge branch 'master' into Path-Avoid-dictionary.keys()-if-possible 2023-08-09 08:22:46 +02:00
AgCaliva 0df27979a1 fixed class name 2023-08-09 02:19:26 -03:00
AgCaliva 0c4ef0e106 merge master 2023-08-08 23:29:40 -03:00
Chris Hennes d3c08a2da9 Update translations 2023-08-08 17:52:59 -06:00
wmayer d150fa7164 modernize C++: avoid bind
In many cases std::bind() is kept because the code is much simpler
2023-08-08 21:10:16 +02:00
Chris Mayo 1ea0f22c61 Fix hicolor theme application icon names
Fixed-size icons were not available as org.freecad.FreeCAD and
XDGData/org.freecad.FreeCAD.svg was a duplicate of Gui/Icons/freecad.svg.
2023-08-08 19:25:14 +01:00
Chris Mayo 9b562a4e0a Finish renaming desktop filename to org.freecad.FreeCAD
The QGuiApplication::setDesktopFileName() call was changed in [1] but
the desktop file and other files that reference it were not.

As shown by Looking Glass [2] on X11 updating these files is still
not enough for GNOME to associate the process with the desktop file,
a StartupWMClass entry is added to the desktop file to fix this.

[1]
129d5882a7 ("Migrate domain name from freecadweb to freecad (#9352)", 2023-04-24)

[2]
https://blogs.gnome.org/mclasen/2016/11/15/help-my-app-icon-is-missing/
2023-08-08 19:25:14 +01:00
Pieter Hijma 292196a606 Gui: Expose the upDirection vector to Python 2023-08-08 13:53:50 -04:00
wmayer 68d22d864b modernize C++: move from boost::bind to std::bind 2023-08-08 17:36:13 +02:00
Roy-043 7bb6f48dbd Mesh: Avoid dictionary.keys() where possible 2023-08-08 17:29:05 +02:00
wmayer 662e305dc3 Path: make export macro accessible in header file
It's not recommended any more to keep the export macro in the PreCompiled.h because many IDEs fail to fetch the export macro and raise a parsing error instead.
2023-08-08 17:27:28 +02:00
Roy-043 4f7bca2f65 Path: Avoid dictionary.keys() if possible 2023-08-08 15:56:22 +02:00
luzpaz 93ddce5008 Fix various typos 2023-08-08 14:25:00 +02:00
Paddle 8431d13bef Move DlgSettingsTheme 2023-08-08 11:12:48 +02:00
Paddle ccb9d7faeb Move all the preference pages to PreferencePages subfolder. 2023-08-08 11:12:48 +02:00
Paddle 7c83085491 Change DlgEditor file name 2023-08-08 11:12:48 +02:00
Paddle aec3d3cb1d Change DlgEditor to DlgSettingsEditor 2023-08-08 11:12:48 +02:00
Paddle cf72ebcc57 Change DlgReportView file names. 2023-08-08 11:12:48 +02:00
Paddle b49e786bcf Replace DlgReportView by DlgSettingsReportView in the files. 2023-08-08 11:12:48 +02:00
Paddle 9ddf44bb92 Change the 'DlgGeneral' file names. 2023-08-08 11:12:48 +02:00
Paddle 6eb72e2696 Replace DlgGeneralImp by DlgSettingsGeneral. 2023-08-08 11:12:48 +02:00
wmayer 0af4990817 modernize C++: make unique 2023-08-07 19:51:30 -06:00
wmayer 96aabe113e modernize C++: raw string literal 2023-08-07 19:51:15 -06:00
Paddle 61daaceb8f Add 'type' to MetadataPy, MetadataPyImp and addonmanager_metadata.py 2023-08-07 10:52:08 -06:00
Paddle ff92f5d0cf Add highlight color and focus color to theme customization. 2023-08-07 10:52:08 -06:00
Paddle 27fa8229ee Prevent the pref pack widget from showing themes 2023-08-07 10:52:08 -06:00
Paddle 1d2e3fa9d6 - Create a 'Theme' pref page in which 'StyleSheet' is moved, and a secondary color pref is created.
- 'StyleSheet' combobox is removed from general and replaced by a 'Theme' combobox.
- Theme combobox triggers the pref packs of type 'Theme'.
2023-08-07 10:52:08 -06:00
Paddle 0636d7d19e Add 'type' metadata to build-in themes preference packs. 2023-08-07 10:52:08 -06:00
Paddle a0438de381 Add 'type' to MetaData 2023-08-07 10:52:08 -06:00
bdieterm c9028e46fe Part: allow reduction of Part ViewProvider tesselation resolution
Problem description
To display a shape, the ViewProvider creates a mesh of the shape data. The
resolution depends also on the two parameters "Angular Deflection" and
"Deviation" in the View properties. (The values of these parameters are also
updated for all objects when changing these settings in the Preferences
dialog).
Changing the parameters from a high value to a lower value has an immediate
effect on the displayed shape -- for example a circle will be displayed finer
with more line segments. But changing the parameter back to the higher value
(with less resolution) will keep the finer view-mesh instead of calculating a
coarser one. To get back to the coarse view, the object has to be manually
recomputed or the file re-opened.

Solution
I just set the meshing parameter AllowQualityDecrease to True. I guess that
this was not implemented before because this parameter is quite new (introduced
in OCC v7.5 in the year 2020).
2023-08-07 10:19:58 -06:00
MisterMaker 125406a764 [Stylesheets] Sliders and some cleanup. (#9910)
Improve sliders and checkboxes

* Delete CMakePresets.json
* Delete VSInheritEnvironments.txt
* Fix for calltips transparant issue https://github.com/FreeCAD/FreeCAD/pull/9715#issuecomment-1633146515
* removed inkscape from a bunch of svg files
* Small bug grid color for draft workbench was to dark.
* The sketcher colors are added.
* The transparant calltips: https://github.com/FreeCAD/FreeCAD/pull/9715#issuecomment-1633146515
* There were some corner dots that I removed.
* I fixed the splitter not working with hovering.
* I also removed the extra dark splitter background, so now you won't see the splitters unless you hover over them.
* Also fixed the url label color.
* These fixes can be tested true the theme's beta addon.
* added preference packs
* Fix for transparant in Qwidget disabled. https://github.com/FreeCAD/FreeCAD/issues/10077
2023-08-07 10:05:00 -06:00
Yorik van Havre 16540a7f6d Merge pull request #9909 from Rexbas/rotationcenter
Gui: Add rotation center indicator
2023-08-07 17:57:13 +02:00
Benjamin Bræstrup Sayoc 33384cff9c [Everywhere] FileInfo::hasExtension for multiple values (#9774)
* [Base] Add hasExtension for multiple values

* [Gui] Use hasExtension for multiple values

* [Drawing] Use hasExtension for multiple values

* [Fem] Use hasExtension for multiple values

* [Import] Use hasExtension for multiple values

* [Mesh] Use hasExtension for multiple values

* [Part] Use hasExtension for multiple values

* [TechDraw] Use hasExtension for multiple values
2023-08-07 09:55:19 -06:00
tomate44 9587393ca3 Surface: fix BlendCurve relative size
values independent of the number of control points are more intuitive
2023-08-07 09:53:00 -06:00
Petter Reinholdtsen f998ab5b9c Avoid Debian specific binary name and path and only include argument change. 2023-08-07 09:38:42 -06:00
Petter Reinholdtsen f2129fc6db Change XDG desktop entry to only run single instance of FreeCAD.
This ensure invoking it to open different files only start the
program once, and load new files into the already running instance.

Patch by Håvard Flaget Aasen <haavard_aasen@yahoo.no> and
Tobias Frost <tobi@debian.org>.

Related to https://bugs.debian.org/1029846 and
https://github.com/FreeCAD/FreeCAD/commit/c7a21ecbeecefe7c2dfc9e950b3d6bb42351d476 .

Been part of the Debian edition of FreeCAD since 2021.
2023-08-07 09:38:42 -06:00
wmayer f94b026456 modernize C++: use transparent functors 2023-08-07 16:08:35 +02:00
wmayer c7a17468e7 modernize C++: use noexcept 2023-08-07 16:06:58 +02:00
wmayer 4f10fc4fa0 modernize C++: use emplace 2023-08-06 20:29:56 -06:00
wmayer 89d529ab7b modernize C++: use using 2023-08-06 23:17:10 +02:00
Benjamin Bræstrup Sayoc 4701ff89e0 [Repo] Always break parameters and arguments
If the line is too long, parameters and arguments will now wrap on the next lines with one block indent, one arguments or parameter per line.
2023-08-06 14:39:54 -06:00
wmayer 2a88c7c7df modernize C++: use bool literals 2023-08-06 01:35:39 +02:00
0penBrain 51a34d1fbd Gui: convert TreeView prefs in General/Selection to PrefCheckBox 2023-08-05 16:29:39 -06:00
0penBrain 601c1f9437 Gui: move pre/-selection prefs to General/Selection + clarify behavior 2023-08-05 16:29:39 -06:00
wmayer 5a7824b646 Mesh: for invalid neighbour facet indexes explicitly use -1
The underlying C++ class use an unsigned long to reference neighbour facets. ULONG_MAX is used to indicate a missing neighbour facet.
Since the value of ULONG_MAX is platform dependent and can be confusing in Python the Python wrapper FacetPy now explicitly uses -1 to indicate missing neighbour facets
2023-08-05 15:32:11 -06:00
tomate44 df9c8f6556 Part: add optional tolerance to python sortEdges() 2023-08-05 15:17:26 -06:00
Tobias Falk 5965956293 added PDF/A-1b compliancy to all PDF export functions
for more details about this look at: https://www.kdab.com/creating-pdfa-documents-qt/
2023-08-05 14:46:11 -06:00
Chris Hennes 7ba145c36f Update SECURITY.md to v0.21 2023-08-05 11:29:31 -06:00
Connor Worrell 8cad3940a1 [GUI] QuantitySpinBox: Regex optimization. 2023-08-05 11:23:46 -06:00
wmayer d244dcf2da modernize C++: use nullptr 2023-08-05 11:23:12 -06:00
sliptonic aa53596289 Remove the version select in the github issue template.
We already ask for the full version info so this is redundant.
Also, it requires updating every time there's a new version.
2023-08-05 09:45:48 -06:00
wmayer 39e53e5eb0 Mods: modernize C++: redundant void arg 2023-08-05 16:50:31 +02:00
wmayer ca84a0662d Sheet: modernize C++: redundant void arg 2023-08-05 16:50:31 +02:00
wmayer 899932cec0 Part/PD: modernize C++: redundant void arg 2023-08-05 16:50:31 +02:00
wmayer bb23aaf3e9 Core: modernize C++: redundant void arg 2023-08-05 16:50:31 +02:00
andrea a4929211d4 remove qt4 references
Removed find and include mocked files (QT4)
2023-08-04 21:24:36 -06:00
wmayer 5621a0089f Qt6 port:
Fix deprecation warnings with version 6.3 or 6.4
2023-08-04 21:23:14 -06:00
andrea 170c2b9957 removed old OCC <7 references
removed OCC <7 references
2023-08-04 21:22:40 -06:00
andrea 6c2a5c1539 removed coin<3 references 2023-08-04 21:19:29 -06:00
berniev 64f9251cae link gmock 2023-08-04 18:48:33 -06:00
wmayer 6a726f6c88 Core: report the real error of a failed feature after a recompute 2023-08-04 18:47:44 -06:00
Morgan 'ARR\!' Allen f8f02f0895 add cstdint behind ifdef __GNUC__ for compiling under alpine linux
note: in other headers there is a mix of including the ifdef
2023-08-04 18:45:22 -06:00
Chris Hennes ea49b3fe78 GUI: Add prominent dev build indicators 2023-08-04 18:21:39 -06:00
luzpaz 16e083c8f3 Fix various typos 2023-08-04 19:46:12 +02:00
berniev da1480d474 clang format InsertBraces true 2023-08-04 13:40:55 -04:00
wmayer 3975f31f89 Misc: modernize C++: use override 2023-08-04 17:09:53 +02:00
wmayer d2c9f8cbdc TD: modernize C++: use override 2023-08-04 17:09:53 +02:00
wmayer 30249e6550 Sketch: modernize C++: use override 2023-08-04 17:09:53 +02:00
wmayer eb49318ad6 Fem: modernize C++: use override 2023-08-04 17:09:53 +02:00
wmayer 7daf7c0700 Part: modernize C++: use override 2023-08-04 17:09:53 +02:00
wmayer ccca592c04 Robot: modernize C++: use override 2023-08-04 17:09:53 +02:00
wmayer 4366128cc4 Path: modernize C++: use override 2023-08-04 17:09:53 +02:00
wmayer ec0c7ab835 Mesh: modernize C++: use override 2023-08-04 17:09:53 +02:00
wmayer a00a5d6400 Base: modernize C++: use override 2023-08-04 17:09:53 +02:00
wmayer 244676ddf0 App: modernize C++: use override 2023-08-04 17:09:53 +02:00
wmayer e72da4d4c4 Gui: modernize C++: use override 2023-08-04 17:09:53 +02:00
wmayer e115c52418 Gui: modernize C++: use override 2023-08-04 17:09:53 +02:00
wmayer 33dc7917bb Gui: modernize C++: use override 2023-08-04 17:09:53 +02:00
Florian Foinant-Willig 321130e4d2 Create overlay icon folder and ArcOverlay icon
And move BSpline overlay related icons to the new folder
2023-08-03 13:06:05 +02:00
Florian Foinant-Willig 014a4e671a Sketcher: Add command to switch arc helper 2023-08-03 13:06:05 +02:00
Chris Hennes 9dce2525f8 Tools: Add script to sign and notarize on Mac OS 2023-08-03 00:07:25 +00:00
wmayer 813f452271 Gui: expose grabFramebuffer to Python 2023-08-03 01:31:15 +02:00
wmayer b202eb2f6b Gui: support of wrapping QImage 2023-08-03 01:31:15 +02:00
0penBrain 205c0e7345 [Bugfix]Gui: in draggers, remove/detach all callbacks + add checks and asserts, hopefully fixes #9465 2023-08-02 21:04:22 +00:00
Yorik van Havre e296c1ffc7 Merge pull request #10040 from chennes/updateNSISInstructions0.21
Update README.md
2023-08-02 09:07:47 +02:00
jffmichi 03431280e9 fix flipEdge not taking into account FirstParameter and LastParameter for splines 2023-08-02 06:29:11 +02:00
Chris Hennes a8ea4e5b08 Update the README 2023-08-02 03:34:40 +00:00
Adrián Insaurralde Avalos 3b6dbeb27e Rename cmake flag for unit tests to ENABLE_DEVELOPER_TESTS
To differentiate from the previously existing BUILD_TEST that controls building the Test WB
2023-08-02 00:49:29 +00:00
Chris Hennes 9188446113 Gui: Clarify message about FCbak 2023-08-01 19:45:43 +00:00
wmayer f803f148af Path: fix test failure with MSYS2 build
The two path names have different path separators and thus are considered as different
2023-08-01 11:05:30 +02:00
Syres916 15e9b45691 [Import] Dxf Fix regression from https://github.com/FreeCAD/FreeCAD/commit/1f6fd1b
See discussion https://forum.freecad.org/viewtopic.php?t=80040&sid=9937b585c8681fe5a2d27f37dcd3f163
2023-08-01 11:04:22 +02:00
Yorik van Havre 82742861fa Merge pull request #9999 from yorikvanhavre/translations
Translations
2023-08-01 09:27:18 +02:00
Chris Hennes 2b2ebf2ce8 Update README.md
Update instructions to reflect current practice.
2023-07-30 23:35:46 -05:00
Yorik van Havre ebc65ee713 Merged crowdin translations 2023-07-26 11:05:11 +02:00
Yorik van Havre 6bfeb5ff53 Update ts files 2023-07-26 11:04:24 +02:00
David Kaufman 1183fc4727 Path: Rest machining feature for Pocket and Pocket3D 2023-07-21 09:03:26 -04:00
Rexbas 579e2ee6ea Set rotation center for WindowCenter mode 2023-07-11 21:35:19 +02:00
Rexbas 625518c0ca Add option to disable rotation center indication 2023-07-11 17:33:47 +02:00
Rexbas 7fe3e1bd5d Add visual indication for the rotation center 2023-07-11 17:33:47 +02:00
AgCaliva 4843a3687a added define _strdup for Windows 2023-07-03 02:22:14 -03:00
AgCaliva ceb4a28991 Merge branch 'master' into User/Document/Feature_level_units_selection_#7746 2023-07-02 17:45:05 -03:00
AgCaliva 816d4077df Implemented DocumentReader for GuiDocument.xml reading. Final 2023-06-30 20:50:36 -03:00
AgCaliva 0751770bc6 Revert "DocumentReader implemented for GuiDocument.xml reading."
This reverts commit 5f101af3e9.
2023-06-30 20:27:12 -03:00
AgCaliva 5f101af3e9 DocumentReader implemented for GuiDocument.xml reading. 2023-06-30 18:41:00 -03:00
AgCaliva 52c55f59a8 Implementing agnostic version of ParameterGrp for reading XML, replacing XMLReader from src/Base/reader.cpp with new class DocumentReader 2023-06-16 15:36:43 -03:00
AgCaliva 8db6ab544a Handling errors 2023-05-21 01:41:10 -03:00
AgCaliva af74608ada Added per project Unit System feature 2023-05-09 19:29:13 -03:00
FEA-eng 2f5e6ef85c PartDesign: Change default behavior of Thickness tool to inwards
https://forum.freecadweb.org/viewtopic.php?f=8&t=71856
2022-09-15 10:36:01 -04:00
9796 changed files with 2482962 additions and 1758350 deletions
+6 -3
View File
@@ -4,7 +4,8 @@ AccessModifierOffset: -4
AlignAfterOpenBracket: Align
AlignConsecutiveAssignments: None
AlignOperands: DontAlign
AllowAllParametersOfDeclarationOnNextLine: true
AllowAllArgumentsOnNextLine: false
AllowAllParametersOfDeclarationOnNextLine: false
AllowShortBlocksOnASingleLine: Empty
AllowShortCaseLabelsOnASingleLine: false
AllowShortFunctionsOnASingleLine: None
@@ -14,6 +15,7 @@ AllowShortLoopsOnASingleLine: false
AlwaysBreakAfterReturnType: None
AlwaysBreakTemplateDeclarations: Yes
BinPackArguments: false
BinPackParameters: false
BreakBeforeBraces: Custom
BraceWrapping:
AfterCaseLabel: false
@@ -39,7 +41,7 @@ ContinuationIndentWidth: 4
IndentCaseLabels: true
IndentPPDirectives: None
IndentWidth: 4
InsertBraces: false
InsertBraces: true
KeepEmptyLinesAtTheStartOfBlocks: true
MaxEmptyLinesToKeep: 2
NamespaceIndentation: None
@@ -48,6 +50,7 @@ ObjCSpaceBeforeProtocolList: true
PackConstructorInitializers: Never
PointerAlignment: Left
ReflowComments: true
SortIncludes: Never
SpaceAfterCStyleCast: false
SpaceAfterLogicalNot: false
SpaceAfterTemplateKeyword: false
@@ -58,7 +61,7 @@ SpaceBeforeInheritanceColon: false
SpaceBeforeParens: ControlStatements
SpaceBeforeRangeBasedForLoopColon: true
SpaceInEmptyParentheses: false
SpacesBeforeTrailingComments: 0
SpacesBeforeTrailingComments: 2
SpacesInAngles: false
SpacesInCStyleCastParentheses: false
SpacesInContainerLiterals: false
+6 -3
View File
@@ -1,8 +1,11 @@
---
Checks: 'clang-diagnostic-*,clang-analyzer-*,boost-*,bugprone-*,
performance-*,readability-*,portability-*,modernize-*,cppcoreguidelines-*,
performance-*,readability-*,portability-*,modernize-*,cppcoreguidelines-*,google-explicit-constructor,
concurrency-*,-modernize-use-trailing-return-type, -modernize-use-nodiscard,
-readability-redundant-access-specifiers,-readability-qualified-auto'
-readability-redundant-access-specifiers,-readability-qualified-auto,
-cppcoreguidelines-avoid-non-const-global-variables,-cppcoreguidelines-owning-memory,
-readability-convert-member-functions-to-static,-bugprone-easily-swappable-parameters,
-cppcoreguidelines-pro-type-static-cast-downcast'
WarningsAsErrors: ''
HeaderFilterRegex: ''
AnalyzeTemporaryDtors: false
@@ -152,7 +155,7 @@ CheckOptions:
- key: google-readability-braces-around-statements.ShortStatementLines
value: '1'
- key: bugprone-reserved-identifier.AllowedIdentifiers
value: ''
value: '_object'
- key: cppcoreguidelines-pro-type-member-init.IgnoreArrays
value: 'false'
- key: readability-else-after-return.WarnOnUnfixable
+29
View File
@@ -73,3 +73,32 @@ ec899d75c6abf45d7ee4dd91ea0f8141a9818446
233a337ca5d693e4773fecf1de14325752afd658
9271b6d433578f65df9b469131ece4e4bdbb19aa
2637527e3a4e132506e8c074b752721d66ae146a
7681c62468d7b6f4d8af6758324b9ec983340b97 # Test: apply clang format
4919fa18ff7f9a4cdfdd7896d768c2342e5f9f37 # Surface: apply clang format
791fe029341aa1dda42376620d52c67ecaca7eea # Sketcher: Reformat to current clang-format standard
0a8292a850b98d2e66e08e235dfb81b6e7285df1 # Web: apply clang format
1a960286a4a549a6454155481ce51cad88a51745 # Tests: Reformat to current clang-format standard
c1825036a6dfd44576da6157bde9fa2fab724d55 # Tools: Reformat to current clang-format standard
17bf44ec9a5fd7a8f1c7bf0d3c24d63b6c808dbd # Start: apply clang format
89579cff6e8834e296d5efe6292f019fadedce53 # Addon Manager: Reformat with new Black line length
c989a8506ecc26e3172c0d18ce4d0f710b5c7d92 # RE: apply clang format
c6bc17ffc13aee4d38d2938800ef5002fc874fc3 # RE: apply clang format
6fb2bcafe85eb6bb0c625f37f233b0b09e093963 # MeshPart: apply clang format
c2bda2f75684ed8bb64813d4a92a5a595181f556 # MeshPart: apply clang format
ea116dc0332ccfc5797f248b04492a16f421b787 # Inspection: apply clang format
8d24f0c021a04f19f5463a52e3be1af60fb892f1 # Points: apply clang-formatting
e3de4f217c4f028523adcb5cb566f4d6a7957abe # minor reformat: break lines, one per item
d57d14321b408beef7b115331e2cfa7215f59b8a # Web: Final application of pre-commit
efd11e590d28d72e350b72f02f3f599ef4f704f4 # Test: Final application of pre-commit
217674de04533afb81da0968483dd5a6c4d88667 # Surface: Final application of pre-commit
70e046bbd5a7214b5d5ae8f12da5aed502dc89ab # Start: Final application of pre-commit
db24eeec535f1f43fb3d5b63d24c5171af637880 # RE: Final application of pre-commit
714cb0a309e243cfb035b046dd8cc543ac514cd2 # Points: Final application of pre-commit
7593f0c112198a0cf033a0bcf8d55db4e0a0e3f5 # MeshPart: Final application of pre-commit
b8f8b232cb0882d171cb299e6f6279a516cdd6eb # Inspection: Final application of pre-commit
c5c2ea3498f402c0c89916c46ddb071e22756622 # Assembly: Final application of pre-commit
592c992b863549fde52741fd8830418168387695 # Assembly: Apply pre-commit to Assembly files
94ca51b7799b2ac60a2a56d7e6e753bb97a73671 # PartDesign: Fix #9377 - issue with accuracy in AdditiveHelix (#11312)
d472927bba7b2d8d151c99fb29cf1d8dd099ea7d # Correct PartDesign Helix feature negative angles (#11399)
b93c02e07da4990482b9d927506901e6f5d624e1 # Black updated to 24.3.0
cbea6b60942f8327e6105b12e8c1d5db4647984c # FEM: Apply pre-commit to FEM files
+15 -24
View File
@@ -1,24 +1,21 @@
name: Report a Problem
description: File an problem report
title: "[Problem] "
labels: ["needs triage"]
description: Have you found something that does not work well, is too hard to do or is missing altogether? Please create a Problem Report.
labels: ["Status: Needs triage"]
body:
- type: checkboxes
id: existing_issue
attributes:
label: Is there an existing issue for this?
description: Please search to see if an issue already exists for the problem you encountered.
description: Please [search](https://github.com/FreeCAD/FreeCAD/issues) to see if a similar issue already exists for the problem you encountered.
options:
- label: I have searched the existing issues
required: true
- type: dropdown
id: version
- type: textarea
id: description
attributes:
label: Version
description: What version of FreeCAD are you running?
options:
- 0.20 (Release)
- 0.21 (Development)
label: Problem description
description: Describe the problem and how it impacts user experience, workflow, maintainability or speed of the code. If the problem appears to be a bug with the current functionality, provide as test case or recipe that reproduces the error. Ideally record a macro and attach it.
placeholder: Description of the problem
validations:
required: true
- type: textarea
@@ -35,30 +32,23 @@ body:
label: Subproject(s) affected?
options:
- Addon Manager
- Arch
- Assembly
- BIM
- CAM
- Core
- Draft
- Expressions
- FEM
- File formats
- GCS
- Mesh
- OpenSCAD
- Part
- PartDesign
- Path
- Project Tools & Websites
- Sketcher
- Spreadsheet
- Techdraw
- TechDraw
- Other (specify in description)
- type: textarea
id: description
attributes:
label: Problem description
description: Describe the problem and how it impacts user experience, workflow, maintainability or speed of the code. If the problem appears to be a bug with the current functionality, provide as test case or recipe that reproduces the error.
placeholder: Description of the problem
validations:
required: true
- type: textarea
id: anything_else
attributes:
@@ -66,6 +56,7 @@ body:
description: |
Links? References? Anything that will give us more context about the issue you are encountering!
If there is a discussion about the problem on the forum, provide link(s) here.
You can upload or copy your macro here to speed up the diagnosis and debugging.
Tip: You can attach images or log files by clicking this area to highlight it and then dragging files in. To attach a FCStd file, ZIP it first (GitHub won't recognize the extension otherwise).
validations:
@@ -74,7 +65,7 @@ body:
id: terms
attributes:
label: Code of Conduct
description: By submitting this issue, you agree to follow our [Code of Conduct](https://github.com/FreeCAD/FreeCAD/blob/master/CODE_OF_CONDUCT.md)
description: By submitting this issue, you agree to follow our [Code of Conduct](https://github.com/FreeCAD/FreeCAD/blob/main/CODE_OF_CONDUCT.md)
options:
- label: I agree to follow this project's Code of Conduct
required: true
-8
View File
@@ -1,8 +0,0 @@
Thank you for creating a pull request to contribute to FreeCAD! Place an "X" in between the brackets below to "check off" to confirm that you have satisfied the requirement, or ask for help in the [FreeCAD forum](https://forum.freecadweb.org/viewforum.php?f=10) if there is something you don't understand.
- [ ] Your Pull Request meets the requirements outlined in section 5 of [CONTRIBUTING.md](https://github.com/FreeCAD/FreeCAD/blob/master/CONTRIBUTING.md) for a Valid PR
Please remember to update the Wiki with the features added or changed once this PR is merged.
**Note**: If you don't have wiki access, then please mention your contribution on the [1.0 Changelog Forum Thread](https://forum.freecad.org/viewtopic.php?f=10&t=69438).
---
Binary file not shown.

After

Width:  |  Height:  |  Size: 431 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 416 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 540 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 570 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 464 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 459 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 457 KiB

+81 -39
View File
@@ -2,62 +2,104 @@
# source:
# - any: ['src/**/*', '!src/docs/*']
Core:
- 'src/App/**/*'
- 'src/Base/**/*'
- 'src/Gui/**/*'
# 'Mod' related labels
"Mod: Core":
- changed-files:
- any-glob-to-any-file: ['src/App/**/*', 'src/Base/**/*', 'src/Gui/**/*']
:octocat::
- '.github/**/*'
- changed-files:
- any-glob-to-any-file: ['.github/**/*']
Addon Manager:
- 'src/Mod/AddonManager/**/*'
"Mod: Addon Manager":
- changed-files:
- any-glob-to-any-file: ['src/Mod/AddonManager/**/*']
WB Arch:
- 'src/Mod/Arch/**/*'
"Mod: Materials":
- changed-files:
- any-glob-to-any-file: ['src/Mod/Material/**/*']
WB Draft:
- 'src/Mod/Draft/**/*'
"Mod: Measurement":
- changed-files:
- any-glob-to-any-file: ['src/Mod/Measure/**/*']
WB FEM:
- 'src/Mod/Fem/**/*'
"Mod: BIM":
- changed-files:
- any-glob-to-any-file: ['src/Mod/BIM/**/*']
WB Mesh:
- 'src/Mod/Mesh/**/*'
"Mod: Assembly":
- changed-files:
- any-glob-to-any-file: ['src/Mod/Assembly/**/*']
WB MeshPart:
- 'src/Mod/MeshPart/**/*'
"Mod: Draft":
- changed-files:
- any-glob-to-any-file: ['src/Mod/Draft/**/*']
WB OpenSCAD:
- 'src/Mod/OpenSCAD/**/*'
"Mod: FEM":
- changed-files:
- any-glob-to-any-file: ['src/Mod/Fem/**/*']
WB Part:
- 'src/Mod/Part/**/*'
"Mod: Mesh":
- changed-files:
- any-glob-to-any-file: ['src/Mod/Mesh/**/*']
WB PartDesign:
- 'src/Mod/PartDesign/**/*'
"Mod: MeshPart":
- changed-files:
- any-glob-to-any-file: ['src/Mod/MeshPart/**/*']
WB Path:
- 'src/Mod/Path/**/*'
"Mod: OpenSCAD":
- changed-files:
- any-glob-to-any-file: ['src/Mod/OpenSCAD/**/*']
WB Points:
- 'src/Mod/Points/**/*'
"Mod: Part":
- changed-files:
- any-glob-to-any-file: ['src/Mod/Part/**/*']
WB ReverseEngineering:
- 'src/Mod/ReverseEngineering/**/*'
"Mod: Part Design":
- changed-files:
- any-glob-to-any-file: ['src/Mod/PartDesign/**/*']
WB Sketcher:
- 'src/Mod/Sketcher/**/*'
"Mod: CAM":
- changed-files:
- any-glob-to-any-file: ['src/Mod/CAM/**/*']
WB Spreadsheet:
- 'src/Mod/Spreadsheet/**/*'
"Mod: Points":
- changed-files:
- any-glob-to-any-file: ['src/Mod/Points/**/*']
WB Surface:
- 'src/Mod/Surface/**/*/'
"Mod: Reverse Engineering":
- changed-files:
- any-glob-to-any-file: ['src/Mod/ReverseEngineering/**/*']
WB TechDraw:
- 'src/Mod/TechDraw/**/*'
"Mod: Sketcher":
- changed-files:
- any-glob-to-any-file: ['src/Mod/Sketcher/**/*']
WB Test:
- 'src/Mod/Test/**/*'
"Mod: Spreadsheet":
- changed-files:
- any-glob-to-any-file: ['src/Mod/Spreadsheet/**/*']
"Mod: Surface":
- changed-files:
- any-glob-to-any-file: ['src/Mod/Surface/**/*/']
"Mod: TechDraw":
- changed-files:
- any-glob-to-any-file: ['src/Mod/TechDraw/**/*']
"Mod: Test":
- changed-files:
- any-glob-to-any-file: ['src/Mod/Test/**/*']
# 'Packaging' related labels
"Packaging/building":
- changed-files:
- any-glob-to-any-file: ['cMake/**/*']
# 'Topic' related labels
"Topic: Stylesheets":
- changed-files:
- any-glob-to-any-file: ['src/Gui/Stylesheets/**/*']
+18
View File
@@ -0,0 +1,18 @@
{
"__comment": "Taken from vscode-cpptools's Extension/package.json gcc rule",
"problemMatcher": [
{
"owner": "gcc-problem-matcher",
"pattern": [
{
"regexp": "^(.*):(\\d+):(\\d+):\\s+(?:fatal\\s+)?(warning|error):\\s+(.*)$",
"file": 1,
"line": 2,
"column": 3,
"severity": 4,
"message": 5
}
]
}
]
}
+19
View File
@@ -0,0 +1,19 @@
{
"__comment": "Taken from vscode's vs/workbench/contrib/tasks/common/problemMatcher.ts msCompile rule",
"problemMatcher": [
{
"owner": "msvc-problem-matcher",
"pattern": [
{
"regexp": "^(?:\\s+\\d+\\>)?([^\\s].*)\\((\\d+),?(\\d+)?(?:,\\d+,\\d+)?\\)\\s*:\\s+(error|warning|info)\\s+(\\w{1,2}\\d+)\\s*:\\s*(.*)$",
"file": 1,
"line": 2,
"column": 3,
"severity": 4,
"code": 5,
"message": 6
}
]
}
]
}
+1 -1
View File
@@ -103,7 +103,7 @@ jobs:
done
- name: Upload logs
if: always()
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: ${{ github.job }}-Logs
path: |
+24 -4
View File
@@ -39,17 +39,29 @@ jobs:
with:
artifactBasename: Prepare-${{ github.run_id }}
Pixi:
needs: [Prepare]
uses: ./.github/workflows/sub_buildPixi.yml
with:
artifactBasename: Pixi-${{ github.run_id }}
MacOS_13_Conda_Apple:
needs: [Prepare]
uses: ./.github/workflows/sub_buildMacOSCondaApple.yml
with:
artifactBasename: MacOS_13_Conda_Apple-${{ github.run_id }}
Ubuntu_20-04:
needs: [Prepare]
uses: ./.github/workflows/sub_buildUbuntu2004.yml
with:
artifactBasename: Ubuntu_20-04-${{ github.run_id }}
Ubuntu_22-04:
Ubuntu_24-04_Conda:
needs: [Prepare]
uses: ./.github/workflows/sub_buildUbuntu2204.yml
uses: ./.github/workflows/sub_buildUbuntu2404Conda.yml
with:
artifactBasename: Ubuntu_22-04-${{ github.run_id }}
artifactBasename: Ubuntu_24-04_Conda-${{ github.run_id }}
Windows:
needs: [Prepare]
@@ -67,7 +79,15 @@ jobs:
changedPythonFiles: ${{ needs.Prepare.outputs.changedPythonFiles }}
WrapUp:
needs: [Prepare, Ubuntu_20-04, Ubuntu_22-04, Windows, Lint]
needs: [
Prepare,
Pixi,
MacOS_13_Conda_Apple,
Ubuntu_20-04,
Ubuntu_24-04_Conda,
Windows,
Lint
]
if: always()
uses: ./.github/workflows/sub_wrapup.yml
with:
@@ -46,12 +46,13 @@ runs:
steps:
- name: Build
id: build
shell: bash
shell: bash -l {0}
run: |
set -o pipefail
(stdbuf -oL -eL cmake --build ${{ inputs.builddir }} -j$(nproc) ${{ inputs.extraParameters }}) \
2> >(tee -a ${{ inputs.errorFile }}) | tee -a ${{ inputs.logFile }}
- name: Write report
shell: bash
shell: bash -l {0}
if: always()
run: |
if [ ${{ steps.build.outcome }} == 'success' ]
@@ -50,12 +50,13 @@ runs:
steps:
- name: Configure CMake
id: configure
shell: bash
shell: bash -l {0}
run: |
set -o pipefail
(stdbuf -oL -eL cmake -S ${{ inputs.sourcedir }} -B ${{ inputs.builddir }} -D CMAKE_EXPORT_COMPILE_COMMANDS:BOOL=TRUE ${{inputs.extraParameters }}) \
2> >(tee -a ${{ inputs.errorFile }}) | tee -a ${{ inputs.logFile }}
- name: Write report
shell: bash
shell: bash -l {0}
if: always()
run: |
if [ ${{ steps.configure.outcome }} == 'success' ]
@@ -28,6 +28,9 @@ inputs:
compiler:
description: "Binary name/path of compiler to be used"
required: true
qt_major_version:
description: "Major version number of qt to be used"
required: true
outputs:
cacheKey:
description: "Cache key with distro and compiler version"
@@ -37,8 +40,8 @@ runs:
using: "composite"
steps:
- id: generateCacheKey
shell: bash
shell: bash -l {0}
run: |
cacheKey=$(lsb_release -ds | tr -d ' ')-$( basename ${{ inputs.compiler }})$(${{ inputs.compiler }} -dumpfullversion -dumpversion)
cacheKey=$(lsb_release -ds | tr -d ' ')-$(basename ${{ inputs.compiler }})$(${{ inputs.compiler }} -dumpfullversion -dumpversion)-qt${{ inputs.qt_major_version }}
echo "Generated cache key : $cacheKey"
echo "cacheKey=$cacheKey" >> $GITHUB_OUTPUT
@@ -46,12 +46,13 @@ runs:
steps:
- name: Install
id: install
shell: bash
shell: bash -l {0}
run: |
set -o pipefail
(stdbuf -oL -eL sudo cmake --install ${{ inputs.builddir }} ${{ inputs.extraParameters }}) \
2> >(tee -a ${{ inputs.errorFile }}) | tee -a ${{ inputs.logFile }}
- name: Write report
shell: bash
shell: bash -l {0}
if: always()
run: |
if [ ${{ steps.install.outcome }} == 'success' ]
@@ -0,0 +1,73 @@
# SPDX-License-Identifier: LGPL-2.1-or-later
# ***************************************************************************
# * *
# * Copyright (c) 2023 0penBrain. *
# * *
# * This file is part of FreeCAD. *
# * *
# * FreeCAD is free software: you can redistribute it and/or modify it *
# * under the terms of the GNU Lesser General Public License as *
# * published by the Free Software Foundation, either version 2.1 of the *
# * License, or (at your option) any later version. *
# * *
# * FreeCAD is distributed in the hope that it will be useful, but *
# * WITHOUT ANY WARRANTY; without even the implied warranty of *
# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
# * Lesser General Public License for more details. *
# * *
# * You should have received a copy of the GNU Lesser General Public *
# * License along with FreeCAD. If not, see *
# * <https://www.gnu.org/licenses/>. *
# * *
# ***************************************************************************
name: build
description: "macOS: build application"
inputs:
builddir:
description: "Directory where build will happen"
required: true
logFile:
description: "Path for log file"
required: true
errorFile:
description: "Path to error file"
required: true
reportFile:
description: "Path for report file"
required: true
extraParameters:
description: "Extra parameters to CMake build"
required: false
runs:
using: "composite"
steps:
- name: Build
id: build
shell: bash -l {0}
run: |
(cmake --build ${{ inputs.builddir }} -j$(nproc) ${{ inputs.extraParameters }}) \
2> >(tee -a ${{ inputs.errorFile }}) | tee -a ${{ inputs.logFile }}
- name: Write report
shell: bash -l {0}
if: always()
run: |
if [ ${{ steps.build.outcome }} == 'success' ]
then
echo "<details><summary>:heavy_check_mark: CMake build succeeded</summary>" >> ${{ inputs.reportFile }}
else
echo "<details><summary>:fire: CMake build failed</summary>" >> ${{ inputs.reportFile }}
fi
echo "" >> ${{ inputs.reportFile }}
echo "Build Error Log (stderr output):" >> ${{ inputs.reportFile }}
echo '```' >> ${{ inputs.reportFile }}
cat ${{ inputs.errorFile }} >> ${{ inputs.reportFile }}
echo '```' >> ${{ inputs.reportFile }}
echo "Build Log (only built targets reported):" >> ${{ inputs.reportFile }}
echo '```' >> ${{ inputs.reportFile }}
cat ${{ inputs.logFile }} | sed -ne "/Built target/p" >> ${{ inputs.reportFile }}
echo '```' >> ${{ inputs.reportFile }}
echo "</details>">> ${{ inputs.reportFile }}
echo "" >> ${{ inputs.reportFile }}
@@ -0,0 +1,78 @@
# SPDX-License-Identifier: LGPL-2.1-or-later
# ***************************************************************************
# * *
# * Copyright (c) 2023 0penBrain. *
# * *
# * This file is part of FreeCAD. *
# * *
# * FreeCAD is free software: you can redistribute it and/or modify it *
# * under the terms of the GNU Lesser General Public License as *
# * published by the Free Software Foundation, either version 2.1 of the *
# * License, or (at your option) any later version. *
# * *
# * FreeCAD is distributed in the hope that it will be useful, but *
# * WITHOUT ANY WARRANTY; without even the implied warranty of *
# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
# * Lesser General Public License for more details. *
# * *
# * You should have received a copy of the GNU Lesser General Public *
# * License along with FreeCAD. If not, see *
# * <https://www.gnu.org/licenses/>. *
# * *
# ***************************************************************************
name: configure
description: "macOS: configure CMake"
inputs:
sourcedir:
description: "Directory where sources are stored"
required: false
default: ./
builddir:
description: "Directory where build will happen"
required: true
logFile:
description: "Path for log file"
required: true
errorFile:
description: "Path to error file"
required: true
reportFile:
description: "Path for report file"
required: true
extraParameters:
description: "Extra parameters to CMake configure"
required: false
runs:
using: "composite"
steps:
- name: Configure CMake
id: configure
shell: bash -l {0}
run: |
(cmake -S ${{ inputs.sourcedir }} -B ${{ inputs.builddir }} -D CMAKE_EXPORT_COMPILE_COMMANDS:BOOL=TRUE ${{inputs.extraParameters }}) \
2> >(tee -a ${{ inputs.errorFile }}) | tee -a ${{ inputs.logFile }}
- name: Write report
shell: bash -l {0}
if: always()
run: |
if [ ${{ steps.configure.outcome }} == 'success' ]
then
echo "<details><summary>:heavy_check_mark: CMake configure succeeded</summary>" >> ${{ inputs.reportFile }}
echo "" >> ${{ inputs.reportFile }}
echo "Configure Error Log (stderr output):" >> ${{ inputs.reportFile }}
echo '```' >> ${{ inputs.reportFile }}
cat ${{ inputs.errorFile }} >> ${{ inputs.reportFile }}
echo '```' >> ${{ inputs.reportFile }}
else
echo "<details><summary>:fire: CMake configure failed</summary>" >> ${{ inputs.reportFile }}
fi
echo "" >> ${{ inputs.reportFile }}
echo "Configure Log (only final configuration values reported):" >> ${{ inputs.reportFile }}
echo '```' >> ${{ inputs.reportFile }}
cat ${{ inputs.logFile }} | sed -ne "/^ *==/,/^====/p" >> ${{ inputs.reportFile }}
echo '```' >> ${{ inputs.reportFile }}
echo "</details>">> ${{ inputs.reportFile }}
echo "" >> ${{ inputs.reportFile }}
@@ -0,0 +1,44 @@
# SPDX-License-Identifier: LGPL-2.1-or-later
# ***************************************************************************
# * *
# * Copyright (c) 2023 0penBrain. *
# * *
# * This file is part of FreeCAD. *
# * *
# * FreeCAD is free software: you can redistribute it and/or modify it *
# * under the terms of the GNU Lesser General Public License as *
# * published by the Free Software Foundation, either version 2.1 of the *
# * License, or (at your option) any later version. *
# * *
# * FreeCAD is distributed in the hope that it will be useful, but *
# * WITHOUT ANY WARRANTY; without even the implied warranty of *
# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
# * Lesser General Public License for more details. *
# * *
# * You should have received a copy of the GNU Lesser General Public *
# * License along with FreeCAD. If not, see *
# * <https://www.gnu.org/licenses/>. *
# * *
# ***************************************************************************
name: generateCacheKey
description: "macOS: generates a cache key taking into account distro and compiler"
inputs:
compiler:
description: "Binary name/path of compiler to be used"
required: true
outputs:
cacheKey:
description: "Cache key with distro and compiler version"
value: ${{ steps.generateCacheKey.outputs.cacheKey }}
runs:
using: "composite"
steps:
- id: generateCacheKey
shell: bash -l {0}
run: |
cacheKey=$(sw_vers --productName)-$(sw_vers --productVersion)-$(basename ${{ inputs.compiler }})$(${{ inputs.compiler }} -dumpfullversion -dumpversion)
echo "Generated cache key : $cacheKey"
echo "cacheKey=$cacheKey" >> $GITHUB_OUTPUT
@@ -0,0 +1,73 @@
# SPDX-License-Identifier: LGPL-2.1-or-later
# ***************************************************************************
# * *
# * Copyright (c) 2023 0penBrain. *
# * *
# * This file is part of FreeCAD. *
# * *
# * FreeCAD is free software: you can redistribute it and/or modify it *
# * under the terms of the GNU Lesser General Public License as *
# * published by the Free Software Foundation, either version 2.1 of the *
# * License, or (at your option) any later version. *
# * *
# * FreeCAD is distributed in the hope that it will be useful, but *
# * WITHOUT ANY WARRANTY; without even the implied warranty of *
# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
# * Lesser General Public License for more details. *
# * *
# * You should have received a copy of the GNU Lesser General Public *
# * License along with FreeCAD. If not, see *
# * <https://www.gnu.org/licenses/>. *
# * *
# ***************************************************************************
name: install
description: "macOS: install application"
inputs:
builddir:
description: "Directory where build is stored"
required: true
logFile:
description: "Path for log file"
required: true
errorFile:
description: "Path to error file"
required: true
reportFile:
description: "Path for report file"
required: true
extraParameters:
description: "Extra parameters to CMake install"
required: false
runs:
using: "composite"
steps:
- name: Install
id: install
shell: bash -l {0}
run: |
(sudo cmake --install ${{ inputs.builddir }} ${{ inputs.extraParameters }}) \
2> >(tee -a ${{ inputs.errorFile }}) | tee -a ${{ inputs.logFile }}
- name: Write report
shell: bash -l {0}
if: always()
run: |
if [ ${{ steps.install.outcome }} == 'success' ]
then
echo "<details><summary>:heavy_check_mark: CMake install succeeded</summary>" >> ${{ inputs.reportFile }}
else
echo "<details><summary>:fire: CMake install failed</summary>" >> ${{ inputs.reportFile }}
fi
echo "" >> ${{ inputs.reportFile }}
echo "Install Error Log (stderr output):" >> ${{ inputs.reportFile }}
echo '```' >> ${{ inputs.reportFile }}
cat ${{ inputs.errorFile }} >> ${{ inputs.reportFile }}
echo '```' >> ${{ inputs.reportFile }}
echo "Install Error Log (stdout output trimmed to the last 100 Lines):" >> ${{ inputs.reportFile }}
echo '```' >> ${{ inputs.reportFile }}
tail -n 100 ${{ inputs.logFile }} >> ${{ inputs.reportFile }}
echo '```' >> ${{ inputs.reportFile }}
echo "</details>">> ${{ inputs.reportFile }}
echo "" >> ${{ inputs.reportFile }}
@@ -40,6 +40,13 @@ inputs:
runs:
using: "composite"
steps:
- name: C++ Assembly tests
id: assembly
uses: ./.github/workflows/actions/runCPPTests/runSingleTest
with:
testCommand: ${{ inputs.builddir }}/tests/Assembly_tests_run --gtest_output=json:${{ inputs.reportdir }}assembly_gtest_results.json
testLogFile: ${{ inputs.reportdir }}assembly_gtest_test_log.txt
testName: Assembly
- name: C++ core tests
id: core
uses: ./.github/workflows/actions/runCPPTests/runSingleTest
@@ -47,6 +54,55 @@ runs:
testCommand: ${{ inputs.builddir }}/tests/Tests_run --gtest_output=json:${{ inputs.reportdir }}core_gtest_results.json
testLogFile: ${{ inputs.reportdir }}core_gtest_test_log.txt
testName: Core
- name: C++ Material tests
id: material
uses: ./.github/workflows/actions/runCPPTests/runSingleTest
with:
testCommand: ${{ inputs.builddir }}/tests/Material_tests_run --gtest_output=json:${{ inputs.reportdir }}material_gtest_results.json
testLogFile: ${{ inputs.reportdir }}material_gtest_test_log.txt
testName: Material
- name: C++ Measure tests
id: measure
uses: ./.github/workflows/actions/runCPPTests/runSingleTest
with:
testCommand: ${{ inputs.builddir }}/tests/Material_tests_run --gtest_output=json:${{ inputs.reportdir }}measure_gtest_results.json
testLogFile: ${{ inputs.reportdir }}measure_gtest_test_log.txt
testName: Measure
- name: C++ Mesh tests
id: mesh
uses: ./.github/workflows/actions/runCPPTests/runSingleTest
with:
testCommand: ${{ inputs.builddir }}/tests/Mesh_tests_run --gtest_output=json:${{ inputs.reportdir }}mesh_gtest_results.json
testLogFile: ${{ inputs.reportdir }}mesh_gtest_test_log.txt
testName: Mesh
- name: C++ MeshPart tests
id: meshpart
uses: ./.github/workflows/actions/runCPPTests/runSingleTest
with:
testCommand: ${{ inputs.builddir }}/tests/Mesh_tests_run --gtest_output=json:${{ inputs.reportdir }}meshpart_gtest_results.json
testLogFile: ${{ inputs.reportdir }}meshpart_gtest_test_log.txt
testName: MeshPart
- name: C++ Part tests
id: part
uses: ./.github/workflows/actions/runCPPTests/runSingleTest
with:
testCommand: ${{ inputs.builddir }}/tests/Part_tests_run --gtest_output=json:${{ inputs.reportdir }}part_gtest_results.json
testLogFile: ${{ inputs.reportdir }}Part_gtest_test_log.txt
testName: Part
- name: C++ PartDesign tests
id: partdesign
uses: ./.github/workflows/actions/runCPPTests/runSingleTest
with:
testCommand: ${{ inputs.builddir }}/tests/PartDesign_tests_run --gtest_output=json:${{ inputs.reportdir }}partdesign_gtest_results.json
testLogFile: ${{ inputs.reportdir }}PartDesign_gtest_test_log.txt
testName: PartDesign
- name: C++ Points tests
id: points
uses: ./.github/workflows/actions/runCPPTests/runSingleTest
with:
testCommand: ${{ inputs.builddir }}/tests/Points_tests_run --gtest_output=json:${{ inputs.reportdir }}points_gtest_results.json
testLogFile: ${{ inputs.reportdir }}points_gtest_test_log.txt
testName: Points
- name: C++ Sketcher tests
id: sketcher
uses: ./.github/workflows/actions/runCPPTests/runSingleTest
@@ -54,9 +110,16 @@ runs:
testCommand: ${{ inputs.builddir }}/tests/Sketcher_tests_run --gtest_output=json:${{ inputs.reportdir }}sketcher_gtest_results.json
testLogFile: ${{ inputs.reportdir }}sketcher_gtest_test_log.txt
testName: Sketcher
- name: C++ Spreadsheet tests
id: spreadsheet
uses: ./.github/workflows/actions/runCPPTests/runSingleTest
with:
testCommand: ${{ inputs.builddir }}/tests/Sketcher_tests_run --gtest_output=json:${{ inputs.reportdir }}spreadsheet_gtest_results.json
testLogFile: ${{ inputs.reportdir }}spreadsheet_gtest_test_log.txt
testName: Spreadsheet
- name: Compose summary report based on test results
if: always()
shell: bash
shell: bash -l {0}
run: |
# Print global result
if [ ${{ job.status }} != "success" ]
@@ -76,4 +139,3 @@ runs:
echo "</blockquote>" >> ${{ inputs.reportFile }}
echo "</details>" >> ${{ inputs.reportFile }}
echo "" >> ${{ inputs.reportFile }}
@@ -44,12 +44,14 @@ runs:
using: "composite"
steps:
- name: Run C++ tests
shell: bash
run: stdbuf -oL -eL ${{ inputs.testCommand }} |& tee -a ${{ inputs.testLogFile }}
shell: bash -l {0}
run: |
set -o pipefail
${{ inputs.testCommand }} | tee -a ${{ inputs.testLogFile }}
- name: Parse test results
if: always()
id: report
shell: bash
shell: bash -l {0}
run: |
result=$(sed -ne "/Global test environment tear-down/,/^$/{/^$/d;p}" ${{ inputs.testLogFile }})
if grep -qF "[ FAILED ]" <<< $result
@@ -43,11 +43,12 @@ runs:
steps:
- name: Run tests
id: runTests
shell: bash
shell: bash -l {0}
run: |
stdbuf -oL -eL ${{ inputs.testCommand }} |& sed -Ee "/[[:blank:]]*\([[:digit:]]{1,3} %\)[[:blank:]]*/d" | tee -a ${{ inputs.logFile }}
set -o pipefail
${{ inputs.testCommand }} | sed -Ee "/[[:blank:]]*\([[:digit:]]{1,3} %\)[[:blank:]]*/d" | tee -a ${{ inputs.logFile }}
- name: Write report
shell: bash
shell: bash -l {0}
if: always()
run: |
sed -ne "/^\(FAILED\|ERROR\):/,/^[[:blank:]]*$/bF; /^Traceback/,/^[^[:blank:]]/{/^Traceback/bT; /^[^[:blank:]]/G; bT}; b; :T w ${{ inputs.logFile }}_tracebacks" -e "b; :F w ${{ inputs.logFile }}_failedtests" ${{ inputs.logFile }}
@@ -41,11 +41,11 @@ inputs:
ccachedownloadpath:
description: "Path where to download ccache"
required: false
default: https://github.com/ccache/ccache/releases/download/v4.7.4/
default: https://github.com/ccache/ccache/releases/download/v4.9/
ccacheversion:
description: "Ccache version to be downloaded"
required: false
default: ccache-4.7.4-windows-x86_64
default: ccache-4.9-windows-x86_64
runs:
using: "composite"
@@ -55,11 +55,11 @@ runs:
run: |
mkdir -p ${{ inputs.ccachebindir }}
- name: Get cached version
uses: actions/cache/restore@v3
uses: actions/cache/restore@v4
id: getCached
with:
path: ${{ inputs.ccachebindir }}
key: ccacheforwin
key: ccacheforwin-${{ inputs.ccacheversion }}
- name: Download ccache
shell: bash
if: steps.getCached.outputs.cache-hit != 'true'
@@ -72,7 +72,7 @@ runs:
rm -rf ccachetemp
- name: Save version to cache
if: steps.getCached.outputs.cache-hit != 'true'
uses: actions/cache/save@v3
uses: actions/cache/save@v4
with:
path: ${{ inputs.ccachebindir }}
key: ${{ steps.getCached.outputs.cache-primary-key }}
@@ -41,11 +41,11 @@ inputs:
libpackdownloadurl:
description: "URL where to download libpack"
required: false
default: https://github.com/FreeCAD/FreeCAD-LibPack/releases/download/2.8.2/LibPack-OCC76-V2-8.7z
default: https://github.com/FreeCAD/FreeCAD-LibPack/releases/download/3.0.0RC4/LibPack-1.0.0-v3.0.0RC4-Release.7z
libpackname:
description: "Libpack name (once downloaded)"
required: false
default: LibPack-OCC76-V2
default: LibPack-1.0.0-v3.0.0RC4-Release
runs:
using: "composite"
@@ -55,11 +55,11 @@ runs:
run: |
mkdir -p ${{ inputs.libpackdir }}
- name: Get cached version
uses: actions/cache/restore@v3
uses: actions/cache/restore@v4
id: getCached
with:
path: ${{ inputs.libpackdir }}
key: libpackforwin
key: libpackforwin-${{ inputs.libpackname }}
- name: Download libpack
shell: bash
if: steps.getCached.outputs.cache-hit != 'true'
@@ -70,7 +70,7 @@ runs:
rm -rf libpacktemp
- name: Save version to cache
if: steps.getCached.outputs.cache-hit != 'true'
uses: actions/cache/save@v3
uses: actions/cache/save@v4
with:
path: ${{ inputs.libpackdir }}
key: ${{ steps.getCached.outputs.cache-primary-key }}
+44
View File
@@ -0,0 +1,44 @@
name: Monthly issue metrics
on:
workflow_dispatch:
schedule:
- cron: '0 0 15 * *'
permissions:
issues: write
pull-requests: read
jobs:
build:
name: issue metrics
runs-on: ubuntu-latest
if: github.repository_owner == 'FreeCAD'
steps:
- name: Get dates for last month
shell: bash
run: |
# Calculate the first day of the previous month
first_day=$(date -d "last month" +%Y-%m-15)
# Calculate the last day of the previous month
last_day=$(date -d "$first_day +1 month -1 day" +%Y-%m-%d)
#Set an environment variable with the date range
echo "$first_day..$last_day"
echo "last_month=$first_day..$last_day" >> "$GITHUB_ENV"
- name: Run issue-metrics tool
uses: github/issue-metrics@v3
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SEARCH_QUERY: 'repo:FreeCAD/FreeCAD is:issue created:${{ env.last_month }}'
- name: Create issue
uses: peter-evans/create-issue-from-file@v4
with:
title: Monthly issue metrics report
token: ${{ secrets.GITHUB_TOKEN }}
content-filepath: ./issue_metrics.md
assignees: maxwxyz
+1 -1
View File
@@ -17,7 +17,7 @@ jobs:
pull-requests: write
steps:
- uses: actions/labeler@v3
- uses: actions/labeler@v5
with:
repo-token: "${{ secrets.GITHUB_TOKEN }}"
configuration-path: ".github/labels.yml"
@@ -0,0 +1,172 @@
# SPDX-License-Identifier: LGPL-2.1-or-later
# ***************************************************************************
# * *
# * Copyright (c) 2023 0penBrain. *
# * *
# * This file is part of FreeCAD. *
# * *
# * FreeCAD is free software: you can redistribute it and/or modify it *
# * under the terms of the GNU Lesser General Public License as *
# * published by the Free Software Foundation, either version 2.1 of the *
# * License, or (at your option) any later version. *
# * *
# * FreeCAD is distributed in the hope that it will be useful, but *
# * WITHOUT ANY WARRANTY; without even the implied warranty of *
# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
# * Lesser General Public License for more details. *
# * *
# * You should have received a copy of the GNU Lesser General Public *
# * License along with FreeCAD. If not, see *
# * <https://www.gnu.org/licenses/>. *
# * *
# ***************************************************************************
# This is a build and test workflow for CI of FreeCAD.
# This workflow aims at building and testing FreeCAD on a Conda environment on macOS.
name: Build macOS 13 (Apple Silicon)
on:
workflow_call:
inputs:
artifactBasename:
type: string
required: true
testOnBuildDir:
default: false
type: boolean
required: false
allowedToFail:
default: false
type: boolean
required: false
outputs:
reportFile:
value: ${{ jobs.Build.outputs.reportFile }}
jobs:
Build:
runs-on: macos-14
continue-on-error: ${{ inputs.allowedToFail }}
env:
CCACHE_DIR: ${{ github.workspace }}/ccache
CCACHE_CONFIGPATH: ${{ github.workspace }}/ccache/config
CCACHE_MAXSIZE: 1G
CCACHE_COMPILERCHECK: "%compiler% -dumpfullversion -dumpversion" # default:mtime
CCACHE_COMPRESS: true
CCACHE_COMPRESSLEVEL: 1
CC: arm64-apple-darwin20.0.0-clang
CXX: arm64-apple-darwin20.0.0-clang++
builddir: ${{ github.workspace }}/build/release/
logdir: /tmp/logs/
reportdir: /tmp/report/
reportfilename: ${{ inputs.artifactBasename }}-report.md
defaults:
run:
shell: bash -l {0}
outputs:
reportFile: ${{ steps.Init.outputs.reportFile }}
steps:
- name: Checking out source code
uses: actions/checkout@v4
with:
submodules: true
- name: Setup Miniconda
env:
CONDA_VERBOSITY: 2
uses: conda-incubator/setup-miniconda@v3
with:
activate-environment: .conda/freecad
environment-file: conda/conda-env.yaml
channels: conda-forge
channel-priority: true
miniforge-version: latest
conda-remove-defaults: "true"
- name: Install FreeCAD dependencies
env:
CONDA_VERBOSITY: 2
run: |
./conda/setup-environment.sh
- name: Set Environment Variables
run: |
echo "CC=$CC" >> "$GITHUB_ENV"
echo "CXX=$CXX" >> "$GITHUB_ENV"
- name: Make needed directories, files and initializations
id: Init
run: |
mkdir -p ${{ env.CCACHE_DIR }}
mkdir -p ${{ env.CCACHE_CONFIGPATH }}
mkdir -p ${{ env.builddir }}
mkdir -p ${{ env.logdir }}
mkdir -p ${{ env.reportdir }}
echo "reportFile=${{ env.reportfilename }}" >> $GITHUB_OUTPUT
- name: Generate cache key
id: genCacheKey
uses: ./.github/workflows/actions/macos/generateCacheKey
with:
compiler: ${{ env.CXX }}
- name: Restore Compiler Cache
uses: actions/cache@v4
with:
save-always: true
path: ${{ env.CCACHE_DIR }}
key: FC-${{ steps.genCacheKey.outputs.cacheKey }}-${{ github.ref }}-${{ github.run_id }}
restore-keys: |
FC-${{ steps.genCacheKey.outputs.cacheKey }}-${{ github.ref }}-
FC-${{ steps.genCacheKey.outputs.cacheKey }}-
- name: Print CCache statistics before build, reset stats and print config
run: |
ccache -s
ccache -z
ccache -p
- name: CMake Configure
run: |
mamba run --live-stream -p .conda/freecad cmake --preset conda-macos-release -DCMAKE_INSTALL_PREFIX=${{ github.workspace }}/.conda/freecad/opt/freecad
- name: CMake Build
run: |
mamba run --live-stream -p .conda/freecad cmake --build build/release
- name: Print ccache statistics after Build
run: |
ccache -s
- name: FreeCAD CLI tests on build dir
if: inputs.testOnBuildDir
timeout-minutes: 10
uses: ./.github/workflows/actions/runPythonTests
with:
testDescription: "CLI tests on build dir"
testCommand: ${{ env.builddir }}/bin/FreeCADCmd -t 0
logFile: ${{ env.logdir }}TestCLIBuild.log
reportFile: ${{env.reportdir}}${{ env.reportfilename }}
- name: C++ tests
timeout-minutes: 1
uses: ./.github/workflows/actions/runCPPTests/runAllTests
with:
reportdir: ${{ env.reportdir }}
builddir: ${{ env.builddir }}
reportFile: ${{ env.reportdir }}${{ env.reportfilename }}
- name: CMake Install
run: |
mamba run --live-stream -p .conda/freecad cmake --install build/release
- name: FreeCAD CLI tests on install
timeout-minutes: 10
uses: ./.github/workflows/actions/runPythonTests
with:
testDescription: "CLI tests on install"
testCommand: ${{ github.workspace }}/.conda/freecad/opt/freecad/bin/FreeCADCmd -t 0
logFile: ${{ env.logdir }}TestCLIInstall.log
reportFile: ${{env.reportdir}}${{ env.reportfilename }}
- name: Upload logs
if: always()
uses: actions/upload-artifact@v4
with:
name: ${{ inputs.artifactBasename }}-Logs
path: |
${{ env.logdir }}
/var/crash/*FreeCAD*
- name: Upload report
if: always()
uses: actions/upload-artifact@v4
with:
name: ${{ env.reportfilename }}
path: |
${{env.reportdir}}${{ env.reportfilename }}
+218
View File
@@ -0,0 +1,218 @@
# SPDX-License-Identifier: LGPL-2.1-or-later
# ***************************************************************************
# * *
# * Copyright (c) 2024 0penBrain, Lorenz Lechner and Jacob Oursland. *
# * *
# * This file is part of FreeCAD. *
# * *
# * FreeCAD is free software: you can redistribute it and/or modify it *
# * under the terms of the GNU Lesser General Public License as *
# * published by the Free Software Foundation, either version 2.1 of the *
# * License, or (at your option) any later version. *
# * *
# * FreeCAD is distributed in the hope that it will be useful, but *
# * WITHOUT ANY WARRANTY; without even the implied warranty of *
# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
# * Lesser General Public License for more details. *
# * *
# * You should have received a copy of the GNU Lesser General Public *
# * License along with FreeCAD. If not, see *
# * <https://www.gnu.org/licenses/>. *
# * *
# ***************************************************************************
# This is a build and test workflow for CI of FreeCAD.
# This workflow aims at building and testing FreeCAD on a Conda environment on macOS.
name: Pixi Builds
on:
workflow_call:
inputs:
artifactBasename:
type: string
required: true
testOnBuildDir:
default: false
type: boolean
required: false
allowedToFail:
default: false
type: boolean
required: false
outputs:
reportFile:
value: ${{ jobs.Build.outputs.reportFile }}
jobs:
build_with_pixi:
runs-on: ${{ matrix.os }}
continue-on-error: ${{ inputs.allowedToFail }}
env:
CCACHE_DIR: ${{ github.workspace }}/ccache
CCACHE_CONFIGPATH: ${{ github.workspace }}/ccache/config
CCACHE_MAXSIZE: 1G
CCACHE_COMPRESS: true
CCACHE_COMPRESSLEVEL: 5
builddir: ${{ github.workspace }}/build/
cacheKey: pixi-${{ matrix.os }}
logdir: ${{ github.workspace }}/logs/
reportdir: ${{ github.workspace }}/report/
reportfilename: ${{ inputs.artifactBasename }}-${{ matrix.os }}-report.md
outputs:
reportFile: ${{ steps.Init.outputs.reportFile }}
strategy:
max-parallel: 6
fail-fast: false
matrix:
os: [windows-latest, ubuntu-latest, macos-latest]
steps:
- name: Set Platform Environment Variables
shell: bash -l {0}
env:
OPERATING_SYSTEM: ${{ runner.os }}
run: |
if [[ $OPERATING_SYSTEM == 'Windows' ]]; then
echo 'CCACHE_COMPILERCHECK=%compiler%' >> "$GITHUB_ENV"
else
echo 'CCACHE_COMPILERCHECK=%compiler% -dumpfullversion -dumpversion' >> "$GITHUB_ENV"
fi
- name: Checkout
uses: actions/checkout@v4
- name: Add GCC Problem Matcher
if: runner.os == 'Linux'
run: |
echo "::add-matcher::${{ runner.workspace }}/FreeCAD/.github/problemMatcher/gcc.json"
- name: Add Clang Problem Matcher
if: runner.os == 'macOS'
run: |
echo "::add-matcher::${{ runner.workspace }}/FreeCAD/.github/problemMatcher/clang.json"
- name: Add MSVC++ Problem Matcher
if: runner.os == 'Windows'
run: |
echo "::add-matcher::${{ runner.workspace }}/FreeCAD/.github/problemMatcher/msvc.json"
- name: Make needed directories, files and initializations
id: Init
run: |
mkdir -p ${{ env.builddir }}
mkdir -p ${{ env.logdir }}
mkdir -p ${{ env.reportdir }}
echo "reportFile=${{ env.reportfilename }}" >> $GITHUB_OUTPUT
- uses: prefix-dev/setup-pixi@v0.8.2
with:
pixi-version: v0.41.3
cache: false
- name: Restore Compiler Cache
uses: actions/cache/restore@v4
with:
path: ${{ env.CCACHE_DIR }}
key: FC-${{ env.cacheKey }}-${{ github.ref }}-${{ github.run_id }}
restore-keys: |
FC-${{ env.cacheKey }}-${{ github.ref }}-
FC-${{ env.cacheKey }}-
- name: Print CCache statistics before build, reset stats and print config
run: |
pixi run ccache -s
pixi run ccache -z
pixi run ccache -p
- name: CMake Configure
run: |
pixi run configure-release
- name: CMake Build
run: |
pixi run build
- name: Print ccache statistics after Build
run: |
pixi run ccache -s
- name: FreeCAD CLI tests on build dir
if: inputs.testOnBuildDir
timeout-minutes: 10
uses: ./.github/workflows/actions/runPythonTests
with:
testDescription: "CLI tests on build dir"
testCommand: pixi run ${{ env.builddir }}/bin/FreeCADCmd -t 0
logFile: ${{ env.logdir }}TestCLIBuild.log
reportFile: ${{env.reportdir}}${{ env.reportfilename }}
- name: FreeCAD GUI tests on build dir
if: runner.os == 'Linux' && inputs.testOnBuildDir
timeout-minutes: 15
uses: ./.github/workflows/actions/runPythonTests
with:
testDescription: "GUI tests on build dir"
testCommand: pixi run xvfb-run ${{ env.builddir }}/bin/FreeCAD -t 0
logFile: ${{ env.logdir }}TestGUIBuild.log
reportFile: ${{env.reportdir}}${{ env.reportfilename }}
- name: C++ tests
timeout-minutes: 10
if: runner.os != 'Windows'
uses: ./.github/workflows/actions/runCPPTests/runAllTests
with:
reportdir: ${{ env.reportdir }}
builddir: ${{ env.builddir }}
reportFile: ${{ env.reportdir }}${{ env.reportfilename }}
- name: CMake Install
run: |
pixi run install
- name: FreeCAD CLI tests on install
if: runner.os != 'Windows'
timeout-minutes: 10
uses: ./.github/workflows/actions/runPythonTests
with:
testDescription: "CLI tests on install"
testCommand: pixi run FreeCADCmd -t 0
logFile: ${{ env.logdir }}TestCLIInstall.log
reportFile: ${{env.reportdir}}${{ env.reportfilename }}
- name: FreeCAD GUI tests on install
# if: runner.os == 'Linux'
# currently broken on Qt6 builds
if: false
timeout-minutes: 15
uses: ./.github/workflows/actions/runPythonTests
with:
testDescription: "GUI tests on install"
testCommand: pixi run xvfb-run FreeCAD -t 0
logFile: ${{ env.logdir }}TestGUIInstall.log
reportFile: ${{env.reportdir}}${{ env.reportfilename }}
- name: Save Compiler Cache
if: always()
uses: actions/cache/save@v4
with:
path: ${{ env.CCACHE_DIR }}
key: FC-${{ env.cacheKey }}-${{ github.ref }}-${{ github.run_id }}
- name: Upload logs
if: always()
uses: actions/upload-artifact@v4
with:
name: ${{ inputs.artifactBasename }}-${{ matrix.os }}-Logs
path: |
${{ env.logdir }}
/var/crash/*FreeCAD*
- name: Upload report
if: always()
uses: actions/upload-artifact@v4
with:
name: ${{ env.reportfilename }}
path: |
${{env.reportdir}}${{ env.reportfilename }}
+33 -16
View File
@@ -47,11 +47,16 @@ on:
jobs:
Build:
runs-on: ubuntu-20.04
runs-on: ubuntu-latest
container:
image: ubuntu:20.04
continue-on-error: ${{ inputs.allowedToFail }}
env:
CCACHE_DIR: ${{ github.workspace }}/ccache
CCACHE_CONFIGPATH: ${{ github.workspace }}/ccache/config
LC_ALL: en_US.utf8
DEBIAN_FRONTEND: noninteractive
# set in a step to workaround https://github.com/actions/runner/issues/2058
#CCACHE_DIR: ${{ github.workspace }}/ccache
#CCACHE_CONFIGPATH: ${{ github.workspace }}/ccache/config
CCACHE_MAXSIZE: 1G
CCACHE_COMPILERCHECK: "%compiler% -dumpfullversion -dumpversion" # default:mtime
CCACHE_COMPRESS: true
@@ -60,7 +65,8 @@ jobs:
CXX: /usr/bin/g++
#CC: /usr/bin/clang
#CXX: /usr/bin/clang++
builddir: ${{ github.workspace }}/build/
# set in a step to workaround https://github.com/actions/runner/issues/2058
#builddir: ${{ github.workspace }}/build/release/
logdir: /tmp/logs/
reportdir: /tmp/report/
reportfilename: ${{ inputs.artifactBasename }}-report.md
@@ -71,12 +77,24 @@ jobs:
reportFile: ${{ steps.Init.outputs.reportFile }}
steps:
- name: Install basic packages
run: |
apt-get update -qq
apt-get install -y --no-install-recommends --reinstall language-pack-en sudo git ca-certificates build-essential cmake
- name: set env variables
run: |
echo "CCACHE_DIR=$GITHUB_WORKSPACE/ccache" >> "$GITHUB_ENV"
echo "CCACHE_CONFIGPATH=$GITHUB_WORKSPACE/ccache/config" >> "$GITHUB_ENV"
echo "builddir=$GITHUB_WORKSPACE/build/release/" >> "$GITHUB_ENV"
- name: Checking out source code
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
submodules: true
- name: Install FreeCAD dependencies
run: |
sudo apt-get update -qq
sudo apt-get install -y --no-install-recommends \
ccache \
doxygen \
graphviz \
imagemagick \
@@ -105,15 +123,16 @@ jobs:
libqt5opengl5-dev \
libqt5svg5-dev \
libqt5x11extras5-dev \
libqt5xmlpatterns5-dev \
libshiboken2-dev \
libspnav-dev \
libvtk7-dev \
libx11-dev \
libxerces-c-dev \
libyaml-cpp-dev \
libzipios++-dev \
netgen \
netgen-headers \
ninja-build \
occt-draw \
pyqt5-dev-tools \
pyside2-tools \
@@ -128,17 +147,12 @@ jobs:
python3-pyside2.qtgui \
python3-pyside2.qtnetwork \
python3-pyside2.qtsvg \
python3-pyside2.qtwebengine \
python3-pyside2.qtwebenginecore \
python3-pyside2.qtwebenginewidgets \
python3-pyside2.qtwebchannel \
python3-pyside2.qtwidgets \
python3-yaml \
qtbase5-dev \
qttools5-dev \
qtwebengine5-dev \
shiboken2 \
swig \
ccache \
xvfb
- name: Make needed directories, files and initializations
id: Init
@@ -154,9 +168,11 @@ jobs:
uses: ./.github/workflows/actions/linux/generateCacheKey
with:
compiler: ${{ env.CXX }}
qt_major_version: 5
- name: Restore Compiler Cache
uses: pat-s/always-upload-cache@v3
uses: actions/cache@v4
with:
save-always: true
path: ${{ env.CCACHE_DIR }}
key: FC-${{ steps.genCacheKey.outputs.cacheKey }}-${{ github.ref }}-${{ github.run_id }}
restore-keys: |
@@ -170,6 +186,7 @@ jobs:
- name: CMake Configure
uses: ./.github/workflows/actions/linux/configure
with:
extraParameters: -G Ninja -D CMAKE_BUILD_TYPE=Release
builddir: ${{ env.builddir }}
logFile: ${{ env.logdir }}Cmake.log
errorFile: ${{ env.logdir }}CmakeErrors.log
@@ -190,7 +207,7 @@ jobs:
uses: ./.github/workflows/actions/runPythonTests
with:
testDescription: "CLI tests on build dir"
testCommand: ${{ env.builddir }}bin/FreeCADCmd -t 0
testCommand: ${{ env.builddir }}/bin/FreeCADCmd -t 0
logFile: ${{ env.logdir }}TestCLIBuild.log
reportFile: ${{env.reportdir}}${{ env.reportfilename }}
- name: FreeCAD GUI tests on build dir
@@ -234,7 +251,7 @@ jobs:
reportFile: ${{env.reportdir}}${{ env.reportfilename }}
- name: Upload logs
if: always()
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: ${{ inputs.artifactBasename }}-Logs
path: |
@@ -242,7 +259,7 @@ jobs:
/var/crash/*FreeCAD*
- name: Upload report
if: always()
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: ${{ env.reportfilename }}
path: |
-247
View File
@@ -1,247 +0,0 @@
# SPDX-License-Identifier: LGPL-2.1-or-later
# ***************************************************************************
# * *
# * Copyright (c) 2023 0penBrain. *
# * *
# * This file is part of FreeCAD. *
# * *
# * FreeCAD is free software: you can redistribute it and/or modify it *
# * under the terms of the GNU Lesser General Public License as *
# * published by the Free Software Foundation, either version 2.1 of the *
# * License, or (at your option) any later version. *
# * *
# * FreeCAD is distributed in the hope that it will be useful, but *
# * WITHOUT ANY WARRANTY; without even the implied warranty of *
# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
# * Lesser General Public License for more details. *
# * *
# * You should have received a copy of the GNU Lesser General Public *
# * License along with FreeCAD. If not, see *
# * <https://www.gnu.org/licenses/>. *
# * *
# ***************************************************************************
# This is a build and test workflow for CI of FreeCAD.
# This workflow aims at building and testing FreeCAD on Ubuntu 22.04 using Clang.
name: Build Ubuntu 22.04
on:
workflow_call:
inputs:
artifactBasename:
type: string
required: true
testOnBuildDir:
default: false
type: boolean
required: false
allowedToFail:
default: false
type: boolean
required: false
outputs:
reportFile:
value: ${{ jobs.Build.outputs.reportFile }}
jobs:
Build:
runs-on: ubuntu-22.04
continue-on-error: ${{ inputs.allowedToFail }}
env:
CCACHE_DIR: ${{ github.workspace }}/ccache
CCACHE_CONFIGPATH: ${{ github.workspace }}/ccache/config
CCACHE_MAXSIZE: 1G
CCACHE_COMPILERCHECK: "%compiler% -dumpfullversion -dumpversion" # default:mtime
CCACHE_COMPRESS: true
CCACHE_COMPRESSLEVEL: 1
#CC: /usr/bin/gcc
#CXX: /usr/bin/g++
CC: /usr/bin/clang
CXX: /usr/bin/clang++
builddir: ${{ github.workspace }}/build/
logdir: /tmp/logs/
reportdir: /tmp/report/
reportfilename: ${{ inputs.artifactBasename }}-report.md
defaults:
run:
shell: bash
outputs:
reportFile: ${{ steps.Init.outputs.reportFile }}
steps:
- name: Checking out source code
uses: actions/checkout@v3
- name: Install FreeCAD dependencies
run: |
sudo apt-get update -qq
sudo apt-get install -y --no-install-recommends \
doxygen \
graphviz \
imagemagick \
libboost-date-time-dev \
libboost-dev \
libboost-filesystem-dev \
libboost-graph-dev \
libboost-iostreams-dev \
libboost-program-options-dev \
libboost-python-dev \
libboost-regex-dev \
libboost-serialization-dev \
libboost-thread-dev \
libcoin-dev \
libeigen3-dev \
libgts-bin \
libgts-dev \
libkdtree++-dev \
libmedc-dev \
libocct-data-exchange-dev \
libocct-ocaf-dev \
libocct-visualization-dev \
libopencv-dev \
libproj-dev \
libpyside2-dev \
libqt5opengl5-dev \
libqt5svg5-dev \
libqt5x11extras5-dev \
libqt5xmlpatterns5-dev \
libshiboken2-dev \
libspnav-dev \
libvtk7-dev \
libx11-dev \
libxerces-c-dev \
libzipios++-dev \
netgen \
netgen-headers \
occt-draw \
pyqt5-dev-tools \
pyside2-tools \
python3-dev \
python3-git \
python3-markdown \
python3-matplotlib \
python3-packaging \
python3-pivy \
python3-ply \
python3-pyside2.qtcore \
python3-pyside2.qtgui \
python3-pyside2.qtnetwork \
python3-pyside2.qtsvg \
python3-pyside2.qtwebengine \
python3-pyside2.qtwebenginecore \
python3-pyside2.qtwebenginewidgets \
python3-pyside2.qtwebchannel \
python3-pyside2.qtwidgets \
qtbase5-dev \
qttools5-dev \
qtwebengine5-dev \
shiboken2 \
swig \
ccache \
xvfb
- name: Make needed directories, files and initializations
id: Init
run: |
mkdir -p ${{ env.CCACHE_DIR }}
mkdir -p ${{ env.CCACHE_CONFIGPATH }}
mkdir -p ${{ env.builddir }}
mkdir -p ${{ env.logdir }}
mkdir -p ${{ env.reportdir }}
echo "reportFile=${{ env.reportfilename }}" >> $GITHUB_OUTPUT
- name: Generate cache key
id: genCacheKey
uses: ./.github/workflows/actions/linux/generateCacheKey
with:
compiler: ${{ env.CXX }}
- name: Restore Compiler Cache
uses: pat-s/always-upload-cache@v3
with:
path: ${{ env.CCACHE_DIR }}
key: FC-${{ steps.genCacheKey.outputs.cacheKey }}-${{ github.ref }}-${{ github.run_id }}
restore-keys: |
FC-${{ steps.genCacheKey.outputs.cacheKey }}-${{ github.ref }}-
FC-${{ steps.genCacheKey.outputs.cacheKey }}-
- name: Print CCache statistics before build, reset stats and print config
run: |
ccache -s
ccache -z
ccache -p
- name: CMake Configure
uses: ./.github/workflows/actions/linux/configure
with:
builddir: ${{ env.builddir }}
logFile: ${{ env.logdir }}Cmake.log
errorFile: ${{ env.logdir }}CmakeErrors.log
reportFile: ${{env.reportdir}}${{ env.reportfilename }}
- name: CMake Build
uses: ./.github/workflows/actions/linux/build
with:
builddir: ${{ env.builddir }}
logFile: ${{ env.logdir }}Build.log
errorFile: ${{ env.logdir }}BuildErrors.log
reportFile: ${{env.reportdir}}${{ env.reportfilename }}
- name: Print ccache statistics after Build
run: |
ccache -s
- name: FreeCAD CLI tests on build dir
if: inputs.testOnBuildDir
timeout-minutes: 10
uses: ./.github/workflows/actions/runPythonTests
with:
testDescription: "CLI tests on build dir"
testCommand: ${{ env.builddir }}bin/FreeCADCmd -t 0
logFile: ${{ env.logdir }}TestCLIBuild.log
reportFile: ${{env.reportdir}}${{ env.reportfilename }}
- name: FreeCAD GUI tests on build dir
if: inputs.testOnBuildDir
timeout-minutes: 15
uses: ./.github/workflows/actions/runPythonTests
with:
testDescription: "GUI tests on build dir"
testCommand: xvfb-run ${{ env.builddir }}/bin/FreeCAD -t 0
logFile: ${{ env.logdir }}TestGUIBuild.log
reportFile: ${{env.reportdir}}${{ env.reportfilename }}
- name: C++ tests
timeout-minutes: 1
uses: ./.github/workflows/actions/runCPPTests/runAllTests
with:
reportdir: ${{ env.reportdir }}
builddir: ${{ env.builddir }}
reportFile: ${{ env.reportdir }}${{ env.reportfilename }}
- name: CMake Install
uses: ./.github/workflows/actions/linux/install
with:
builddir: ${{ env.builddir }}
logFile: ${{ env.logdir }}Install.log
errorFile: ${{ env.logdir }}InstallErrors.log
reportFile: ${{env.reportdir}}${{ env.reportfilename }}
- name: FreeCAD CLI tests on install
timeout-minutes: 10
uses: ./.github/workflows/actions/runPythonTests
with:
testDescription: "CLI tests on install"
testCommand: FreeCADCmd -t 0
logFile: ${{ env.logdir }}TestCLIInstall.log
reportFile: ${{env.reportdir}}${{ env.reportfilename }}
- name: FreeCAD GUI tests on install
timeout-minutes: 15
uses: ./.github/workflows/actions/runPythonTests
with:
testDescription: "GUI tests on install"
testCommand: xvfb-run FreeCAD -t 0
logFile: ${{ env.logdir }}TestGUIInstall.log
reportFile: ${{env.reportdir}}${{ env.reportfilename }}
- name: Upload logs
if: always()
uses: actions/upload-artifact@v3
with:
name: ${{ inputs.artifactBasename }}-Logs
path: |
${{ env.logdir }}
/var/crash/*FreeCAD*
- name: Upload report
if: always()
uses: actions/upload-artifact@v3
with:
name: ${{ env.reportfilename }}
path: |
${{env.reportdir}}${{ env.reportfilename }}
@@ -0,0 +1,201 @@
# SPDX-License-Identifier: LGPL-2.1-or-later
# ***************************************************************************
# * *
# * Copyright (c) 2023 0penBrain. *
# * *
# * This file is part of FreeCAD. *
# * *
# * FreeCAD is free software: you can redistribute it and/or modify it *
# * under the terms of the GNU Lesser General Public License as *
# * published by the Free Software Foundation, either version 2.1 of the *
# * License, or (at your option) any later version. *
# * *
# * FreeCAD is distributed in the hope that it will be useful, but *
# * WITHOUT ANY WARRANTY; without even the implied warranty of *
# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
# * Lesser General Public License for more details. *
# * *
# * You should have received a copy of the GNU Lesser General Public *
# * License along with FreeCAD. If not, see *
# * <https://www.gnu.org/licenses/>. *
# * *
# ***************************************************************************
# This is a build and test workflow for CI of FreeCAD.
# This workflow aims at building and testing FreeCAD on a Conda environment on Linux.
name: Build Ubuntu 24.04 (Conda)
on:
workflow_call:
inputs:
artifactBasename:
type: string
required: true
testOnBuildDir:
default: false
type: boolean
required: false
allowedToFail:
default: false
type: boolean
required: false
outputs:
reportFile:
value: ${{ jobs.Build.outputs.reportFile }}
jobs:
Build:
runs-on: ubuntu-24.04
continue-on-error: ${{ inputs.allowedToFail }}
env:
CCACHE_DIR: ${{ github.workspace }}/ccache
CCACHE_CONFIGPATH: ${{ github.workspace }}/ccache/config
CCACHE_MAXSIZE: 1G
CCACHE_COMPILERCHECK: "%compiler% -dumpfullversion -dumpversion" # default:mtime
CCACHE_COMPRESS: true
CCACHE_COMPRESSLEVEL: 1
builddir: ${{ github.workspace }}/build/release/
logdir: /tmp/logs/
reportdir: /tmp/report/
reportfilename: ${{ inputs.artifactBasename }}-report.md
defaults:
run:
shell: bash -l {0}
outputs:
reportFile: ${{ steps.Init.outputs.reportFile }}
steps:
- name: Checking out source code
uses: actions/checkout@v4
with:
submodules: true
- name: Setup Miniconda
env:
CONDA_VERBOSITY: 2
uses: conda-incubator/setup-miniconda@v3
with:
activate-environment: .conda/freecad
environment-file: conda/conda-env.yaml
channels: conda-forge
channel-priority: true
miniforge-version: latest
conda-remove-defaults: "true"
- name: Install FreeCAD dependencies
env:
CONDA_VERBOSITY: 2
run: |
./conda/setup-environment.sh
- name: Set Environment Variables
run: |
echo "CC=$CC" >> "$GITHUB_ENV"
echo "CXX=$CXX" >> "$GITHUB_ENV"
- name: Make needed directories, files and initializations
id: Init
run: |
mkdir -p ${{ env.CCACHE_DIR }}
mkdir -p ${{ env.CCACHE_CONFIGPATH }}
mkdir -p ${{ env.builddir }}
mkdir -p ${{ env.logdir }}
mkdir -p ${{ env.reportdir }}
echo "reportFile=${{ env.reportfilename }}" >> $GITHUB_OUTPUT
- name: Generate cache key
id: genCacheKey
uses: ./.github/workflows/actions/linux/generateCacheKey
with:
compiler: ${{ env.CXX }}
qt_major_version: 5
- name: Restore Compiler Cache
uses: actions/cache@v4
with:
save-always: true
path: ${{ env.CCACHE_DIR }}
key: FC-${{ steps.genCacheKey.outputs.cacheKey }}-${{ github.ref }}-${{ github.run_id }}
restore-keys: |
FC-${{ steps.genCacheKey.outputs.cacheKey }}-${{ github.ref }}-
FC-${{ steps.genCacheKey.outputs.cacheKey }}-
- name: Print CCache statistics before build, reset stats and print config
run: |
ccache -s
ccache -z
ccache -p
- name: CMake Configure
uses: ./.github/workflows/actions/linux/configure
with:
extraParameters: --preset conda-linux-release -DCMAKE_INSTALL_PREFIX=${{ github.workspace }}/.conda/freecad/opt/freecad
builddir: ${{ env.builddir }}
logFile: ${{ env.logdir }}Cmake.log
errorFile: ${{ env.logdir }}CmakeErrors.log
reportFile: ${{env.reportdir}}${{ env.reportfilename }}
- name: CMake Build
uses: ./.github/workflows/actions/linux/build
with:
builddir: ${{ env.builddir }}
logFile: ${{ env.logdir }}Build.log
errorFile: ${{ env.logdir }}BuildErrors.log
reportFile: ${{env.reportdir}}${{ env.reportfilename }}
- name: Print ccache statistics after Build
run: |
ccache -s
- name: FreeCAD CLI tests on build dir
if: inputs.testOnBuildDir
timeout-minutes: 10
uses: ./.github/workflows/actions/runPythonTests
with:
testDescription: "CLI tests on build dir"
testCommand: ${{ env.builddir }}/bin/FreeCADCmd -t 0
logFile: ${{ env.logdir }}TestCLIBuild.log
reportFile: ${{env.reportdir}}${{ env.reportfilename }}
- name: FreeCAD GUI tests on build dir
if: inputs.testOnBuildDir
timeout-minutes: 15
uses: ./.github/workflows/actions/runPythonTests
with:
testDescription: "GUI tests on build dir"
testCommand: xvfb-run ${{ env.builddir }}/bin/FreeCAD -t 0
logFile: ${{ env.logdir }}TestGUIBuild.log
reportFile: ${{env.reportdir}}${{ env.reportfilename }}
- name: C++ tests
timeout-minutes: 1
uses: ./.github/workflows/actions/runCPPTests/runAllTests
with:
reportdir: ${{ env.reportdir }}
builddir: ${{ env.builddir }}
reportFile: ${{ env.reportdir }}${{ env.reportfilename }}
- name: CMake Install
uses: ./.github/workflows/actions/linux/install
with:
builddir: ${{ env.builddir }}
logFile: ${{ env.logdir }}Install.log
errorFile: ${{ env.logdir }}InstallErrors.log
reportFile: ${{env.reportdir}}${{ env.reportfilename }}
- name: FreeCAD CLI tests on install
timeout-minutes: 10
uses: ./.github/workflows/actions/runPythonTests
with:
testDescription: "CLI tests on install"
testCommand: ${{ github.workspace }}/.conda/freecad/opt/freecad/bin/FreeCADCmd -t 0
logFile: ${{ env.logdir }}TestCLIInstall.log
reportFile: ${{env.reportdir}}${{ env.reportfilename }}
- name: FreeCAD GUI tests on install
timeout-minutes: 15
uses: ./.github/workflows/actions/runPythonTests
with:
testDescription: "GUI tests on install"
testCommand: xvfb-run ${{ github.workspace }}/.conda/freecad/opt/freecad/bin/FreeCAD -t 0
logFile: ${{ env.logdir }}TestGUIInstall.log
reportFile: ${{env.reportdir}}${{ env.reportfilename }}
- name: Upload logs
if: always()
uses: actions/upload-artifact@v4
with:
name: ${{ inputs.artifactBasename }}-Logs
path: |
${{ env.logdir }}
/var/crash/*FreeCAD*
- name: Upload report
if: always()
uses: actions/upload-artifact@v4
with:
name: ${{ env.reportfilename }}
path: |
${{env.reportdir}}${{ env.reportfilename }}
+12 -22
View File
@@ -52,7 +52,7 @@ jobs:
#CCACHE_SLOPPINESS: "pch_defines,time_macros" # Can't get PCH to work on Windows
CCACHE_LOGFILE: C:/logs/ccache.log
## Have to use C:\ because not enough space on workspace drive
builddir: C:/FC/build/
builddir: C:/FC/build/release/
libpackdir: C:/FC/libpack/
ccachebindir: C:/FC/ccache/
logdir: C:/logs/
@@ -63,7 +63,9 @@ jobs:
steps:
- name: Checking out source code
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
submodules: true
- name: Make needed directories, files and initializations
id: Init
run: |
@@ -83,8 +85,9 @@ jobs:
with:
libpackdir: ${{ env.libpackdir }}
- name: Restore compiler cache
uses: pat-s/always-upload-cache@v3
uses: actions/cache@v4
with:
save-always: true
path: ${{ env.CCACHE_DIR }}
key: FC-Windows-${{ github.ref }}-${{ github.run_id }}
restore-keys: |
@@ -95,30 +98,20 @@ jobs:
. $env:ccachebindir\ccache -s
. $env:ccachebindir\ccache -z
. $env:ccachebindir\ccache -p
- name: Append Libpack bin directory to Path
if: false # Disabled because not enough to set FREECAD_COPY_LIBPACK_BIN_TO_BUILD=OFF
run: |
echo "${{ env.libpackdir }}/bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
- name: Configuring CMake
run: >
cmake -B"${{ env.builddir }}" .
--preset release
-DCMAKE_VS_NO_COMPILE_BATCHING=ON
-DCMAKE_BUILD_TYPE=Release
-DFREECAD_USE_PCH=OFF
-DFREECAD_RELEASE_PDB=OFF
-DFREECAD_LIBPACK_DIR="${{ env.libpackdir }}"
-DPYTHON_DEBUG_LIBRARY="${{ env.libpackdir }}bin/libs/python38_d.lib"
-DPYTHON_EXECUTABLE="${{ env.libpackdir }}bin/python.exe"
-DPYTHON_INCLUDE_DIR="${{ env.libpackdir }}bin/include"
-DPYTHON_LIBRARY="${{ env.libpackdir }}bin/libs/python38.lib"
-DXercesC_INCLUDE_DIR="${{ env.libpackdir }}include"
-DXercesC_LIBRARY_RELEASE="${{ env.libpackdir }}lib/xerces-c_3.lib"
-DXercesC_LIBRARY_DEBUG="${{ env.libpackdir }}lib/xerces-c_3D.lib"
-DFREECAD_COPY_DEPEND_DIRS_TO_BUILD=ON
-DFREECAD_COPY_LIBPACK_BIN_TO_BUILD=OFF
-DFREECAD_COPY_LIBPACK_BIN_TO_BUILD=ON
-DFREECAD_COPY_PLUGINS_BIN_TO_BUILD=ON
- name: Add msbuild to PATH
uses: microsoft/setup-msbuild@v1.3
uses: microsoft/setup-msbuild@v2
- name: Compiling sources
run: |
cd $env:builddir
@@ -126,20 +119,17 @@ jobs:
- name: Print Ccache statistics after build
run: |
. $env:ccachebindir\ccache -s
- name: Move libpack bin folder to build folder # Shorter in time than copying with CMake FREECAD_COPY_LIBPACK_BIN_TO_BUILD
run: |
Move-Item -Force -Path ${{ env.libpackdir }}bin -Destination ${{ env.builddir }}
- name: C++ unit tests
if: false # Disabled because seems to not exist on Windows build
if: false # Disabled because seems to not function on Windows build
timeout-minutes: 1
run: |
. ${{ env.builddir }}\test\Tests_run --gtest_output=json:${{ env.reportdir }}gtest_results.json # 2>&1 | tee -filepath ${{ env.logdir }}\unitTests.log
. ${{ env.builddir }}\tests\Release\Tests_run --gtest_output=json:${{ env.reportdir }}gtest_results.json # 2>&1 | tee -filepath ${{ env.logdir }}\unitTests.log
- name: FreeCAD CLI tests
run: |
. ${{ env.builddir }}\bin\FreeCADCmd -t 0 # 2>&1 | tee -filepath ${{ env.logdir }}\integrationTests.log
- name: Upload logs
if: always()
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: ${{ inputs.artifactBasename }}-Logs
path: |
+16 -20
View File
@@ -77,7 +77,7 @@ on:
type: boolean
required: false
cpplintFilters:
default: -build/c++11,-build/header_guard,-build/include,-build/include_alpha,-build/include_order,-build/include_subdir,-build/include_what_you_use,-build/namespaces,-legal/copyright,-readability/braces,-readability-braces-around-statements,-readability/casting,-readability/namespace,-readability/todo,-runtime/indentation_namespace,-runtime/int,-runtime/references,-whitespace/blank_line,-whitespace/braces,-whitespace/comma,-whitespace/comments,-whitespace/end_of_line,-whitespace/indent,-whitespace/line_length,-whitespace/newline,-whitespace/operators,-whitespace/parens,-whitespace/semicolon,-whitespace/tab,-whitespace/todo
default: -whitespace-*
type: string
required: false
cpplintLineLength:
@@ -129,7 +129,7 @@ on:
type: string
required: false
spellingIgnore:
default: ./.git,*.po,*.ts,*.svg,./ChangeLog.txt,./src/3rdParty,./src/Mod/Assembly/App/opendcm,./src/CXX,./src/zipios++,./src/Base/swig*,./src/Mod/Robot/App/kdl_cp,./src/Mod/Import/App/SCL,./src/WindowsInstaller,./src/Doc/FreeCAD.uml,./build/
default: ./.git,*.po,*.ts,*.svg,./ChangeLog.txt,./src/3rdParty,./src/Mod/Assembly/App/opendcm,./src/CXX,./src/zipios++,./src/Base/swig*,./src/Mod/Robot/App/kdl_cp,./src/Mod/Import/App/SCL*,./src/WindowsInstaller,./src/Doc/FreeCAD.uml,./build/
type: string
required: false
codespellFailSilent:
@@ -153,7 +153,7 @@ on:
type: boolean
required: false
clazyChecks:
default: level1
default: level2,no-non-pod-global-static,no-copyable-polymorphic
type: string
required: false
clazyFailSilent:
@@ -169,7 +169,7 @@ on:
type: string
required: false
QT6Branch: # branch to check for QT6 Porting
default: master
default: main
type: string
required: false
clazyQT6FailSilent:
@@ -198,7 +198,9 @@ jobs:
steps:
- name: Check out code
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
submodules: true
- name: Make needed directories, files and initializations
id: Init
run: |
@@ -316,7 +318,7 @@ jobs:
pylintWarnings=0
pylintRefactorings=0
pylintConventions=0
pip install pylint
pip install --break-system-packages pylint
# List enabled pylint checks
pylint --list-msgs-enabled > ${{ env.logdir }}pylint-enabled-checks.log
# Run pylint on all python files
@@ -376,9 +378,9 @@ jobs:
run: |
blackReformats=0
blackFails=0
pip install black
pip install --break-system-packages black
set +e
black --check ${{ inputs.changedPythonFiles }} &> ${{ env.logdir }}black.log
black --line-length 100 --check ${{ inputs.changedPythonFiles }} &> ${{ env.logdir }}black.log
exitCode=$?
set -e
# If black has run successfully, write the Log to the console with the Problem Matchers
@@ -440,17 +442,16 @@ jobs:
libqt5opengl5-dev \
libqt5svg5-dev \
libqt5x11extras5-dev \
libqt5xmlpatterns5-dev \
libshiboken2-dev \
libspnav-dev \
libvtk7-dev \
libvtk9-dev \
libx11-dev \
libxerces-c-dev \
libyaml-cpp-dev \
libzipios++-dev \
netgen \
netgen-headers \
occt-draw \
pyqt5-dev-tools \
pyside2-tools \
python3-dev \
python3-git \
@@ -463,14 +464,9 @@ jobs:
python3-pyside2.qtgui \
python3-pyside2.qtnetwork \
python3-pyside2.qtsvg \
python3-pyside2.qtwebengine \
python3-pyside2.qtwebenginecore \
python3-pyside2.qtwebenginewidgets \
python3-pyside2.qtwebchannel \
python3-pyside2.qtwidgets \
qtbase5-dev \
qttools5-dev \
qtwebengine5-dev \
shiboken2 \
swig \
ccache \
@@ -519,7 +515,7 @@ jobs:
continue-on-error: ${{ inputs.cpplintFailSilent }}
run: |
cpplintErrors=0
pip install cpplint
pip install --break-system-packages cpplint
# Run cpplint
for file in ${{ inputs.changedCppFiles }}
do
@@ -584,7 +580,7 @@ jobs:
if: inputs.checkSpelling && always()
continue-on-error: ${{ inputs.codespellFailSilent }}
run: |
pip install codespell
pip install --break-system-packages codespell
wget https://raw.githubusercontent.com/codespell-project/codespell/master/codespell_lib/data/dictionary.txt
#wget https://raw.githubusercontent.com/codespell-project/codespell/master/codespell_lib/data/dictionary_rare.txt
set +e
@@ -758,7 +754,7 @@ jobs:
[ $clazyQT6Errors -eq 0 ]
- name: Upload logs and fixes
if: always()
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: ${{ inputs.artifactBasename }}-Logs
path: |
@@ -766,7 +762,7 @@ jobs:
${{ env.fixesdir }}
- name: Upload report
if: always()
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: ${{ env.reportfilename }}
path: |
+2 -2
View File
@@ -148,14 +148,14 @@ jobs:
echo "" >> $GITHUB_OUTPUT
- name: Upload logs
if: always()
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: ${{ inputs.artifactBasename }}-Logs
path: |
${{ env.logdir }}
- name: Upload report
if: always()
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: ${{ env.reportfilename }}
path: |
+4 -4
View File
@@ -54,7 +54,7 @@ jobs:
run: |
mkdir -p ${{ env.artifactsDownloadDir }}
- name: Download artifacts
uses: actions/download-artifact@v3
uses: actions/download-artifact@v4
with:
path: ${{ env.artifactsDownloadDir }}
- name: Save input data to file
@@ -83,8 +83,8 @@ jobs:
echo "### $icon $step step" >> report.md
if [ $result == 'skipped' ]
then
echo "Step was skipped, no report was generated" | tee -a report.md
continue
echo "Step was skipped, no report was generated" | tee -a report.md
continue
elif [ $result == 'cancelled' ]
then
echo "Step was cancelled when executing, report may be incomplete" | tee -a report.md
@@ -111,7 +111,7 @@ jobs:
cat report.md >> $GITHUB_STEP_SUMMARY
- name: Delete used artifacts
continue-on-error: true
uses: geekyeggo/delete-artifact@v2
uses: geekyeggo/delete-artifact@v5
with:
name: |
${{ env.usedArtifacts }}
+16 -1
View File
@@ -1,9 +1,17 @@
# file types to ignore
.*
!/.gitignore
!/.clang-format
!/.clang-tidy
!/.git-blame-ignore-revs
!/.gitattributes
!/.gitignore
!/.gitmodules
!/.pre-commit-config.yaml
!/.pylintrc
!/.github/
!/contrib/.vscode/
!*.gitattributes
!*.gitignore
*.DS_Store
*.pyc
*.obj
@@ -41,11 +49,18 @@ install_manifest.txt
/src/Tools/offlinedoc/localwiki/
/src/Tools/offlinedoc/*.txt
/conda/environment.yml
/.vscode/
OpenSCAD_rc.py
tags
/CMakeUserPresets.json
Testing
compile_commands.json
# crowdin file
src/Tools/freecad.zip
tsupdate_stderr.log
tsupdate_stdout.log
files_to_translate.txt
# pixi environments
.pixi
*.egg-info
+9
View File
@@ -0,0 +1,9 @@
[submodule "src/3rdParty/OndselSolver"]
path = src/3rdParty/OndselSolver
url = https://github.com/Ondsel-Development/OndselSolver.git
[submodule "tests/lib"]
path = tests/lib
url = https://github.com/google/googletest
[submodule "src/3rdParty/GSL"]
path = src/3rdParty/GSL
url = https://github.com/microsoft/GSL
+41 -6
View File
@@ -4,19 +4,54 @@
# See https://pre-commit.com/hooks.html for more hooks
files: |
(?x)^(
src/Mod/AddonManager|
src/Base|
src/Main|
src/Tools|
tests/src|
src/Mod/Sketcher
src/Mod/AddonManager|
src/Mod/Assembly|
src/Mod/CAM|
src/Mod/Cloud|
src/Mod/Drawing|
src/Mod/Fem|
src/Mod/Help|
src/Mod/Import|
src/Mod/Inspection|
src/Mod/JtReader|
src/Mod/Measure|
src/Mod/Mesh|
src/Mod/MeshPart|
src/Mod/Plot|
src/Mod/Points|
src/Mod/ReverseEngineering|
src/Mod/Robot|
src/Mod/Show|
src/Mod/Sketcher|
src/Mod/Spreadsheet|
src/Mod/Start|
src/Mod/Surface|
src/Mod/Test|
src/Mod/Tux|
src/Mod/Web
)
exclude: |
(?x)^(
.*vcproj.*|
.*vcxproj.*
.*vcxproj.*|
src/App/ExpressionParser.tab.c|
src/App/ExpressionParser.tab.h|
src/App/ExpressionParser.y|
src/App/lex.ExpressionParser.c|
src/Mod/Import/App/SCL|
src/Mod/Import/App/SCL_output|
src/Mod/Mesh/App/TestData|
src/Mod/Mesh/App/WildMagic4|
src/Mod/Robot/App/kdl_cp|
src/Mod/Robot/Lib
)
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v3.4.0
rev: 2c9f875913ee60ca25ce70243dc24d5b6415598c # frozen: v4.6.0
hooks:
- id: trailing-whitespace
- id: end-of-file-fixer
@@ -24,11 +59,11 @@ repos:
- id: check-added-large-files
- id: mixed-line-ending
- repo: https://github.com/psf/black
rev: 22.12.0
rev: b965c2a5026f8ba399283ba3e01898b012853c79 # frozen: 24.8.0
hooks:
- id: black
args: ['--line-length', '100']
- repo: https://github.com/pre-commit/mirrors-clang-format
rev: v15.0.7
rev: 7d85583be209cb547946c82fbe51f4bc5dd1d017 # frozen: v18.1.8
hooks:
- id: clang-format
-12
View File
@@ -1,12 +0,0 @@
{
"configurations": [
{
"name": "FreeCAD",
"includePath": ["${workspaceFolder}/**"],
"cStandard": "c17",
"cppStandard": "c++17",
"configurationProvider": "ms-vscode.cmake-tools"
}
],
"version": 4
}
-18
View File
@@ -1,18 +0,0 @@
[
{
"name": "FreeCAD Linux",
"compilers": {
"C": "${workspaceFolder}/.conda/freecad/bin/cc",
"CXX": "${workspaceFolder}/.conda/freecad/bin/c++"
},
"environmentSetupScript": "${workspaceFolder}/.vscode/env.sh"
},
{
"name": "FreeCAD macOS",
"compilers": {
"C": "${workspaceFolder}/.conda/freecad/bin/clang",
"CXX": "${workspaceFolder}/.conda/freecad/bin/clang++"
},
"environmentSetupScript": "${workspaceFolder}/.vscode/env.sh"
}
]
-3
View File
@@ -1,3 +0,0 @@
#!/bin/bash
source activate freecad
-48
View File
@@ -1,48 +0,0 @@
{
"version": "0.2.0",
"configurations": [
{
"name": "C/C++: Linux: build and debug FreeCAD",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceFolder}/build/bin/FreeCAD",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": false,
"preLaunchTask": "CMake: build"
},
{
"name": "C/C++: macOS: build and debug FreeCAD",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceFolder}/build/bin/FreeCAD",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": false,
"MIMode": "lldb",
"preLaunchTask": "CMake: build"
},
{
"name": "Python: Remote Attach",
"type": "python",
"request": "attach",
"preLaunchTask": "conda: activate environment",
"redirectOutput": true,
"connect": {
"host": "localhost",
"port": 5678
},
"pathMappings": [
{
"localRoot": "${workspaceFolder}",
"remoteRoot": "${workspaceFolder}"
}
],
"justMyCode": false
}
]
}
-17
View File
@@ -1,17 +0,0 @@
{
"files.associations": {
"__config": "cpp",
"iosfwd": "cpp",
"vector": "cpp",
"tuple": "cpp"
},
"editor.formatOnType": true,
"cmake.preferredGenerators": ["Ninja", "NMake Makefiles"],
"cmake.cmakePath": "${workspaceFolder}/.conda/freecad/bin/cmake",
"cmake.configureSettings": {
"BUILD_WITH_CONDA:BOOL": "ON",
"BUILD_FEM_NETGEN:BOOL": "ON",
"FREECAD_USE_PYBIND11:BOOL": "ON",
"FREECAD_USE_EXTERNAL_SMESH:BOOL": "ON"
}
}
-58
View File
@@ -1,58 +0,0 @@
{
"tasks": [
{
"type": "shell",
"label": "conda: activate environment",
"command": "activate freecad",
"problemMatcher": [],
"detail": "Activate conda environment",
"group": "build"
},
{
"type": "cmake",
"label": "CMake: configure",
"command": "configure",
"problemMatcher": [],
"detail": "CMake template configure task",
"group": "build"
},
{
"type": "cmake",
"label": "CMake: build",
"command": "build",
"targets": ["all"],
"group": {
"kind": "build",
"isDefault": true
},
"problemMatcher": [],
"detail": "CMake template build task"
},
{
"type": "cmake",
"label": "CMake: test",
"command": "test",
"problemMatcher": [],
"detail": "CMake template test task",
"group": "build"
},
{
"type": "cmake",
"label": "CMake: clean",
"command": "clean",
"problemMatcher": [],
"detail": "CMake template clean task",
"group": "build"
},
{
"type": "cmake",
"label": "CMake: clean rebuild",
"command": "cleanRebuild",
"targets": ["all"],
"problemMatcher": [],
"detail": "CMake template clean rebuild task",
"group": "build"
}
],
"version": "2.0.0"
}
+20 -14
View File
@@ -10,26 +10,29 @@ if (POLICY CMP0072)
set(OpenGL_GL_PREFERENCE LEGACY)
endif(POLICY CMP0072)
if (BUILD_WITH_CONDA AND WIN32)
option(FREECAD_USE_CCACHE "Auto detect and use ccache during compilation" OFF)
else()
option(FREECAD_USE_CCACHE "Auto detect and use ccache during compilation" ON)
# FindPythonInterp and FindPythonLibs modules are deprecated.
# Currently, they are still used by shiboken's CMake files
if (POLICY CMP0148)
cmake_policy(SET CMP0148 OLD)
endif()
option(FREECAD_USE_CCACHE "Auto detect and use ccache during compilation" ON)
if(FREECAD_USE_CCACHE)
find_program(CCACHE_PROGRAM ccache) #This check should occur before project()
if(CCACHE_PROGRAM)
set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE "${CCACHE_PROGRAM}")
message(STATUS "Using ccache found at: " ${CCACHE_PROGRAM})
set(CMAKE_C_COMPILER_LAUNCHER "${CCACHE_PROGRAM}")
set(CMAKE_CXX_COMPILER_LAUNCHER "${CCACHE_PROGRAM}")
endif()
endif()
project(FreeCAD)
set(PACKAGE_VERSION_NAME "Vulcan")
set(PACKAGE_VERSION_MAJOR "0")
set(PACKAGE_VERSION_MINOR "21")
set(PACKAGE_VERSION_PATCH "0") # number of patch release (e.g. "4" for the 0.18.4 release)
set(PACKAGE_VERSION_SUFFIX "dev") # either "dev" for development snapshot or "" (empty string)
set(PACKAGE_VERSION_MAJOR "1")
set(PACKAGE_VERSION_MINOR "0")
set(PACKAGE_VERSION_PATCH "2") # number of patch release (e.g. "4" for the 0.18.4 release)
set(PACKAGE_VERSION_SUFFIX "") # either "dev" for development snapshot or "" (empty string)
set(PACKAGE_BUILD_VERSION "0") # used when the same FreeCAD version will be re-released (for example using an updated LibPack)
set(PACKAGE_VERSION "${PACKAGE_VERSION_MAJOR}.${PACKAGE_VERSION_MINOR}.${PACKAGE_VERSION_PATCH}")
@@ -51,7 +54,8 @@ CheckInterModuleDependencies()
FreeCADLibpackChecks()
SetupDoxygen()
SetupLibFmt()
if(NOT FREECAD_LIBPACK_USE OR FREECAD_LIBPACK_CHECKFILE_CLBUNDLER)
SetupYamlCpp()
if(NOT FREECAD_LIBPACK_USE OR FREECAD_LIBPACK_CHECKFILE_CLBUNDLER OR FREECAD_LIBPACK_CHECKFILE_VERSION)
SetupPython()
SetupPCL()
SetupPybind11()
@@ -65,8 +69,8 @@ if(NOT FREECAD_LIBPACK_USE OR FREECAD_LIBPACK_CHECKFILE_CLBUNDLER)
# OPENGL_gl_LIBRARY empty that results into linker errors
SetupOpenGL()
endif(BUILD_GUI)
SetupSalomeSMESH()
SetupBoost()
SetupSalomeSMESH()
if (BUILD_FEM_NETGEN)
find_package(NETGEN)
endif(BUILD_FEM_NETGEN)
@@ -85,7 +89,7 @@ if(NOT FREECAD_LIBPACK_USE OR FREECAD_LIBPACK_CHECKFILE_CLBUNDLER)
SetupShibokenAndPyside()
SetupMatplotlib()
endif(BUILD_GUI)
endif(NOT FREECAD_LIBPACK_USE OR FREECAD_LIBPACK_CHECKFILE_CLBUNDLER)
endif()
if(BUILD_VR)
find_package(Rift)
@@ -105,7 +109,9 @@ if(MSVC AND FREECAD_LIBPACK_USE AND LIBPACK_FOUND)
CopyLibpackDirectories()
endif()
if (BUILD_TEST)
if (ENABLE_DEVELOPER_TESTS)
include(CTest)
enable_testing()
add_subdirectory(tests)
endif()
+299
View File
@@ -0,0 +1,299 @@
{
"version": 3,
"cmakeMinimumRequired": {
"major": 3,
"minor": 16,
"patch": 3
},
"configurePresets": [
{
"name": "common",
"hidden": true,
"cacheVariables": {
"CMAKE_EXPORT_COMPILE_COMMANDS": {
"type": "BOOL",
"value": "ON"
}
}
},
{
"name": "debug",
"displayName": "Debug",
"description": "Default debug profile",
"binaryDir": "${sourceDir}/build/debug",
"inherits": [
"common"
],
"cacheVariables": {
"CMAKE_BUILD_TYPE": {
"type": "STRING",
"value": "Debug"
}
}
},
{
"name": "release",
"displayName": "Release",
"description": "Default release profile",
"binaryDir": "${sourceDir}/build/release",
"inherits": [
"common"
],
"cacheVariables": {
"CMAKE_BUILD_TYPE": {
"type": "STRING",
"value": "Release"
}
}
},
{
"name": "conda",
"hidden": true,
"generator": "Ninja",
"cacheVariables": {
"BUILD_FEM_NETGEN": {
"type": "BOOL",
"value": "ON"
},
"BUILD_WITH_CONDA": {
"type": "BOOL",
"value": "ON"
},
"ENABLE_DEVELOPER_TESTS": {
"type": "BOOL",
"value": "ON"
},
"FREECAD_LIBPACK_USE": {
"type": "BOOL",
"value": "OFF"
},
"FREECAD_USE_EXTERNAL_FMT": {
"type": "BOOL",
"value": "ON"
},
"FREECAD_USE_EXTERNAL_SMESH": {
"type": "BOOL",
"value": "ON"
},
"FREECAD_USE_PCH": {
"type": "BOOL",
"value": "OFF"
},
"FREECAD_USE_PCL": {
"type": "BOOL",
"value": "ON"
},
"FREECAD_USE_PYBIND11": {
"type": "BOOL",
"value": "ON"
},
"OCCT_CMAKE_FALLBACK": {
"type": "BOOL",
"value": "ON"
},
"QT_HOST_PATH": {
"type": "PATH",
"value": "$env{CONDA_PREFIX}"
}
}
},
{
"name": "conda-linux",
"hidden": true,
"condition": {
"type": "equals",
"lhs": "${hostSystemName}",
"rhs": "Linux"
},
"cmakeExecutable": "${sourceDir}/conda/cmake.sh",
"cacheVariables": {
"CMAKE_INCLUDE_PATH": {
"type": "FILEPATH",
"value": "$env{CONDA_PREFIX}/include"
},
"CMAKE_INSTALL_LIBDIR": {
"type": "FILEPATH",
"value": "$env{CONDA_PREFIX}/lib"
},
"CMAKE_INSTALL_PREFIX": {
"type": "FILEPATH",
"value": "$env{CONDA_PREFIX}"
},
"CMAKE_LIBRARY_PATH":{
"type": "FILEPATH",
"value": "$env{CONDA_PREFIX}/lib"
},
"CMAKE_PREFIX_PATH": {
"type": "FILEPATH",
"value": "$env{CONDA_PREFIX}"
},
"OCC_INCLUDE_DIR": {
"type": "FILEPATH",
"value": "$env{CONDA_PREFIX}/include/opencascade"
}
}
},
{
"name": "conda-macos",
"hidden": true,
"condition": {
"type": "equals",
"lhs": "${hostSystemName}",
"rhs": "Darwin"
},
"cmakeExecutable": "${sourceDir}/conda/cmake.sh",
"cacheVariables": {
"CMAKE_IGNORE_PREFIX_PATH": {
"type": "STRING",
"value": "/opt/homebrew;/usr/local/homebrew"
},
"CMAKE_INCLUDE_PATH": {
"type": "FILEPATH",
"value": "$env{CONDA_PREFIX}/include"
},
"CMAKE_INSTALL_LIBDIR": {
"type": "FILEPATH",
"value": "$env{CONDA_PREFIX}/lib"
},
"CMAKE_INSTALL_PREFIX": {
"type": "FILEPATH",
"value": "$env{CONDA_PREFIX}"
},
"CMAKE_LIBRARY_PATH":{
"type": "FILEPATH",
"value": "$env{CONDA_PREFIX}/lib"
},
"CMAKE_PREFIX_PATH": {
"type": "FILEPATH",
"value": "$env{CONDA_PREFIX}"
},
"OCC_INCLUDE_DIR": {
"type": "FILEPATH",
"value": "$env{CONDA_PREFIX}/include/opencascade"
}
}
},
{
"name": "conda-windows",
"hidden": true,
"condition": {
"type": "equals",
"lhs": "${hostSystemName}",
"rhs": "Windows"
},
"cmakeExecutable": "${sourceDir}/conda/cmake.cmd",
"cacheVariables": {
"CMAKE_INCLUDE_PATH": {
"type": "FILEPATH",
"value": "$env{CONDA_PREFIX}/Library/include"
},
"CMAKE_INSTALL_LIBDIR": {
"type": "FILEPATH",
"value": "$env{CONDA_PREFIX}/Library/lib"
},
"CMAKE_INSTALL_PREFIX": {
"type": "FILEPATH",
"value": "$env{CONDA_PREFIX}/Library"
},
"CMAKE_LIBRARY_PATH":{
"type": "FILEPATH",
"value": "$env{CONDA_PREFIX}/Library/lib"
},
"CMAKE_PREFIX_PATH": {
"type": "FILEPATH",
"value": "$env{CONDA_PREFIX}/Library"
},
"OCC_INCLUDE_DIR": {
"type": "FILEPATH",
"value": "$env{CONDA_PREFIX}/Library/include/opencascade"
}
}
},
{
"name": "conda-debug",
"hidden": true,
"displayName": "Conda Debug",
"description": "Conda debug profile",
"inherits": [
"debug",
"conda"
]
},
{
"name": "conda-release",
"hidden": true,
"displayName": "Conda Release",
"description": "Conda release profile",
"inherits": [
"release",
"conda"
]
},
{
"name": "conda-linux-debug",
"displayName": "Conda Debug",
"description": "Conda debug profile",
"inherits": [
"conda-debug",
"conda-linux"
]
},
{
"name": "conda-linux-release",
"displayName": "Conda Release",
"description": "Conda release profile",
"inherits": [
"conda-release",
"conda-linux"
]
},
{
"name": "conda-macos-debug",
"displayName": "Conda Debug",
"description": "Conda debug profile",
"inherits": [
"conda-debug",
"conda-macos"
]
},
{
"name": "conda-macos-release",
"displayName": "Conda Release",
"description": "Conda release profile",
"inherits": [
"conda-release",
"conda-macos"
]
},
{
"name": "conda-windows-debug",
"displayName": "Conda Debug",
"description": "Conda debug profile",
"inherits": [
"conda-debug",
"conda-windows"
],
"cacheVariables": {
"CMAKE_BUILD_TYPE": {
"type": "STRING",
"value": "RelWithDebInfo"
}
}
},
{
"name": "conda-windows-release",
"displayName": "Conda Release",
"description": "Conda release profile",
"inherits": [
"conda-release",
"conda-windows"
],
"cacheVariables": {
"FREECAD_RELEASE_PDB": {
"type": "BOOL",
"value": "OFF"
}
}
}
]
}
+1 -1
View File
@@ -55,7 +55,7 @@ further defined and clarified by project maintainers.
## Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported by contacting any of the community admins or moderators at
reported by contacting any of the community admins or moderators at
https://forum.freecad.org/memberlist.php?mode=team . All
complaints will be reviewed and investigated and will result in a response that
is deemed necessary and appropriate to the circumstances. The project team is
+13 -9
View File
@@ -41,7 +41,7 @@ The FreeCAD Contribution Process is expressed here with the following specific g
2. All contributions to FreeCAD MUST use a compatible license.
3. All contributions are owned by their authors unless assigned to another.
4. FreeCAD does not have a mandatory copyright assignment policy.
5. A Contributor who wishes to be identified in the Credits section of the application "About" dialog is responsible for identifying themselves. They should modify the Contributors file and submit a PR with a single commit for this modification only. The contributors file is found at https://github.com/FreeCAD/FreeCAD/blob/master/src/Doc/CONTRIBUTORS
5. A Contributor who wishes to be identified in the Credits section of the application "About" dialog is responsible for identifying themselves. They should modify the Contributors file and submit a PR with a single commit for this modification only. The contributors file is found at https://github.com/FreeCAD/FreeCAD/blob/main/src/Doc/CONTRIBUTORS
6. A contributor who does not wish to assume the copyright of their contribution MAY choose to assign it to the [FreeCAD project association](https://fpa.freecad.org) by mentioning **Copyright (c) 2022 The FreeCAD project association <fpa@freecad.org>** in the file's license code block.
## 5. Contribution Requirements
@@ -56,7 +56,7 @@ The FreeCAD Contribution Process is expressed here with the following specific g
8. A PR SHALL NOT include non-trivial code from other projects unless the Contributor is the original author of that code.
9. A PR MUST compile cleanly and pass project self-tests on all target platforms.
10. Each commit message in a PR MUST succinctly explain what the commit achieves. The commit message SHALL follow the suggestions in the `git commit --help` documentation, section DISCUSSION.
11. The PR message MUST consist of a single short line, the PR Title, summarizing the problem being solved, followed by a blank line and then the proposed solution in the Body. If a PR consists of more than one commit, the PR Title MUST succinctly explain what the PR achieves. The Body MAY be as detailed as needed.
11. The PR message MUST consist of a single short line, the PR Title, summarizing the problem being solved, followed by a blank line and then the proposed solution in the Body. If a PR consists of more than one commit, the PR Title MUST succinctly explain what the PR achieves. The Body MAY be as detailed as needed. If a PR changes the user interface (UI), the body of the text MUST include a presentation of these UI changes, preferably with screenshots of the previous and revised state.
12. A “Valid PR” is one which satisfies the above requirements.
## 6. Process
@@ -87,14 +87,18 @@ The FreeCAD Contribution Process is expressed here with the following specific g
## 7. Branches and Releases
1. The project SHALL have one branch (“master”) that always holds the latest in-progress version and SHOULD always build.
1. The project SHALL have one branch (“main”) that always holds the latest in-progress version and SHOULD always build.
2. The project SHALL NOT use topic branches for any reason. Personal forks MAY use topic branches.
3. To make a stable release a Maintainer SHALL tag the repository. Stable releases SHALL always be released from the repository master.
3. To make a stable release a Maintainer SHALL tag the repository. Stable releases SHALL always be released from the repository main branch.
## 8. Project Administration
1. The project Administrators will manage the set of project Maintainers. They SHALL maintain a sufficiently large pool of Maintainers to ensure their succession and permit timely review of contributions.
2. Contributors who have a history of successful PRs and have demonstrated continued professionalism should be invited to be Maintainers.
3. Administrators SHOULD remove Maintainers who are inactive for an extended period, or who repeatedly fail to apply this process accurately.
4. The list of Maintainers SHALL be publicly accessible and reflective of current activity on the project.
5. Administrators SHOULD block or ban “bad actors who cause stress, animosity, or confusion to others in the project. This SHOULD be done after public discussion, with a chance for all parties to speak. A bad actor is someone who repeatedly ignores the rules and culture of the project, who is hostile or offensive, who impedes the productive exchange of information, and who is unable to self-correct their behavior when asked to do so by others.
1. Project Administrators are those individuals who are members of the FreeCAD Github organization and have the role of 'owner'. They have the task of administering the organization including adding and removing individuals from various teams.
2. Project Administrator is a technical role necessitated by the GitHub platform. Except for the specific exceptions listed below, the Project Administrators do not make the decision about individual team members. Rather, they carry out the collective wishes of the Maintainers team. Project Administrators will be selected from the Maintainers team by the Maintainers themselves.
3. To ensure continuity there SHALL be at least four Project Administrators at all times.
4. The project Administrators will manage the set of project Maintainers. They SHALL maintain a sufficiently large pool of Maintainers to ensure their succession and permit timely review of contributions. If the pool of Maintainers is insufficient, the Project Administrators will request that the Maintainers select additional individuals to add.
5. Contributors who have a history of successful PRs and have demonstrated continued professionalism should be invited to be Maintainers.
6. Administrators SHOULD remove Maintainers who are inactive for an extended period, or who repeatedly fail to apply this process accurately.
7. The list of Maintainers SHALL be publicly accessible and reflective of current activity on the project.
8. Administrators SHALL act expediently to protect the FreeCAD infrastructure and resources.
9. Administrators SHOULD block or ban “bad actors” who cause stress, animosity, or confusion to others in the project. This SHOULD be done after public discussion, with a chance for all parties to speak. A bad actor is someone who repeatedly ignores the rules and culture of the project, who is hostile or offensive, who impedes the productive exchange of information, and who is unable to self-correct their behavior when asked to do so by others.
+32
View File
@@ -0,0 +1,32 @@
# FreeCAD Privacy Policy
The FreeCAD application does not collect, transmit, share or use any Personal Data.
FreeCAD is community-developed Free Software. The community does not condone the unauthorized usage of private data, so our software does not gather or send personal data.
The FreeCAD website is mostly static, it does not contain any trackers, neither ours nor third-party. The website uses cookies to remember logged in status, timezone and other
data related to navigating the site.
The website does not contain advertisements.
The software does not contain advertisements or trackers either.
## Caveats
FreeCAD is able to load or save files to/from remote servers (for some protocols and platforms). If you choose to load or save a remote file, your IP or other private data might be shared as part of the normal connection flow for the given protocol. This is out of our control and it is up to you to decide whether you trust a remote host.
The FreeCAD eco system includes user developed workbenches. These workbenches can be installed/updated using the Add-on Manager. The Add-on Manager retrieves workbenches from remote servers across the internet. Add-on workbenches are not checked for malicious content. It is your responsibility to decide whether you trust an add-on workbench.
FreeCAD is meant to manipulate CAD files which may contain metadata. It is your responsibility to verify the metadata contained in your files before you share them with others. These files may contain local directory paths which could reveal user names if the user name forms part of the path - as in “C:\MrsCAD\Documents\myFreeCADFile.FCstd”.
FreeCAD can also be used to create and run macros. These are Python scripts that can perform any action that the user can perform on a system. When running a macro from an outside source, it is your responsibility to ensure you trust the author.
While running and for subsequent runs, FreeCAD uses local persistent storage for logs, configuration files, cache, thumbnails, recently accessed files and other information which may contain private data. This stays on local storage.
When reading the online version of the User Manual within FreeCAD, manual contents is requested through HTTPS connections.
FreeCAD is Free Software and therefore may be packaged by other people, who may include additional software or modify the source code. We do not vouch for these third-party packages and cannot tell you what they contain and what they do regarding your privacy. The official packages are explicitly listed in our download page.
- [based on the GIMP privacy policy](https://www.gimp.org/about/privacy.html)
+11 -23
View File
@@ -1,8 +1,8 @@
<a href="https://freecad.org"><img src="https://www.freecad.org/svg/icon-freecad.svg" height="100px" width="100px"></a>
<a href="https://freecad.org"><img src="/src/Gui/Icons/freecad.svg" height="100px" width="100px"></a>
### Your own 3D parametric modeler
[Website](https://www.freecad.org) •
[Website](https://www.freecad.org) •
[Documentation](https://wiki.freecad.org) •
[Forum](https://forum.freecad.org/) •
[Bug tracker](https://github.com/FreeCAD/FreeCAD/issues) •
@@ -10,9 +10,9 @@
[Blog](https://blog.freecad.org)
[![Release](https://img.shields.io/github/release/freecad/freecad.svg)](https://github.com/freecad/freecad/releases/latest) [![Master][freecad-master-status]][gitlab-branch-master] [![Crowdin](https://d322cqt584bo4o.cloudfront.net/freecad/localized.svg)](https://crowdin.com/project/freecad) [![Gitter](https://img.shields.io/gitter/room/freecad/freecad.svg)](https://gitter.im/freecad/freecad?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) [![Liberapay](https://img.shields.io/liberapay/receives/FreeCAD.svg?logo=liberapay)](https://liberapay.com/FreeCAD)
[![Release](https://img.shields.io/github/release/freecad/freecad.svg)](https://github.com/freecad/freecad/releases/latest) [![Crowdin](https://d322cqt584bo4o.cloudfront.net/freecad/localized.svg)](https://crowdin.com/project/freecad) [![Liberapay](https://img.shields.io/liberapay/receives/FreeCAD.svg?logo=liberapay)](https://liberapay.com/FreeCAD)
<img src="https://user-images.githubusercontent.com/1828501/174066870-1692005b-f8d7-43fb-a289-6d2f07f73d7f.png" width="800"/>
<img src="/.github/images/partdesign.png" width="800"/>
Overview
--------
@@ -53,19 +53,6 @@ For development releases check the [weekly-builds page](https://github.com/FreeC
Other options are described at the [wiki Download page](https://wiki.freecad.org/Download).
Build Status
------------
| Master | 0.20 | Translation |
|:------:|:----:|:-----------:|
|[![Master][freecad-master-status]][gitlab-branch-master]|[![0.20][freecad-0.20-status]][gitlab-branch-0.20]|[![Crowdin](https://d322cqt584bo4o.cloudfront.net/freecad/localized.svg)](https://crowdin.com/project/freecad)|
[freecad-0.20-status]: https://gitlab.com/freecad/FreeCAD-CI/badges/releases/FreeCAD-0-20/pipeline.svg
[freecad-master-status]: https://gitlab.com/freecad/FreeCAD-CI/badges/master/pipeline.svg
[gitlab-branch-0.20]: https://gitlab.com/freecad/FreeCAD-CI/-/commits/releases/FreeCAD-0-20
[gitlab-branch-master]: https://gitlab.com/freecad/FreeCAD-CI/-/commits/master
[travis-builds]: https://travis-ci.org/FreeCAD/FreeCAD/builds
Compiling
---------
@@ -91,18 +78,19 @@ Reporting Issues
To report an issue please:
- First post to forum to verify the issue;
- Link forum thread to bug tracker ticket and vice-a-versa;
- Use the most updated stable or development versions of FreeCAD;
- Post version info from eg. `Help > About FreeCAD > Copy to clipboard`;
- Consider posting to the [Forum](https://forum.freecad.org), [Discord](https://discord.com/invite/F4hdxzYZfc) channel, or [Reddit](https://www.reddit.com/r/FreeCAD) to verify the issue;
- Search the existing [issues](https://github.com/FreeCAD/FreeCAD/issues) for potential duplicates;
- Use the most updated stable or [development versions](https://github.com/FreeCAD/FreeCAD-Bundle/releases/tag/weekly-builds) of FreeCAD;
- Post version info from e.g. `Help > About FreeCAD > Copy to clipboard`;
- Start recording a macro `Macro > Macro recording...` and repeat all steps. Stop recording after the issue occurs and upload the saved macro or copy the macro code in the issue;
- Post a Step-By-Step explanation on how to recreate the issue;
- Upload an example file to demonstrate problem.
- Upload an example file (FCStd as ZIP file) to demonstrate the problem;
For more detail see:
- [Bug Tracker](https://github.com/FreeCAD/FreeCAD/issues)
- [Reporting Issues and Requesting Features](https://github.com/FreeCAD/FreeCAD/issues/new/choose)
- [Contributing](https://github.com/FreeCAD/FreeCAD/blob/master/CONTRIBUTING.md)
- [Contributing](https://github.com/FreeCAD/FreeCAD/blob/main/CONTRIBUTING.md)
- [Help Forum](https://forum.freecad.org/viewforum.php?f=3)
- [Developers Handbook](https://freecad.github.io/DevelopersHandbook/)
+2 -2
View File
@@ -21,9 +21,9 @@ FreeCAD implements security fixes to the current release series, and to the curr
| Version | Supported |
|---------| ------------------ |
| 0.22dev | :white_check_mark: |
| 0.21 | :white_check_mark: |
| 0.20.2 | :white_check_mark: |
| < 0.20 | :x: |
| < 0.21 | :x: |
## Reporting a Vulnerability
-25
View File
@@ -9,33 +9,8 @@ include(CheckCSourceCompiles)
include(CheckIncludeFileCXX)
include(CheckCXXSourceCompiles)
#check_include_file(dlfcn.h HAVE_DLFCN_H)
check_include_file(GL/gl.h HAVE_GL_GL_H)
#check_include_file(iomanip.h HAVE_IOMANIP_H)
#check_include_file(limits.h HAVE_LIMITS_H)
#check_include_file(values.h HAVE_VALUES_H)
#check_include_file(float.h HAVE_FLOAT_H)
#check_include_file(inttypes.h HAVE_INTTYPES_H)
#check_include_file(libc.h HAVE_LIBC_H)
#check_include_file(memory.h HAVE_MEMORY_H)
#check_include_file(stdint.h HAVE_STDINT_H)
#check_include_file(stdlib.h HAVE_STDLIB_H)
#check_include_file(unistd.h HAVE_UNISTD_H)
#check_include_file(strings.h HAVE_STRINGS_H)
#check_include_file(string.h HAVE_STRING_H)
#check_include_file(bstring.h HAVE_BSTRING_H)
#check_include_file(siginfo.h HAVE_SIGINFO_H)
#check_include_file(bits/sigset.h HAVE_BITS_SIGSET_H)
#check_include_file(sys/dir.h HAVE_SYS_DIR_H)
#check_include_file(sys/filio.h HAVE_SYS_FILIO_H)
#check_include_file(sys/mman.h HAVE_SYS_MMAN_H)
#check_include_file(sys/select.h HAVE_SYS_SELECT_H)
#check_include_file(sys/stat.h HAVE_SYS_STAT_H)
#check_include_file(sys/types.h HAVE_SYS_TYPES_H)
# i/o streams
check_include_file_cxx(istream HAVE_ISTREAM)
check_include_file_cxx(ostream HAVE_OSTREAM)
+5 -21
View File
@@ -16,16 +16,9 @@
# Redistribution and use is allowed according to the terms of the 2-clause BSD license.
if(NOT Eigen3_FIND_VERSION)
if(NOT Eigen3_FIND_VERSION_MAJOR)
set(Eigen3_FIND_VERSION_MAJOR 3)
endif(NOT Eigen3_FIND_VERSION_MAJOR)
if(NOT Eigen3_FIND_VERSION_MINOR)
set(Eigen3_FIND_VERSION_MINOR 0)
endif(NOT Eigen3_FIND_VERSION_MINOR)
if(NOT Eigen3_FIND_VERSION_PATCH)
set(Eigen3_FIND_VERSION_PATCH 0)
endif(NOT Eigen3_FIND_VERSION_PATCH)
set(Eigen3_FIND_VERSION_MAJOR 3)
set(Eigen3_FIND_VERSION_MINOR 0)
set(Eigen3_FIND_VERSION_PATCH 0)
set(Eigen3_FIND_VERSION "${Eigen3_FIND_VERSION_MAJOR}.${Eigen3_FIND_VERSION_MINOR}.${Eigen3_FIND_VERSION_PATCH}")
endif(NOT Eigen3_FIND_VERSION)
@@ -42,23 +35,17 @@ macro(_eigen3_check_version)
set(EIGEN3_VERSION ${EIGEN3_WORLD_VERSION}.${EIGEN3_MAJOR_VERSION}.${EIGEN3_MINOR_VERSION})
if(${EIGEN3_VERSION} VERSION_LESS ${Eigen3_FIND_VERSION})
set(EIGEN3_VERSION_OK FALSE)
message(STATUS "Eigen3 version ${EIGEN3_VERSION} found in ${EIGEN3_INCLUDE_DIR}, "
"but at least version ${Eigen3_FIND_VERSION} is required")
else(${EIGEN3_VERSION} VERSION_LESS ${Eigen3_FIND_VERSION})
set(EIGEN3_VERSION_OK TRUE)
endif(${EIGEN3_VERSION} VERSION_LESS ${Eigen3_FIND_VERSION})
if(NOT EIGEN3_VERSION_OK)
message(STATUS "Eigen3 version ${EIGEN3_VERSION} found in ${EIGEN3_INCLUDE_DIR}, "
"but at least version ${Eigen3_FIND_VERSION} is required")
endif(NOT EIGEN3_VERSION_OK)
endmacro(_eigen3_check_version)
if (EIGEN3_INCLUDE_DIR)
# in cache already
_eigen3_check_version()
set(EIGEN3_FOUND ${EIGEN3_VERSION_OK})
else (EIGEN3_INCLUDE_DIR)
find_path(EIGEN3_INCLUDE_DIR NAMES signature_of_eigen3_matrix_library
@@ -71,11 +58,8 @@ else (EIGEN3_INCLUDE_DIR)
if(EIGEN3_INCLUDE_DIR)
_eigen3_check_version()
endif(EIGEN3_INCLUDE_DIR)
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(Eigen3 REQUIRED_VARS EIGEN3_INCLUDE_DIR EIGEN3_VERSION_OK VERSION_VAR EIGEN3_VERSION)
mark_as_advanced(EIGEN3_INCLUDE_DIR)
endif(EIGEN3_INCLUDE_DIR)
+119 -145
View File
@@ -14,162 +14,136 @@
find_package(Netgen CONFIG)
if(Netgen_FOUND)
set(NGLIB_INCLUDE_DIR ${NETGEN_INCLUDE_DIRS})
set(NGLIB_LIBRARIES nglib)
set(NETGEN_DEFINITIONS -DNO_PARALLEL_THREADS -DOCCGEOMETRY)
# for external smesh only the following two variables are needed:
set(NETGEN_FOUND True)
set(NETGEN_INCLUDE_DIRS ${NETGEN_INCLUDE_DIRS})
IF (Netgen_FOUND)
set(NGLIB_INCLUDE_DIR ${NETGEN_INCLUDE_DIRS})
set(NGLIB_LIBRARIES nglib)
set(NETGEN_DEFINITIONS -DNO_PARALLEL_THREADS -DOCCGEOMETRY)
# for external smesh only the following two variables are needed:
set(NETGEN_FOUND True)
set(NETGEN_INCLUDE_DIRS ${NETGEN_INCLUDE_DIRS})
else(Netgen_FOUND)
ELSE ()
SET(NETGEN_DEFINITIONS -DNO_PARALLEL_THREADS -DOCCGEOMETRY)
SET(NETGEN_DEFINITIONS -DNO_PARALLEL_THREADS -DOCCGEOMETRY)
IF (WIN32)
FIND_PATH(NGLIB_INCLUDE_DIR NAMES nglib.h PATHS ${NETGEN_INCLUDEDIR})
SET(NETGEN_LIBS nglib mesh occ interface)
SET(NGLIB_LIBRARIES "")
FOREACH (it ${NETGEN_LIBS})
FIND_LIBRARY(NGLIB ${it} PATHS ${NETGEN_LIBDIR})
FIND_LIBRARY(NGLIBD ${it}d PATHS ${NETGEN_LIBDIR})
IF (NGLIBD AND NGLIB)
SET(NG_LIB optimized ${NGLIB}
debug ${NGLIBD})
SET(NGLIB_LIBRARIES ${NGLIB_LIBRARIES} ${NG_LIB})
UNSET(NGLIB CACHE)
UNSET(NGLIBD CACHE)
ELSEIF (NGLIB)
SET(NGLIB_LIBRARIES ${NGLIB_LIBRARIES} ${NGLIB})
UNSET(NGLIB CACHE)
ENDIF ()
ENDFOREACH ()
IF(DEFINED MACPORTS_PREFIX OR DEFINED HOMEBREW_PREFIX)
# We haven't supported Netgen prior to 5.3.1 on MacOS, and the current
# plan is for the next Netgen version to be 6.1 (currently unreleased).
IF(DEFINED HOMEBREW_PREFIX)
SET(NGLIB_PREFIX ${HOMEBREW_PREFIX})
ELSE(DEFINED HOMEBREW_PREFIX)
SET(NGLIB_PREFIX ${MACPORTS_PREFIX})
ENDIF(DEFINED HOMEBREW_PREFIX)
IF (NOT NETGENDATA)
SET(NETGENDATA netgen)
ENDIF (NOT NETGENDATA)
FIND_PATH(NGLIB_INCLUDE_DIR nglib.h ${NGLIB_PREFIX}/include)
ELSEIF (DEFINED MACPORTS_PREFIX OR DEFINED HOMEBREW_PREFIX)
IF (NETGEN_ROOT)
SET(NETGEN_INCLUDEDIR ${NETGEN_ROOT}/include)
SET(NETGEN_LIBDIR ${NETGEN_ROOT}/lib)
# allow to customize if NETGEN_ROOT is used
IF (NOT NETGENDATA)
SET(NETGENDATA ${NETGEN_ROOT}/libsrc)
ENDIF ()
ENDIF ()
FIND_LIBRARY(NGLIB_LIBNGLIB nglib ${NGLIB_PREFIX}/lib)
FIND_LIBRARY(NGLIB_LIBMESH mesh ${NGLIB_PREFIX}/lib)
FIND_LIBRARY(NGLIB_LIBOCC occ ${NGLIB_PREFIX}/lib)
FIND_LIBRARY(NGLIB_LIBINTERFACE interface ${NGLIB_PREFIX}/lib)
SET(NGLIB_LIBRARIES ${NGLIB_LIBNGLIB} ${NGLIB_LIBMESH}
${NGLIB_LIBOCC} ${NGLIB_LIBINTERFACE})
FIND_PATH(NGLIB_INCLUDE_DIR NAMES nglib.h PATHS ${NETGEN_INCLUDEDIR} /usr/include /usr/include/netgen-mesher)
FIND_LIBRARY(NGLIB_LIBNGLIB nglib PATHS ${NETGEN_LIBDIR} /usr/lib /usr/lib64 /usr/local/lib)
SET(NGLIB_LIBRARIES ${NGLIB_LIBNGLIB})
FIND_LIBRARY(NGLIB_LIBMESH NAMES mesh ngmesh PATHS ${NETGEN_LIBDIR} /usr/lib /usr/lib64 /usr/local/lib)
IF (NGLIB_LIBMESH)
SET(NGLIB_LIBRARIES ${NGLIB_LIBRARIES} ${NGLIB_LIBMESH})
ENDIF ()
FIND_LIBRARY(NGLIB_LIBOCC NAMES occ ngocc PATHS ${NETGEN_LIBDIR} /usr/lib /usr/lib64 /usr/local/lib)
IF (NGLIB_LIBOCC)
SET(NGLIB_LIBRARIES ${NGLIB_LIBRARIES} ${NGLIB_LIBOCC})
ENDIF ()
FIND_LIBRARY(NGLIB_LIBINTERFACE NAMES interface nginterface PATHS ${NETGEN_LIBDIR} /usr/lib /usr/lib64 /usr/local/lib)
IF (NGLIB_LIBINTERFACE)
SET(NGLIB_LIBRARIES ${NGLIB_LIBRARIES} ${NGLIB_LIBINTERFACE})
ENDIF ()
IF(NOT NETGENDATA)
SET(NETGENDATA ${NGLIB_PREFIX}/include/netgen)
ENDIF(NOT NETGENDATA)
IF (NOT NETGENDATA)
SET(NETGENDATA /usr/share/netgen/libsrc)
ENDIF ()
ENDIF ()
ELSEIF(WIN32)
FIND_PATH(NGLIB_INCLUDE_DIR NAMES nglib.h PATHS ${NETGEN_INCLUDEDIR})
SET(NETGEN_LIBS nglib mesh occ interface)
SET(NGLIB_LIBRARIES "")
FOREACH(it ${NETGEN_LIBS})
FIND_LIBRARY(NGLIB ${it} PATHS ${NETGEN_LIBDIR})
FIND_LIBRARY(NGLIBD ${it}d PATHS ${NETGEN_LIBDIR})
IF(NGLIBD AND NGLIB)
SET(NG_LIB optimized ${NGLIB}
debug ${NGLIBD})
SET(NGLIB_LIBRARIES ${NGLIB_LIBRARIES} ${NG_LIB})
UNSET(NGLIB CACHE)
UNSET(NGLIBD CACHE)
ELSEIF(NGLIB)
SET(NGLIB_LIBRARIES ${NGLIB_LIBRARIES} ${NGLIB})
UNSET(NGLIB CACHE)
ENDIF()
ENDFOREACH()
FIND_PATH(NETGEN_DIR_include NAMES mydefs.hpp NO_DEFAULT_PATH PATHS ${NGLIB_INCLUDE_DIR}/include ${NETGENDATA}/include ${NETGEN_INCLUDEDIR} ${NGLIB_INCLUDE_DIR})
IF(NOT NETGENDATA)
SET(NETGENDATA netgen)
ENDIF(NOT NETGENDATA)
IF (NOT NGLIB_INCLUDE_DIR AND NOT NETGEN_DIR_include)
MESSAGE(STATUS "Cannot find NETGEN header files.")
ELSEIF (NOT NETGEN_VERSION)
file(STRINGS ${NETGEN_DIR_include}/mydefs.hpp NETGEN_VERSION REGEX "#define PACKAGE_VERSION.*")
ENDIF ()
ELSE(DEFINED MACPORTS_PREFIX OR DEFINED HOMEBREW_PREFIX)
IF(NETGEN_ROOT)
SET(NETGEN_INCLUDEDIR ${NETGEN_ROOT}/include)
SET(NETGEN_LIBDIR ${NETGEN_ROOT}/lib)
# allow to customize if NETGEN_ROOT is used
IF(NOT NETGENDATA)
SET(NETGENDATA ${NETGEN_ROOT}/libsrc)
ENDIF(NOT NETGENDATA)
ENDIF()
IF (NOT NGLIB_LIBRARIES)
MESSAGE(STATUS "Cannot find NETGEN library.")
ENDIF ()
FIND_PATH(NGLIB_INCLUDE_DIR NAMES nglib.h PATHS ${NETGEN_INCLUDEDIR} /usr/include /usr/include/netgen-mesher)
FIND_LIBRARY(NGLIB_LIBNGLIB nglib PATHS ${NETGEN_LIBDIR} /usr/lib /usr/lib64 /usr/local/lib)
SET(NGLIB_LIBRARIES ${NGLIB_LIBNGLIB})
FIND_LIBRARY(NGLIB_LIBMESH NAMES mesh ngmesh PATHS ${NETGEN_LIBDIR} /usr/lib /usr/lib64 /usr/local/lib)
IF(NGLIB_LIBMESH)
SET(NGLIB_LIBRARIES ${NGLIB_LIBRARIES} ${NGLIB_LIBMESH})
ENDIF()
FIND_LIBRARY(NGLIB_LIBOCC NAMES occ ngocc PATHS ${NETGEN_LIBDIR} /usr/lib /usr/lib64 /usr/local/lib)
IF(NGLIB_LIBOCC)
SET(NGLIB_LIBRARIES ${NGLIB_LIBRARIES} ${NGLIB_LIBOCC})
ENDIF()
FIND_LIBRARY(NGLIB_LIBINTERFACE NAMES interface nginterface PATHS ${NETGEN_LIBDIR} /usr/lib /usr/lib64 /usr/local/lib)
IF(NGLIB_LIBINTERFACE)
SET(NGLIB_LIBRARIES ${NGLIB_LIBRARIES} ${NGLIB_LIBINTERFACE})
ENDIF()
IF(NOT NETGENDATA)
SET(NETGENDATA /usr/share/netgen/libsrc)
ENDIF(NOT NETGENDATA)
ENDIF(DEFINED MACPORTS_PREFIX OR DEFINED HOMEBREW_PREFIX)
FIND_PATH(NETGEN_DIR_include NAMES mydefs.hpp NO_DEFAULT_PATH PATHS ${NGLIB_INCLUDE_DIR}/include ${NETGENDATA}/include ${NETGEN_INCLUDEDIR} ${NGLIB_INCLUDE_DIR})
IF(NOT NGLIB_INCLUDE_DIR AND NOT NETGEN_DIR_include)
MESSAGE(STATUS "Cannot find NETGEN header files.")
ELSEIF(NOT NETGEN_VERSION)
file(STRINGS ${NETGEN_DIR_include}/mydefs.hpp NETGEN_VERSION
REGEX "#define PACKAGE_VERSION.*"
)
ENDIF()
IF(NOT NGLIB_LIBRARIES)
MESSAGE(STATUS "Cannot find NETGEN library.")
ENDIF()
IF(NGLIB_INCLUDE_DIR AND NGLIB_LIBRARIES)
SET(Netgen_FOUND TRUE)
SET(NETGEN_INCLUDE_DIRS ${NETGEN_DIR_include} ${NGLIB_INCLUDE_DIR})
LIST(REMOVE_DUPLICATES NETGEN_INCLUDE_DIRS)
ELSE()
SET(Netgen_FOUND FALSE)
ENDIF()
endif(Netgen_FOUND)
IF (NGLIB_INCLUDE_DIR AND NGLIB_LIBRARIES)
SET(Netgen_FOUND TRUE)
SET(NETGEN_INCLUDE_DIRS ${NETGEN_DIR_include} ${NGLIB_INCLUDE_DIR})
LIST(REMOVE_DUPLICATES NETGEN_INCLUDE_DIRS)
ELSE ()
SET(Netgen_FOUND FALSE)
ENDIF ()
ENDIF ()
# Package-provided cMake file is not enough
IF(Netgen_FOUND)
IF(NOT NETGEN_VERSION_MAJOR)
IF(NETGEN_VERSION)
string(REGEX MATCHALL "[0-9]+" NETGEN_VERSION_expr ${NETGEN_VERSION})
list(LENGTH NETGEN_VERSION_expr NETGEN_VERSION_COUNT)
list(GET NETGEN_VERSION_expr 0 NETGEN_VERSION_MAJOR)
IF(NETGEN_VERSION_COUNT GREATER 1)
list(GET NETGEN_VERSION_expr 1 NETGEN_VERSION_MINOR)
ELSE()
set(NETGEN_VERSION_MINOR 0)
ENDIF()
ELSE() # workaround for netgen 6.2 and newer. currently there is no easy way to detect the version
# better use "find_package(netgen CONFIG REQUIRED)"
set(NETGEN_VERSION_MAJOR 6)
set(NETGEN_VERSION_MINOR 2)
ENDIF()
set(NETGEN_VERSION_PATCH 0)
ENDIF()
IF (Netgen_FOUND)
IF (NOT NETGEN_VERSION_MAJOR)
IF (NETGEN_VERSION)
string(REGEX MATCHALL "[0-9]+" NETGEN_VERSION_expr ${NETGEN_VERSION})
list(LENGTH NETGEN_VERSION_expr NETGEN_VERSION_COUNT)
list(GET NETGEN_VERSION_expr 0 NETGEN_VERSION_MAJOR)
IF (NETGEN_VERSION_COUNT GREATER 1)
list(GET NETGEN_VERSION_expr 1 NETGEN_VERSION_MINOR)
ELSE ()
set(NETGEN_VERSION_MINOR 0)
ENDIF ()
ELSE () # workaround for netgen 6.2 and newer. currently there is no easy way to detect the version
# better use "find_package(netgen CONFIG REQUIRED)"
set(NETGEN_VERSION_MAJOR 6)
set(NETGEN_VERSION_MINOR 2)
ENDIF ()
set(NETGEN_VERSION_PATCH 0)
ENDIF ()
MATH(EXPR NETGEN_VERSION_C "(${NETGEN_VERSION_MAJOR} << 16) + (${NETGEN_VERSION_MINOR} << 8) + (${NETGEN_VERSION_PATCH})")
MATH(EXPR NETGEN_VERSION_62 "(6 << 16) + (2 << 8)")
MATH(EXPR NETGEN_VERSION_62_2004 "(6 << 16) + (2 << 8) + (2004)")
IF(NOT NETGEN_VERSION_C LESS NETGEN_VERSION_62) # Version >= 6.2
IF(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
# Clang sometimes fails to include <cstdio>
include(CMakePushCheckState)
cmake_push_check_state(RESET)
set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} ${NETGEN_CXX_FLAGS}")
check_cxx_source_compiles("#include <cstdio>\nint main(){}" CSTDIO_INCLUDE_TRY1)
IF(NOT CSTDIO_INCLUDE_TRY1)
# Ugly hack to make <stdio.h> building gets function
set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} -U__cplusplus -D__cplusplus=201103L")
check_cxx_source_compiles("#include <cstdio>\nint main(){}" CSTDIO_INCLUDE_TRY2)
IF(NOT CSTDIO_INCLUDE_TRY2)
message(FATAL_ERROR "Cannot #include <cstdio>.")
ELSE()
set(NETGEN_CXX_FLAGS "${NETGEN_CXX_FLAGS} -U__cplusplus -D__cplusplus=201103L")
ENDIF()
ENDIF()
cmake_pop_check_state()
ENDIF()
ENDIF()
MESSAGE(STATUS "Found NETGEN version ${NETGEN_VERSION_MAJOR}.${NETGEN_VERSION_MINOR}, calculated: ${NETGEN_VERSION_C}")
LIST(APPEND NETGEN_DEFINITIONS -DNETGEN_VERSION=${NETGEN_VERSION_C})
ENDIF()
MATH(EXPR NETGEN_VERSION_C "(${NETGEN_VERSION_MAJOR} << 16) + (${NETGEN_VERSION_MINOR} << 8) + (${NETGEN_VERSION_PATCH})")
MATH(EXPR NETGEN_VERSION_62 "(6 << 16) + (2 << 8)")
MATH(EXPR NETGEN_VERSION_62_2004 "(6 << 16) + (2 << 8) + (2004)")
IF (NOT NETGEN_VERSION_C LESS NETGEN_VERSION_62) # Version >= 6.2
IF (CMAKE_CXX_COMPILER_ID MATCHES "Clang")
# Clang sometimes fails to include <cstdio>
include(CMakePushCheckState)
cmake_push_check_state(RESET)
set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} ${NETGEN_CXX_FLAGS}")
check_cxx_source_compiles("#include <cstdio>\nint main(){}" CSTDIO_INCLUDE_TRY1)
IF (NOT CSTDIO_INCLUDE_TRY1)
# Ugly hack to make <stdio.h> building gets function
set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} -U__cplusplus -D__cplusplus=201103L")
check_cxx_source_compiles("#include <cstdio>\nint main(){}" CSTDIO_INCLUDE_TRY2)
IF (NOT CSTDIO_INCLUDE_TRY2)
message(FATAL_ERROR "Cannot #include <cstdio>.")
ELSE ()
set(NETGEN_CXX_FLAGS "${NETGEN_CXX_FLAGS} -U__cplusplus -D__cplusplus=201103L")
ENDIF ()
ENDIF ()
cmake_pop_check_state()
ENDIF ()
ENDIF ()
MESSAGE(STATUS "Found NETGEN version ${NETGEN_VERSION_MAJOR}.${NETGEN_VERSION_MINOR}, calculated: ${NETGEN_VERSION_C}")
LIST(APPEND NETGEN_DEFINITIONS -DNETGEN_VERSION=${NETGEN_VERSION_C})
ENDIF ()
+12 -12
View File
@@ -127,8 +127,6 @@ if(OCC_FOUND)
TKG2d
TKG3d
TKMath
TKIGES
TKSTL
TKShHealing
TKXSBase
TKBool
@@ -139,13 +137,12 @@ if(OCC_FOUND)
TKGeomBase
TKOffset
TKPrim
TKSTEPBase
TKSTEPAttr
TKSTEP209
TKSTEP
TKHLR
TKFeat
)
if (OCC_VERSION_STRING VERSION_GREATER_EQUAL 7.9.0)
list(APPEND OCC_LIBRARIES TKExpress)
endif ()
set(OCC_OCAF_LIBRARIES
TKBin
TKBinL
@@ -154,17 +151,20 @@ if(OCC_FOUND)
TKLCAF
TKVCAF
TKCDF
TKXDESTEP
TKXDEIGES
TKMeshVS
TKService
TKV3d
)
if(OCC_VERSION_STRING VERSION_LESS 6.7.3)
list(APPEND OCC_OCAF_LIBRARIES TKAdvTools)
elseif(NOT OCC_VERSION_STRING VERSION_LESS 7.5.0)
if(NOT OCC_VERSION_STRING VERSION_LESS 7.5.0)
list(APPEND OCC_OCAF_LIBRARIES TKRWMesh)
endif(OCC_VERSION_STRING VERSION_LESS 6.7.3)
endif(NOT OCC_VERSION_STRING VERSION_LESS 7.5.0)
if(OCC_VERSION_STRING VERSION_LESS 7.8.0)
list(APPEND OCC_LIBRARIES TKIGES TKSTL TKSTEPBase TKSTEPAttr TKSTEP209 TKSTEP)
list(APPEND OCC_OCAF_LIBRARIES TKXDESTEP TKXDEIGES)
else(OCC_VERSION_STRING VERSION_LESS 7.8.0)
list(APPEND OCC_LIBRARIES TKDESTEP TKDEIGES TKDEGLTF TKDESTL)
endif(OCC_VERSION_STRING VERSION_LESS 7.8.0)
message(STATUS "-- Found OCE/OpenCASCADE version: ${OCC_VERSION_STRING}")
message(STATUS "-- OCE/OpenCASCADE include directory: ${OCC_INCLUDE_DIR}")
message(STATUS "-- OCE/OpenCASCADE shared libraries directory: ${OCC_LIBRARY_DIR}")
+5 -5
View File
@@ -117,11 +117,11 @@ if(PYCXX_FOUND)
${PYCXX_SOURCE_DIR}/cxxsupport.cxx
${PYCXX_SOURCE_DIR}/IndirectPythonInterface.cxx
)
if(NOT ${PYCXX_VERSION} VERSION_LESS 6.3.0)
list(APPEND PYCXX_SOURCES
${PYCXX_SOURCE_DIR}/cxx_exceptions.cxx)
add_definitions(-DPYCXX_6_2_COMPATIBILITY)
endif()
#set old 6.2 pycxx compatibility
list(APPEND PYCXX_SOURCES ${PYCXX_SOURCE_DIR}/cxx_exceptions.cxx)
add_definitions(-DPYCXX_6_2_COMPATIBILITY)
#end old compatibility
else(PYCXX_FOUND)
MESSAGE(STATUS "PyCXX not found")
endif(PYCXX_FOUND)
+22
View File
@@ -0,0 +1,22 @@
# The Qt for Python project officially recommends using pip to install PySide, so we expect to find PySide in the
# site-packages directory. The library will be called "PySide6.abi3.*", and there will be an "include" directory inside
# the site-packages/PySide6. Over time some distros may provide custom versions, so we also support using a more normal
# cMake find_package() call
find_package(PySide6 CONFIG QUIET)
if(NOT PySide6_FOUND)
if(NOT PySide6_INCLUDE_DIR AND TARGET PySide6::pyside6)
get_property(PySide6_INCLUDE_DIR TARGET PySide6::pyside6 PROPERTY INTERFACE_INCLUDE_DIRECTORIES)
endif()
if(NOT PySide6_INCLUDE_DIR)
find_pip_package(PySide6)
if (PySide6_FOUND)
set(PYSIDE_INCLUDE_DIR ${PySide6_INCLUDE_DIRS} CACHE INTERNAL "")
set(PYSIDE_LIBRARY ${PySide6_LIBRARIES} CACHE INTERNAL "")
set(PYSIDE_FOUND TRUE CACHE BOOL OFF)
set(PYSIDE_MAJOR_VERSION 6 CACHE INTERNAL 6)
endif()
endif()
endif()
+28
View File
@@ -0,0 +1,28 @@
# The Qt for Python project officially recommends using pip to install Shiboken, so we expect to find Shiboken in the
# site-packages directory. FreeCAD also requires shiboken6_generator, so this find script also locates that package
# and ensures the inclusion of its include directory when using the pip finding mechanism
find_package(Shiboken6 CONFIG QUIET)
if(NOT Shiboken6_FOUND)
if(NOT Shiboken6_INCLUDE_DIR AND TARGET Shiboken6::Shiboken6)
get_property(Shiboken6_INCLUDE_DIR TARGET Shiboken6::Shiboken6 PROPERTY INTERFACE_INCLUDE_DIRECTORIES)
endif()
if(NOT Shiboken6_INCLUDE_DIR)
find_pip_package(Shiboken6)
if (Shiboken6_FOUND)
set(SHIBOKEN_LIBRARY ${Shiboken6_LIBRARIES} CACHE INTERNAL "")
set(SHIBOKEN_MAJOR_VERSION 6 CACHE INTERNAL 6)
set(SHIBOKEN_FOUND ON CACHE BOOL OFF)
endif()
# The include directory we actually want is part of shiboken6-generator
find_pip_package(shiboken6_generator)
if (shiboken6_generator_FOUND)
set(SHIBOKEN_INCLUDE_DIR ${shiboken6_generator_INCLUDE_DIRS} CACHE PATH "")
endif()
endif()
else()
set(SHIBOKEN_INCLUDE_DIR ${Shiboken6_INCLUDE_DIRS} CACHE PATH "")
set(SHIBOKEN_LIBRARY ${Shiboken6_LIBRARIES} CACHE INTERNAL "")
set(SHIBOKEN_FOUND ON CACHE BOOL OFF)
endif()
@@ -17,7 +17,7 @@ macro(CheckInterModuleDependencies)
endif(${dependent})
endfunction(REQUIRES_MODS)
REQUIRES_MODS(BUILD_ARCH BUILD_PART BUILD_MESH BUILD_DRAFT)
REQUIRES_MODS(BUILD_BIM BUILD_PART BUILD_MESH BUILD_DRAFT)
REQUIRES_MODS(BUILD_DRAFT BUILD_SKETCHER)
REQUIRES_MODS(BUILD_DRAWING BUILD_PART BUILD_SPREADSHEET)
REQUIRES_MODS(BUILD_FEM BUILD_PART)
@@ -28,14 +28,14 @@ macro(CheckInterModuleDependencies)
REQUIRES_MODS(BUILD_MESH_PART BUILD_PART BUILD_MESH BUILD_SMESH)
REQUIRES_MODS(BUILD_FLAT_MESH BUILD_MESH_PART)
REQUIRES_MODS(BUILD_OPENSCAD BUILD_MESH_PART BUILD_DRAFT)
REQUIRES_MODS(BUILD_PART BUILD_MATERIAL)
REQUIRES_MODS(BUILD_PART_DESIGN BUILD_SKETCHER)
# REQUIRES_MODS(BUILD_PATH BUILD_PART BUILD_MESH BUILD_ROBOT)
REQUIRES_MODS(BUILD_PATH BUILD_PART BUILD_MESH)
REQUIRES_MODS(BUILD_REVERSEENGINEERING BUILD_PART BUILD_MESH)
# REQUIRES_MODS(BUILD_CAM BUILD_PART BUILD_MESH BUILD_ROBOT)
REQUIRES_MODS(BUILD_CAM BUILD_PART BUILD_MESH)
REQUIRES_MODS(BUILD_REVERSEENGINEERING BUILD_PART BUILD_MESH BUILD_POINTS)
REQUIRES_MODS(BUILD_ROBOT BUILD_PART)
REQUIRES_MODS(BUILD_SANDBOX BUILD_PART BUILD_MESH)
REQUIRES_MODS(BUILD_SKETCHER BUILD_PART)
REQUIRES_MODS(BUILD_SPREADSHEET BUILD_DRAFT)
REQUIRES_MODS(BUILD_START BUILD_WEB)
REQUIRES_MODS(BUILD_TECHDRAW BUILD_PART BUILD_SPREADSHEET)
endmacro(CheckInterModuleDependencies)
+14 -1
View File
@@ -57,9 +57,22 @@ macro(ChooseQtVersion)
endif()
if(FREECAD_LIBPACK_USE)
if (NOT Qt5_DIR OR Qt5_DIR STREQUAL "Qt5_DIR-NOTFOUND")
find_file(FREECAD_LIBPACK_CHECKFILE_VERSION NAMES FREECAD_LIBPACK_VERSION PATHS ${FREECAD_LIBPACK_DIR} NO_DEFAULT_PATH)
if(FREECAD_LIBPACK_CHECKFILE_VERSION)
file(READ ${FREECAD_LIBPACK_CHECKFILE_VERSION} FREECAD_LIBPACK_VERSION)
message(STATUS "LibPack: read version file and got ${FREECAD_LIBPACK_VERSION}")
if(FREECAD_LIBPACK_VERSION VERSION_GREATER_EQUAL "3.0.0")
message(STATUS "Using Qt6 directory from LibPack in ${FREECAD_LIBPACK_DIR}/lib/cmake/Qt6")
set(Qt6_DIR ${FREECAD_LIBPACK_DIR}/lib/cmake/Qt6)
set(FREECAD_QT_VERSION 6)
else()
message(ERROR ": Unrecognized LibPack version ${FREECAD_LIBPACK_CHECKFILE_VERSION}")
endif()
else()
if (NOT Qt5_DIR OR Qt5_DIR STREQUAL "Qt5_DIR-NOTFOUND")
message(STATUS "Using Qt5 directory from LibPack in ${FREECAD_LIBPACK_DIR}/lib/cmake/Qt5")
set(Qt5_DIR ${FREECAD_LIBPACK_DIR}/lib/cmake/Qt5)
endif()
endif()
endif()
@@ -42,9 +42,11 @@ macro(CompilerChecksAndSetups)
endif()
# Escape the two plus chars as otherwise cmake complains about invalid regex
if(${BUILD_ENABLE_CXX_STD} MATCHES "C\\+\\+20")
if(${BUILD_ENABLE_CXX_STD} MATCHES "C\\+\\+23")
set(CMAKE_CXX_STANDARD 23)
elseif(${BUILD_ENABLE_CXX_STD} MATCHES "C\\+\\+20")
set(CMAKE_CXX_STANDARD 20)
elseif(${BUILD_ENABLE_CXX_STD} MATCHES "C\\+\\+17")
else()#Enabled C++17
set(CMAKE_CXX_STANDARD 17)
endif()
@@ -73,7 +75,11 @@ macro(CompilerChecksAndSetups)
endif()
else(BUILD_DYNAMIC_LINK_PYTHON)
if(CMAKE_COMPILER_IS_CLANGXX)
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,-undefined,dynamic_lookup")
if(APPLE)
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,-undefined,dynamic_lookup")
elseif(UNIX)
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--undefined,dynamic_lookup")
endif()
endif()
endif(BUILD_DYNAMIC_LINK_PYTHON)
endif(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_COMPILER_IS_CLANGXX)
@@ -89,9 +95,7 @@ macro(CompilerChecksAndSetups)
endif()
add_definitions(-DGL_SILENCE_DEPRECATION)
elseif (UNIX)
if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 3.9)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-undefined-var-template")
endif()
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-undefined-var-template")
endif()
# older boost.preprocessor turn off variadics for clang
@@ -2,7 +2,7 @@ macro(ConfigureCMakeVariables)
# ================================================================================
# Output directories for install target
if(WIN32)
if(MSVC)
set(CMAKE_INSTALL_PREFIX ${CMAKE_BINARY_DIR}/install CACHE PATH "Installation root directory")
set(CMAKE_INSTALL_BINDIR bin CACHE PATH "Output directory for executables")
set(CMAKE_INSTALL_DATADIR data CACHE PATH "Output directory for data and resource files")
@@ -1,29 +1,40 @@
macro(CopyLibpackDirectories)
# Copy libpack dependency directories to build folder for user as part of overall build process
if(FREECAD_COPY_DEPEND_DIRS_TO_BUILD)
message(STATUS "=======================================\n"
"Copying libpack dependency directories to build directory for Windows MSVC build.\n")
message(STATUS "Copying libpack dependency directories to build directory...")
file(COPY ${FREECAD_LIBPACK_DIR}/bin/assistant.exe DESTINATION ${CMAKE_BINARY_DIR}/bin)
file(COPY ${FREECAD_LIBPACK_DIR}/bin/QtWebEngineProcess.exe DESTINATION ${CMAKE_BINARY_DIR}/bin)
file(COPY ${FREECAD_LIBPACK_DIR}/bin/QtWebEngineProcessd.exe DESTINATION ${CMAKE_BINARY_DIR}/bin)
file(COPY ${FREECAD_LIBPACK_DIR}/bin/qt.conf DESTINATION ${CMAKE_BINARY_DIR}/bin)
file(COPY ${FREECAD_LIBPACK_DIR}/plugins/platforms DESTINATION ${CMAKE_BINARY_DIR}/bin)
file(COPY ${FREECAD_LIBPACK_DIR}/plugins/imageformats DESTINATION ${CMAKE_BINARY_DIR}/bin)
file(COPY ${FREECAD_LIBPACK_DIR}/plugins/iconengines DESTINATION ${CMAKE_BINARY_DIR}/bin)
file(COPY ${FREECAD_LIBPACK_DIR}/plugins/sqldrivers DESTINATION ${CMAKE_BINARY_DIR}/bin)
file(COPY ${FREECAD_LIBPACK_DIR}/plugins/styles DESTINATION ${CMAKE_BINARY_DIR}/bin)
file(COPY ${FREECAD_LIBPACK_DIR}/plugins/printsupport DESTINATION ${CMAKE_BINARY_DIR}/bin)
file(COPY ${FREECAD_LIBPACK_DIR}/resources DESTINATION ${CMAKE_BINARY_DIR})
file(COPY ${FREECAD_LIBPACK_DIR}/translations/qtwebengine_locales DESTINATION ${CMAKE_BINARY_DIR}/translations)
if(NOT FREECAD_LIBPACK_VERSION VERSION_GREATER_EQUAL "3.0.0")
file(COPY ${FREECAD_LIBPACK_DIR}/plugins/printsupport DESTINATION ${CMAKE_BINARY_DIR}/bin)
endif()
if(FREECAD_LIBPACK_VERSION VERSION_GREATER_EQUAL "3.0.0")
file(COPY ${FREECAD_LIBPACK_DIR}/plugins/tls DESTINATION ${CMAKE_BINARY_DIR}/bin)
endif()
if(FREECAD_LIBPACK_VERSION VERSION_GREATER_EQUAL "3.0.0" AND FREECAD_LIBPACK_VERSION VERSION_LESS "3.1.0")
file(COPY ${FREECAD_LIBPACK_DIR}/resources DESTINATION ${CMAKE_BINARY_DIR})
endif()
message(STATUS "... end copying.\n=======================================\n")
endif()
if(COPY_LIBPACK_BIN_TO_BUILD)
if(FREECAD_COPY_LIBPACK_BIN_TO_BUILD)
message("=======================================\n"
"Copying libpack 'bin' directory to build directory.\n")
message("Copying LibPack 'bin' directory to build 'bin' directory...")
file(COPY ${FREECAD_LIBPACK_DIR}/bin DESTINATION ${CMAKE_BINARY_DIR})
message("... done copying libpack 'bin' directory.\n=======================================\n")
if(FREECAD_LIBPACK_VERSION VERSION_GREATER_EQUAL "3.0.0")
message("Copying DLLs from LibPack 'lib' directory to build 'bin' directory...")
file(GLOB DLLS ${FREECAD_LIBPACK_DIR}/lib/*.dll)
file(COPY ${DLLS} DESTINATION ${CMAKE_BINARY_DIR}/bin)
file(GLOB DLLS ${FREECAD_LIBPACK_DIR}/bin/Lib/site-packages/shiboken6/shiboken*.dll)
file(COPY ${DLLS} DESTINATION ${CMAKE_BINARY_DIR}/bin)
file(GLOB DLLS ${FREECAD_LIBPACK_DIR}/bin/Lib/site-packages/PySide6/pyside6*.dll)
file(COPY ${DLLS} DESTINATION ${CMAKE_BINARY_DIR}/bin)
endif()
message(STATUS " ... done.")
endif()
if(FREECAD_COPY_PLUGINS_BIN_TO_BUILD)
message(STATUS "=======================================\n"
@@ -31,10 +42,9 @@ macro(CopyLibpackDirectories)
file(COPY ${FREECAD_LIBPACK_DIR}/plugins/imageformats DESTINATION ${CMAKE_BINARY_DIR}/bin)
file(COPY ${FREECAD_LIBPACK_DIR}/plugins/platforms DESTINATION ${CMAKE_BINARY_DIR}/bin)
file(COPY ${FREECAD_LIBPACK_DIR}/plugins/styles DESTINATION ${CMAKE_BINARY_DIR}/bin)
file(COPY ${FREECAD_LIBPACK_DIR}/bin/QtWebEngineProcess.exe DESTINATION ${CMAKE_BINARY_DIR}/bin)
file(COPY ${FREECAD_LIBPACK_DIR}/bin/QtWebEngineProcessd.exe DESTINATION ${CMAKE_BINARY_DIR}/bin)
file(COPY ${FREECAD_LIBPACK_DIR}/translations/qtwebengine_locales DESTINATION ${CMAKE_BINARY_DIR}/translations)
file(COPY ${FREECAD_LIBPACK_DIR}/resources DESTINATION ${CMAKE_BINARY_DIR})
if(FREECAD_LIBPACK_VERSION VERSION_LESS "3.1.0")
file(COPY ${FREECAD_LIBPACK_DIR}/resources DESTINATION ${CMAKE_BINARY_DIR})
endif()
file(WRITE ${CMAKE_BINARY_DIR}/bin/qt.conf "[Paths]\nPrefix=..\n")
endif()
endif()
@@ -47,10 +57,24 @@ macro(CopyLibpackDirectories)
install(DIRECTORY ${FREECAD_LIBPACK_DIR}/plugins/iconengines DESTINATION ${CMAKE_INSTALL_PREFIX}/bin)
install(DIRECTORY ${FREECAD_LIBPACK_DIR}/plugins/sqldrivers DESTINATION ${CMAKE_INSTALL_PREFIX}/bin)
install(DIRECTORY ${FREECAD_LIBPACK_DIR}/plugins/styles DESTINATION ${CMAKE_INSTALL_PREFIX}/bin)
install(DIRECTORY ${FREECAD_LIBPACK_DIR}/plugins/printsupport DESTINATION ${CMAKE_INSTALL_PREFIX}/bin)
install(DIRECTORY ${FREECAD_LIBPACK_DIR}/translations/qtwebengine_locales DESTINATION ${CMAKE_INSTALL_PREFIX}/translations)
install(DIRECTORY ${FREECAD_LIBPACK_DIR}/resources DESTINATION ${CMAKE_INSTALL_PREFIX})
if(NOT FREECAD_LIBPACK_VERSION VERSION_GREATER_EQUAL "3.0.0")
install(DIRECTORY ${FREECAD_LIBPACK_DIR}/plugins/printsupport DESTINATION ${CMAKE_INSTALL_PREFIX}/bin)
endif()
if(FREECAD_LIBPACK_VERSION VERSION_GREATER_EQUAL "3.0.0")
install(DIRECTORY ${FREECAD_LIBPACK_DIR}/plugins/tls DESTINATION ${CMAKE_INSTALL_PREFIX}/bin)
endif()
if(FREECAD_LIBPACK_VERSION VERSION_LESS "3.1.0")
install(DIRECTORY ${FREECAD_LIBPACK_DIR}/resources DESTINATION ${CMAKE_INSTALL_PREFIX})
endif()
install(DIRECTORY ${FREECAD_LIBPACK_DIR}/bin DESTINATION ${CMAKE_INSTALL_PREFIX})
install(DIRECTORY ${FREECAD_LIBPACK_DIR}/lib DESTINATION ${CMAKE_INSTALL_PREFIX} FILES_MATCHING PATTERN "*.dll")
if(FREECAD_LIBPACK_VERSION VERSION_GREATER_EQUAL "3.0.0")
# Trailing slashes make sure that cMake extracts the files from the directory, rather than taking the
# directory with it
install(DIRECTORY ${FREECAD_LIBPACK_DIR}/lib/ DESTINATION ${CMAKE_INSTALL_PREFIX}/bin FILES_MATCHING PATTERN "*.dll")
install(DIRECTORY ${FREECAD_LIBPACK_DIR}/bin/Lib/site-packages/shiboken6/ DESTINATION ${CMAKE_INSTALL_PREFIX}/bin FILES_MATCHING PATTERN "shiboken*.dll")
install(DIRECTORY ${FREECAD_LIBPACK_DIR}/bin/Lib/site-packages/PySide6/ DESTINATION ${CMAKE_INSTALL_PREFIX}/bin FILES_MATCHING PATTERN "pyside6*.dll")
endif()
message(STATUS "Created install commands for INSTALL target.\n")
endif()
endmacro()
@@ -4,17 +4,25 @@ macro(FreeCADLibpackChecks)
if(FREECAD_LIBPACK_USE)
# checking for a unique file in LibPack location to make sure the right version of the LibPack is there
find_file(FREECAD_LIBPACK_CHECKFILE_CLBUNDLER MANIFEST.db ${FREECAD_LIBPACK_DIR})
find_file(FREECAD_LIBPACK_CHECKFILE_CLBUNDLER MANIFEST.db PATHS ${FREECAD_LIBPACK_DIR} NO_DEFAULT_PATH NO_CACHE)
find_file(FREECAD_LIBPACK_CHECKFILE_VERSION FREECAD_LIBPACK_VERSION PATHS ${FREECAD_LIBPACK_DIR} NO_DEFAULT_PATH NO_CACHE)
# don't show them in the GUI
set(FREECAD_LIBPACK_CHECKFILE_CLBUNDLER "${FREECAD_LIBPACK_CHECKFILE_CLBUNDLER}" CACHE INTERNAL "Find libpack")
set(FREECAD_LIBPACK_CHECKFILE_VERSION "${FREECAD_LIBPACK_CHECKFILE_VERSION}" CACHE INTERNAL "Find libpack v3+")
if (FREECAD_LIBPACK_CHECKFILE_CLBUNDLER)
set(FREECAD_LIBPACK_VERSION "CLbundler" CACHE STRING "Displays if the libpack has been found" FORCE)
message("Found LibPack v2 (CLBundler) via ${FREECAD_LIBPACK_CHECKFILE_CLBUNDLER}")
include(cMake/UseLibPackCLbundler.cmake)
elseif (FREECAD_LIBPACK_CHECKFILE_VERSION)
file(READ ${FREECAD_LIBPACK_CHECKFILE_VERSION} FREECAD_LIBPACK_VERSION)
set(FREECAD_LIBPACK_VERSION "${FREECAD_LIBPACK_VERSION}" CACHE STRING "Version of the LibPack, if found" FORCE)
message("Found LibPack " ${FREECAD_LIBPACK_VERSION})
include(cMake/UseLibPack3.cmake)
else(FREECAD_LIBPACK_CHECKFILE_CLBUNDLER)
set(FREECAD_LIBPACK_VERSION "NOTFOUND" CACHE STRING "Displays if the libpack has been found" FORCE)
message(SEND_ERROR "Could not find libpack in specified location:" ${FREECAD_LIBPACK_DIR})
message(SEND_ERROR "Could not find LibPack in specified location:" ${FREECAD_LIBPACK_DIR})
endif(FREECAD_LIBPACK_CHECKFILE_CLBUNDLER)
# -------------------------------- PyCXX --------------------------------
@@ -9,11 +9,12 @@ macro(InitializeFreeCADBuildOptions)
option(FREECAD_USE_EXTERNAL_SMESH "Use system installed smesh instead of the bundled." OFF)
option(FREECAD_USE_EXTERNAL_KDL "Use system installed orocos-kdl instead of the bundled." OFF)
option(FREECAD_USE_EXTERNAL_FMT "Use system installed fmt library if available instead of fetching the source." ON)
option(FREECAD_USE_EXTERNAL_ONDSELSOLVER "Use system installed OndselSolver instead of git submodule." OFF)
option(FREECAD_USE_FREETYPE "Builds the features using FreeType libs" ON)
option(FREECAD_BUILD_DEBIAN "Prepare for a build of a Debian package" OFF)
option(BUILD_WITH_CONDA "Set ON if you build FreeCAD with conda" OFF)
option(BUILD_DYNAMIC_LINK_PYTHON "If OFF extension-modules do not link against python-libraries" ON)
option(INSTALL_TO_SITEPACKAGES "If ON the freecad root namespace (python) is installed into python's site-packages" OFF)
option(INSTALL_TO_SITEPACKAGES "If ON the freecad root namespace (python) is installed into python's site-packages" ON)
option(OCCT_CMAKE_FALLBACK "disable usage of occt-config files" OFF)
if (WIN32 OR APPLE)
option(FREECAD_USE_QT_FILEDIALOG "Use Qt's file dialog instead of the native one." OFF)
@@ -54,9 +55,12 @@ macro(InitializeFreeCADBuildOptions)
option(FREECAD_COPY_PLUGINS_BIN_TO_BUILD "Copy plugins to the build directory." OFF)
endif()
else()
message(WARNING Could not locate ${FREECAD_LIBPACK_DIR}/plugins/imageformats/qsvg.dll)
message("Libpack NOT found.\nIf you intend to use a Windows libpack, set the FREECAD_LIBPACK_DIR to the libpack directory.")
message(STATUS "Visit: https://github.com/FreeCAD/FreeCAD-Libpack/releases/ for Windows libpack downloads.")
endif()
elseif(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_COMPILER_IS_CLANGXX)
option(FREECAD_WARN_ERROR "Make all warnings into errors. " OFF)
else(MSVC)
option(FREECAD_LIBPACK_USE "Use the LibPack to Build FreeCAD (only Win32 so far)." OFF)
set(FREECAD_LIBPACK_DIR "" CACHE PATH "Directory of the FreeCAD LibPack")
@@ -103,9 +107,10 @@ macro(InitializeFreeCADBuildOptions)
option(BUILD_SANDBOX "Build the FreeCAD Sandbox module which is only for testing purposes" OFF)
option(BUILD_TEMPLATE "Build the FreeCAD template module which is only for testing purposes" OFF)
option(BUILD_ADDONMGR "Build the FreeCAD addon manager module" ON)
option(BUILD_ARCH "Build the FreeCAD Architecture module" ON)
option(BUILD_BIM "Build the FreeCAD BIM module" ON)
option(BUILD_DRAFT "Build the FreeCAD draft module" ON)
option(BUILD_DRAWING "Build the FreeCAD drawing module" OFF)
option(BUILD_HELP "Build the FreeCAD help module" ON)
option(BUILD_IDF "Build the FreeCAD idf module" ON)
option(BUILD_IMPORT "Build the FreeCAD import module" ON)
option(BUILD_INSPECTION "Build the FreeCAD inspection module" ON)
@@ -117,7 +122,8 @@ macro(InitializeFreeCADBuildOptions)
option(BUILD_OPENSCAD "Build the FreeCAD openscad module" ON)
option(BUILD_PART "Build the FreeCAD part module" ON)
option(BUILD_PART_DESIGN "Build the FreeCAD part design module" ON)
option(BUILD_PATH "Build the FreeCAD path module" ON)
option(BUILD_CAM "Build the FreeCAD CAM module" ON)
option(BUILD_ASSEMBLY "Build the FreeCAD Assembly module" ON)
option(BUILD_PLOT "Build the FreeCAD plot module" ON)
option(BUILD_POINTS "Build the FreeCAD points module" ON)
option(BUILD_REVERSEENGINEERING "Build the FreeCAD reverse engineering module" ON)
@@ -127,26 +133,44 @@ macro(InitializeFreeCADBuildOptions)
option(BUILD_SPREADSHEET "Build the FreeCAD spreadsheet module" ON)
option(BUILD_START "Build the FreeCAD start module" ON)
option(BUILD_TEST "Build the FreeCAD test module" ON)
option(BUILD_MEASURE "Build the FreeCAD Measure module" ON)
option(BUILD_TECHDRAW "Build the FreeCAD Technical Drawing module" ON)
option(BUILD_TUX "Build the FreeCAD Tux module" ON)
option(BUILD_WEB "Build the FreeCAD web module" ON)
option(BUILD_WEB "Build the FreeCAD Web module" ON)
option(BUILD_SURFACE "Build the FreeCAD surface module" ON)
option(BUILD_VR "Build the FreeCAD Oculus Rift support (need Oculus SDK 4.x or higher)" OFF)
option(BUILD_CLOUD "Build the FreeCAD cloud module" OFF)
option(ENABLE_DEVELOPER_TESTS "Build the FreeCAD unit tests suit" ON)
if(MSVC OR APPLE)
set(FREECAD_3DCONNEXION_SUPPORT "NavLib" CACHE STRING "Select version of the 3Dconnexion device integration")
set_property(CACHE FREECAD_3DCONNEXION_SUPPORT PROPERTY STRINGS "None" "NavLib" "Legacy" "Both")
else(MSVC OR APPLE)
option(FREECAD_USE_3DCONNEXION_LEGACY "Enable support for 3Dconnexion devices." ON)
endif(MSVC OR APPLE)
if(FREECAD_3DCONNEXION_SUPPORT STREQUAL "NavLib")
set(FREECAD_USE_3DCONNEXION_NAVLIB ON)
elseif(FREECAD_3DCONNEXION_SUPPORT STREQUAL "Both")
set(FREECAD_USE_3DCONNEXION_NAVLIB ON)
set(FREECAD_USE_3DCONNEXION_LEGACY ON)
elseif(FREECAD_3DCONNEXION_SUPPORT STREQUAL "Legacy")
set(FREECAD_USE_3DCONNEXION_LEGACY ON)
elseif(FREECAD_3DCONNEXION_SUPPORT STREQUAL "None")
set(FREECAD_USE_3DCONNEXION_NAVLIB OFF)
set(FREECAD_USE_3DCONNEXION_LEGACY OFF)
endif()
if(APPLE AND FREECAD_USE_3DCONNEXION_LEGACY)
find_library(3DCONNEXIONCLIENT_FRAMEWORK 3DconnexionClient)
if(NOT (IS_DIRECTORY ${3DCONNEXIONCLIENT_FRAMEWORK}))
set(FREECAD_USE_3DCONNEXION_LEGACY OFF)
endif()
endif()
if(MSVC)
option(BUILD_FEM_NETGEN "Build the FreeCAD FEM module with the NETGEN mesher" ON)
option(FREECAD_USE_PCL "Build the features that use PCL libs" OFF) # 3/5/2021 current LibPack uses non-C++17 FLANN
option(FREECAD_USE_3DCONNEXION "Use the 3D connexion SDK to support 3d mouse." ON)
elseif(APPLE)
find_library(3DCONNEXIONCLIENT_FRAMEWORK 3DconnexionClient)
if(IS_DIRECTORY ${3DCONNEXIONCLIENT_FRAMEWORK})
option(FREECAD_USE_3DCONNEXION "Use the 3D connexion SDK to support 3d mouse." ON)
else(IS_DIRECTORY ${3DCONNEXIONCLIENT_FRAMEWORK})
option(FREECAD_USE_3DCONNEXION "Use the 3D connexion SDK to support 3d mouse." OFF)
endif(IS_DIRECTORY ${3DCONNEXIONCLIENT_FRAMEWORK})
else(MSVC)
set(FREECAD_USE_3DCONNEXION OFF )
endif(MSVC)
if(NOT MSVC)
option(BUILD_FEM_NETGEN "Build the FreeCAD FEM module with the NETGEN mesher" OFF)
@@ -164,10 +188,10 @@ macro(InitializeFreeCADBuildOptions)
set(BUILD_SMESH ON )
endif()
# for Windows the minimum required cmake version is 3.4.3 to build the Path module
# for Windows the minimum required cmake version is 3.4.3 to build the CAM module
if(WIN32 AND CMAKE_VERSION VERSION_LESS 3.4.3)
message(WARNING "Disable Path, requires cmake >= 3.4.3 in order to build this module")
set(BUILD_PATH OFF )
message(WARNING "Disable CAM, requires cmake >= 3.4.3 in order to build this module")
set(BUILD_CAM OFF )
endif()
# force build directory to be different to source directory
+44 -7
View File
@@ -76,7 +76,7 @@ macro(PrintFinalReport)
value(CMAKE_CXX_STANDARD)
value(CMAKE_CXX_FLAGS)
value(CMAKE_BUILD_TYPE)
value(BUILD_TEST)
value(ENABLE_DEVELOPER_TESTS)
value(FREECAD_USE_FREETYPE)
value(FREECAD_USE_EXTERNAL_SMESH)
value(BUILD_SMESH)
@@ -88,11 +88,41 @@ macro(PrintFinalReport)
value(FREECAD_CREATE_MAC_APP)
value(FREECAD_USE_PYBIND11)
value(FREECAD_USE_EXTERNAL_KDL)
value(BUILD_ADDONMGR)
value(BUILD_BIM)
value(BUILD_ASSEMBLY)
value(BUILD_CLOUD)
value(BUILD_DRAFT)
value(BUILD_DRAWING)
value(BUILD_FEM)
value(BUILD_WEB)
value(BUILD_GUI)
value(BUILD_HELP)
value(BUILD_IDF)
value(BUILD_IMPORT)
value(BUILD_INSPECTION)
value(BUILD_JTREADER)
value(BUILD_MATERIAL)
value(BUILD_MESH)
value(BUILD_MESH_PART)
value(BUILD_OPENSCAD)
value(BUILD_PART)
value(BUILD_PART_DESIGN)
value(BUILD_CAM)
value(BUILD_PLOT)
value(BUILD_POINTS)
value(BUILD_REVERSEENGINEERING)
value(BUILD_ROBOT)
value(BUILD_SANDBOX)
value(BUILD_SHOW)
value(BUILD_SKETCHER)
value(BUILD_SPREADSHEET)
value(BUILD_START)
value(BUILD_SURFACE)
value(BUILD_MEASURE)
value(BUILD_TECHDRAW)
value(BUILD_TEST)
value(BUILD_TUX)
value(BUILD_WEB)
value(CMAKE_INSTALL_PREFIX)
value(USE_CUDA)
value(USE_OPENCV)
@@ -139,14 +169,12 @@ macro(PrintFinalReport)
conditional(QtUiTools BUILD_GUI "not needed" ${QtUiTools_VERSION})
conditional(QtWidgets BUILD_GUI "not needed" ${QtWidgets_VERSION})
simple(QtXml ${QtXml_VERSION})
conditional(QtTest ENABLE_DEVELOPER_TESTS "not needed" ${QtTest_VERSION})
if (BUILD_GUI)
conditional(QtWebEngineWidgets BUILD_WEB "not needed (BUILD_WEB is OFF)" ${QtWebEngineWidgets_VERSION})
conditional(DesignerPlugin BUILD_DESIGNER_PLUGIN
"not built (BUILD_DESIGNER_PLUGIN is OFF)"
"[${DESIGNER_PLUGIN_LOCATION}/${libFreeCAD_widgets}]"
)
else()
simple(QtWebKitWidgets "not needed")
endif()
conditional(Shiboken Shiboken${SHIBOKEN_MAJOR_VERSION}_FOUND "not found" "${Shiboken_VERSION} [${SHIBOKEN_INCLUDE_DIR}]")
conditional(PySide PySide${PYSIDE_MAJOR_VERSION}_FOUND "not found" "${PySide_VERSION} [${PYSIDE_INCLUDE_DIR}]")
@@ -164,8 +192,16 @@ macro(PrintFinalReport)
simple(OpenGLU_Incl [${OPENGL_INCLUDE_DIR}])
simple(Coin3D "${COIN3D_VERSION} [${COIN3D_LIBRARIES}] [${COIN3D_INCLUDE_DIRS}]")
simple(pivy ${PIVY_VERSION})
if (WIN32)
#simple(SPNAV "not available yet for your OS") # FREECAD_USE_3DCONNEXION instead...
if(WIN32 OR APPLE)
if(FREECAD_USE_3DCONNEXION_LEGACY AND FREECAD_USE_3DCONNEXION_NAVLIB)
simple(3Dconnexion "Building with 3Dconnexion legacy and NavLib support")
elseif(FREECAD_USE_3DCONNEXION_LEGACY)
simple(3Dconnexion "Building with 3Dconnexion legacy support")
elseif(FREECAD_USE_3DCONNEXION_NAVLIB)
simple(3Dconnexion "Building with 3Dconnexion NavLib support")
else()
simple(3Dconnexion "Not building 3Dconnexion device support")
endif()
else()
conditional(SPNAV SPNAV_FOUND "not found" "[${SPNAV_LIBRARY}] [${SPNAV_INCLUDE_DIR}]")
endif()
@@ -179,6 +215,7 @@ macro(PrintFinalReport)
conditional(Coin3D_DOC COIN3D_DOC_FOUND "not found" ${COIN3D_DOC_PATH})
conditional(PYCXX PYCXX_FOUND "not found" "${PYCXX_VERSION} Incl: ${PYCXX_INCLUDE_DIR} Src:${PYCXX_SOURCE_DIR}")
conditional(fmt fmt_FOUND "Sources downloaded to ${fmt_SOURCE_DIR}" "${fmt_VERSION}")
conditional(yaml-cpp yaml-cpp_FOUND "not found" "${yaml-cpp_VERSION}")
section_end()
@@ -21,8 +21,9 @@ macro(SetGlobalCompilerAndLinkerSettings)
if(MSVC)
# set default compiler settings
set (CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /Zm150 /bigobj")
set (CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DFC_DEBUG /Zm150 /bigobj")
add_definitions(-D_DISABLE_CONSTEXPR_MUTEX_CONSTRUCTOR -DNOMINMAX)
add_compile_options(/Zm150 /bigobj)
set (CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DFC_DEBUG")
# set default libs
set (CMAKE_C_STANDARD_LIBRARIES "kernel32.lib user32.lib gdi32.lib winspool.lib SHFolder.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib winmm.lib comsupp.lib Ws2_32.lib dbghelp.lib ")
set (CMAKE_CXX_STANDARD_LIBRARIES "${CMAKE_C_STANDARD_LIBRARIES}")
@@ -33,17 +34,24 @@ macro(SetGlobalCompilerAndLinkerSettings)
if(FREECAD_RELEASE_PDB)
set (CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /Zi")
set (CMAKE_SHARED_LINKER_FLAGS_RELEASE "${CMAKE_SHARED_LINKER_FLAGS_RELEASE} /DEBUG")
set (CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} /DEBUG")
endif(FREECAD_RELEASE_PDB)
if(FREECAD_RELEASE_SEH)
# remove /EHsc or /EHs flags because they are incompatible with /EHa
if (${CMAKE_BUILD_TYPE} MATCHES "Release")
string(REPLACE "/EHsc" "" CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS})
string(REPLACE "/EHs" "" CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS})
string(REPLACE "/EHsc" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
string(REPLACE "/EHs" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
set (CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /EHa")
endif()
endif(FREECAD_RELEASE_SEH)
option(FREECAD_USE_MP_COMPILE_FLAG "Add /MP flag to the compiler definitions. Speeds up the compile on multi processor machines" ON)
if(CCACHE_PROGRAM)
# By default Visual Studio generators will use /Zi which is not compatible
# with ccache, so tell Visual Studio to use /Z7 instead.
string(REGEX REPLACE "/Z[iI]" "/Z7" CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG}")
string(REGEX REPLACE "/Z[iI]" "/Z7" CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO}")
string(REGEX REPLACE "/Z[iI]" "/Z7" CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE}")
endif(CCACHE_PROGRAM)
option(FREECAD_USE_MP_COMPILE_FLAG "Add /MP flag to the compiler definitions. Speeds up the compile on multi processor machines" ON)
if(FREECAD_USE_MP_COMPILE_FLAG)
# set "Build with Multiple Processes"
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /MP")
@@ -83,4 +91,5 @@ macro(SetGlobalCompilerAndLinkerSettings)
link_libraries(-lgdi32)
endif()
endif(MINGW)
endmacro(SetGlobalCompilerAndLinkerSettings)
+28 -23
View File
@@ -1,5 +1,5 @@
macro(SetupCoin3D)
# -------------------------------- Coin3D --------------------------------
# -------------------------------- Coin3D --------------------------------
if (WIN32 AND MINGW)
find_path(COIN3D_INCLUDE_DIRS Inventor/So.h)
@@ -8,32 +8,37 @@ macro(SetupCoin3D)
# Try MODULE mode
find_package(Coin3D)
if(NOT COIN3D_FOUND)
if (NOT COIN3D_FOUND)
# Try CONFIG mode
find_package(Coin CONFIG REQUIRED)
if (Coin_FOUND)
set (COIN3D_INCLUDE_DIRS ${Coin_INCLUDE_DIR})
set (COIN3D_LIBRARIES ${Coin_LIBRARIES})
else()
message(FATAL_ERROR "=================\n"
"Coin3D not found.\n"
"=================\n")
endif()
endif(NOT COIN3D_FOUND)
set(COIN3D_INCLUDE_DIRS ${Coin_INCLUDE_DIR})
set(COIN3D_LIBRARIES ${Coin_LIBRARIES})
endif ()
ENDIF ()
IF(NOT COIN3D_VERSION)
file(READ "${COIN3D_INCLUDE_DIRS}/Inventor/C/basic.h" _coin3d_basic_h)
string(REGEX MATCH "define[ \t]+COIN_MAJOR_VERSION[ \t]+([0-9?])" _coin3d_major_version_match "${_coin3d_basic_h}")
set(COIN3D_MAJOR_VERSION "${CMAKE_MATCH_1}")
string(REGEX MATCH "define[ \t]+COIN_MINOR_VERSION[ \t]+([0-9?])" _coin3d_minor_version_match "${_coin3d_basic_h}")
set(COIN3D_MINOR_VERSION "${CMAKE_MATCH_1}")
string(REGEX MATCH "define[ \t]+COIN_MICRO_VERSION[ \t]+([0-9?])" _coin3d_micro_version_match "${_coin3d_basic_h}")
set(COIN3D_MICRO_VERSION "${CMAKE_MATCH_1}")
set(COIN3D_VERSION "${COIN3D_MAJOR_VERSION}.${COIN3D_MINOR_VERSION}.${COIN3D_MICRO_VERSION}")
ENDIF()
IF (NOT COIN3D_VERSION)
file(READ "${COIN3D_INCLUDE_DIRS}/Inventor/C/basic.h" _coin3d_basic_h)
string(REGEX MATCH "define[ \t]+COIN_MAJOR_VERSION[ \t]+([0-9?])" _coin3d_major_version_match "${_coin3d_basic_h}")
set(COIN3D_MAJOR_VERSION "${CMAKE_MATCH_1}")
string(REGEX MATCH "define[ \t]+COIN_MINOR_VERSION[ \t]+([0-9?])" _coin3d_minor_version_match "${_coin3d_basic_h}")
set(COIN3D_MINOR_VERSION "${CMAKE_MATCH_1}")
string(REGEX MATCH "define[ \t]+COIN_MICRO_VERSION[ \t]+([0-9?])" _coin3d_micro_version_match "${_coin3d_basic_h}")
set(COIN3D_MICRO_VERSION "${CMAKE_MATCH_1}")
set(COIN3D_VERSION "${COIN3D_MAJOR_VERSION}.${COIN3D_MINOR_VERSION}.${COIN3D_MICRO_VERSION}")
ENDIF ()
IF(NOT PIVY_VERSION)
execute_process (COMMAND ${Python3_EXECUTABLE} -c "import pivy as p; print(p.__version__,end='')" OUTPUT_VARIABLE PIVY_VERSION)
ENDIF()
IF (NOT PIVY_VERSION)
message(STATUS "Checking Pivy version by importing it in a Python program...")
execute_process(
COMMAND ${Python3_EXECUTABLE} -c "import pivy as p; print(p.__version__,end='')"
OUTPUT_VARIABLE PIVY_VERSION
RESULT_VARIABLE RETURN_CODE)
if (RETURN_CODE EQUAL 0)
message(STATUS "Found Pivy ${PIVY_VERSION}")
else ()
message(ERROR "Failed to import Pivy using ${Python3_EXECUTABLE}")
endif ()
ENDIF ()
endmacro(SetupCoin3D)
@@ -0,0 +1,4 @@
macro(SetupOndselSolverCpp)
# -------------------------------- OndselSolver --------------------------------
find_package(OndselSolver REQUIRED)
endmacro(SetupOndselSolverCpp)
+4
View File
@@ -0,0 +1,4 @@
macro(SetupYamlCpp)
# -------------------------------- YamlCpp --------------------------------
find_package(yaml-cpp REQUIRED)
endmacro(SetupYamlCpp)
+19 -11
View File
@@ -1,29 +1,28 @@
# -------------------------------- Qt --------------------------------
set(FREECAD_QT_COMPONENTS Core Concurrent Network Xml)
if (FREECAD_QT_MAJOR_VERSION EQUAL 5)
list (APPEND FREECAD_QT_COMPONENTS XmlPatterns)
elseif (FREECAD_QT_MAJOR_VERSION EQUAL 6)
if (FREECAD_QT_MAJOR_VERSION EQUAL 6)
set (Qt6Core_MOC_EXECUTABLE Qt6::moc)
endif()
if(BUILD_GUI)
if (FREECAD_QT_MAJOR_VERSION EQUAL 6)
list (APPEND FREECAD_QT_COMPONENTS GuiTools)
list (APPEND FREECAD_QT_COMPONENTS SvgWidgets)
elseif (FREECAD_QT_MAJOR_VERSION EQUAL 5)
if (FREECAD_QT_MAJOR_VERSION EQUAL 5)
if (WIN32)
list (APPEND FREECAD_QT_COMPONENTS WinExtras)
endif()
elseif (FREECAD_QT_MAJOR_VERSION EQUAL 6)
list (APPEND FREECAD_QT_COMPONENTS GuiTools)
list (APPEND FREECAD_QT_COMPONENTS SvgWidgets)
endif()
list (APPEND FREECAD_QT_COMPONENTS OpenGL PrintSupport Svg UiTools Widgets LinguistTools)
if (BUILD_WEB)
list (APPEND FREECAD_QT_COMPONENTS WebEngineWidgets)
endif()
if(BUILD_DESIGNER_PLUGIN)
list (APPEND FREECAD_QT_COMPONENTS Designer)
endif()
endif()
if (BUILD_TEST)
if (ENABLE_DEVELOPER_TESTS)
list (APPEND FREECAD_QT_COMPONENTS Test)
endif ()
@@ -34,6 +33,7 @@ foreach(COMPONENT IN LISTS FREECAD_QT_COMPONENTS)
set(Qt${COMPONENT}_FOUND ${Qt${FREECAD_QT_MAJOR_VERSION}${COMPONENT}_FOUND})
set(Qt${COMPONENT}_VERSION ${Qt${FREECAD_QT_MAJOR_VERSION}${COMPONENT}_VERSION})
endforeach()
set(CMAKE_AUTOMOC TRUE)
set(CMAKE_AUTOUIC TRUE)
set(QtCore_MOC_EXECUTABLE ${Qt${FREECAD_QT_MAJOR_VERSION}Core_MOC_EXECUTABLE})
@@ -69,8 +69,16 @@ if (Qt${FREECAD_QT_MAJOR_VERSION}Core_VERSION VERSION_LESS 5.15.0)
qt5_add_translation("${_qm_files}" ${ARGN})
set("${_qm_files}" "${${_qm_files}}" PARENT_SCOPE)
endfunction()
# Since Qt 5.15 Q_DISABLE_COPY_MOVE is defined
set (HAVE_Q_DISABLE_COPY_MOVE 0)
else()
# Since Qt 5.15 Q_DISABLE_COPY_MOVE is defined
set (HAVE_Q_DISABLE_COPY_MOVE 1)
endif()
configure_file(${CMAKE_SOURCE_DIR}/src/QtCore.h.cmake ${CMAKE_BINARY_DIR}/src/QtCore.h)
function(qt_find_and_add_translation _qm_files _tr_dir _qm_dir)
file(GLOB _ts_files ${_tr_dir})
set_source_files_properties(${_ts_files} PROPERTIES OUTPUT_LOCATION ${_qm_dir})
+8 -2
View File
@@ -26,7 +26,13 @@ macro(SetupSalomeSMESH)
# check which modules are available
if(UNIX OR WIN32)
find_package(VTK COMPONENTS vtkCommonCore REQUIRED NO_MODULE)
# Module names changed between 8 and 9, so do a QUIET find for 9 and its module name first, and fall back
# to v7 minimum with the old component name if it is not found.
find_package(VTK 9 COMPONENTS CommonCore QUIET NO_MODULE)
if(NOT VTK_FOUND)
message(STATUS "Did not find VTK 9, trying for an older version")
find_package(VTK COMPONENTS vtkCommonCore REQUIRED NO_MODULE)
endif()
if(${VTK_MAJOR_VERSION} LESS 9)
list(APPEND VTK_COMPONENTS vtkIOMPIParallel vtkParallelMPI vtkhdf5 vtkFiltersParallelDIY2 vtkRenderingCore vtkInteractionStyle vtkRenderingFreeType vtkRenderingOpenGL2)
foreach(_module ${VTK_COMPONENTS})
@@ -75,7 +81,7 @@ macro(SetupSalomeSMESH)
if(NOT FREECAD_USE_EXTERNAL_SMESH)
find_package(MEDFile REQUIRED)
# See https://www.hdfgroup.org/HDF5/release/cmakebuild.html
if (WIN32)
if (MSVC)
find_package(HDF5 COMPONENTS NO_MODULE REQUIRED static)
else()
find_package(PkgConfig)
@@ -1,6 +1,9 @@
macro(SetupShibokenAndPyside)
# -------------------------------- Shiboken/PySide ------------------------
option(FREECAD_USE_SHIBOKEN "Links to the shiboken library at build time. If OFF its Python module is imported at runtime" ON)
option(FREECAD_USE_PYSIDE "Links to the PySide libraries at build time." ON)
if(DEFINED MACPORTS_PREFIX)
find_package(Shiboken REQUIRED HINTS "${PYTHON_LIBRARY_DIR}/cmake")
find_package(PySide REQUIRED HINTS "${PYTHON_LIBRARY_DIR}/cmake")
@@ -34,6 +37,10 @@ macro(SetupShibokenAndPyside)
message(STATUS "PYTHON_CONFIG_SUFFIX: ${PYTHON_CONFIG_SUFFIX}")
find_package(Shiboken${SHIBOKEN_MAJOR_VERSION} QUIET)
endif()
if(TARGET Shiboken6::libshiboken AND SHIBOKEN_MAJOR_VERSION EQUAL 6)
set_target_properties(Shiboken6::libshiboken PROPERTIES INTERFACE_COMPILE_DEFINITIONS "NDEBUG")
endif()
endif()
# pyside2 changed its cmake files, this is the dance we have
@@ -45,9 +52,8 @@ macro(SetupShibokenAndPyside)
if(NOT SHIBOKEN_INCLUDE_DIR)
find_pip_package(Shiboken${SHIBOKEN_MAJOR_VERSION})
if (Shiboken${SHIBOKEN_MAJOR_VERSION}_FOUND)
set(Shiboken_INCLUDE_DIR ${Shiboken${SHIBOKEN_MAJOR_VERSION}_INCLUDE_DIRS})
set(Shiboken_LIBRARY ${Shiboken${SHIBOKEN_MAJOR_VERSION}_LIBRARIES})
set(Shiboken_FOUND TRUE)
set(SHIBOKEN_INCLUDE_DIR ${Shiboken${SHIBOKEN_MAJOR_VERSION}_INCLUDE_DIRS})
set(SHIBOKEN_LIBRARY ${Shiboken${SHIBOKEN_MAJOR_VERSION}_LIBRARIES})
endif()
endif()
@@ -60,9 +66,8 @@ macro(SetupShibokenAndPyside)
if(NOT PYSIDE_INCLUDE_DIR)
find_pip_package(PySide${PYSIDE_MAJOR_VERSION})
if (PySide${PYSIDE_MAJOR_VERSION}_FOUND)
set(PySide_INCLUDE_DIR ${PySide${PYSIDE_MAJOR_VERSION}_INCLUDE_DIRS})
set(PySide_LIBRARY ${PySide${PYSIDE_MAJOR_VERSION}_LIBRARIES})
set(PySide_FOUND TRUE)
set(PYSIDE_INCLUDE_DIR ${PySide${PYSIDE_MAJOR_VERSION}_INCLUDE_DIRS})
set(PYSIDE_LIBRARY ${PySide${PYSIDE_MAJOR_VERSION}_LIBRARIES})
endif()
endif()
@@ -89,10 +94,13 @@ macro(SetupShibokenAndPyside)
file(WRITE ${CMAKE_BINARY_DIR}/Ext/PySide/QtUiTools.py "from PySide${PYSIDE_MAJOR_VERSION}.QtUiTools import *\n")
file(WRITE ${CMAKE_BINARY_DIR}/Ext/PySide/QtWidgets.py "from PySide${PYSIDE_MAJOR_VERSION}.QtWidgets import *\n")
if(PYSIDE_MAJOR_VERSION LESS 6)
file(WRITE ${CMAKE_BINARY_DIR}/Ext/PySide/QtSvgWidgets.py "from PySide${PYSIDE_MAJOR_VERSION}.QtSvg import QGraphicsSvgItem\n"
"from PySide${PYSIDE_MAJOR_VERSION}.QtSvg import QSvgWidget\n")
file(WRITE ${CMAKE_BINARY_DIR}/Ext/PySide/QtWebEngineWidgets.py "from PySide${PYSIDE_MAJOR_VERSION}.QtWebEngineWidgets import *\n")
else()
file(WRITE ${CMAKE_BINARY_DIR}/Ext/PySide/QtSvgWidgets.py "from PySide${PYSIDE_MAJOR_VERSION}.QtSvgWidgets import *\n")
file(WRITE ${CMAKE_BINARY_DIR}/Ext/PySide/QtWebEngineWidgets.py "from PySide${PYSIDE_MAJOR_VERSION}.QtWebEngineWidgets import *\n"
"from PySide${PYSIDE_MAJOR_VERSION}.QtWebEngineCore import QWebEnginePage\n")
"from PySide${PYSIDE_MAJOR_VERSION}.QtWebEngineCore import QWebEnginePage\n")
endif()
endif()
@@ -113,11 +121,9 @@ macro(SetupShibokenAndPyside)
endif()
# If shiboken cannot be found the build option will be set to OFF
if(SHIBOKEN_INCLUDE_DIR)
option(FREECAD_USE_SHIBOKEN "Links to the shiboken library at build time. If OFF its Python module is imported at runtime" ON)
else()
if(NOT SHIBOKEN_INCLUDE_DIR)
message(WARNING "Shiboken${PYSIDE_MAJOR_VERSION} include files not found, FREECAD_USE_SHIBOKEN automatically set to OFF")
option(FREECAD_USE_SHIBOKEN "Links to the shiboken library at build time. If OFF its Python module is imported at runtime" OFF)
set(FREECAD_USE_SHIBOKEN OFF)
endif()
# Now try to import the shiboken Python module and print a warning if it can't be loaded
@@ -141,11 +147,9 @@ macro(SetupShibokenAndPyside)
endif()
# If PySide cannot be found the build option will be set to OFF
if(PYSIDE_INCLUDE_DIR)
option(FREECAD_USE_PYSIDE "Links to the PySide libraries at build time." ON)
else()
if(NOT PYSIDE_INCLUDE_DIR)
message(WARNING "PySide${PYSIDE_MAJOR_VERSION} include files not found, FREECAD_USE_PYSIDE automatically set to OFF")
option(FREECAD_USE_PYSIDE "Links to the PySide libraries at build time." OFF)
set(FREECAD_USE_PYSIDE OFF)
endif()
# Independent of the build option PySide modules must be loaded at runtime. Print a warning if it fails.
@@ -170,35 +174,6 @@ macro(SetupShibokenAndPyside)
endmacro(SetupShibokenAndPyside)
# Locate the include directory for a pip-installed package -- uses pip show to find the base pip
# install directory, and then appends the package name and "/include" to the end
macro(find_pip_package PACKAGE)
execute_process(
COMMAND ${PYTHON_EXECUTABLE} -m pip show ${PACKAGE}
RESULT_VARIABLE FAILURE
OUTPUT_VARIABLE PRINT_OUTPUT
)
if(NOT FAILURE)
# Extract Name: and Location: lines and use them to construct the include directory
string(REPLACE "\n" ";" PIP_OUTPUT_LINES ${PRINT_OUTPUT})
foreach(LINE IN LISTS PIP_OUTPUT_LINES)
STRING(FIND "${LINE}" "Name: " NAME_STRING_LOCATION)
STRING(FIND "${LINE}" "Location: " LOCATION_STRING_LOCATION)
if(${NAME_STRING_LOCATION} EQUAL 0)
STRING(SUBSTRING "${LINE}" 6 -1 PIP_PACKAGE_NAME)
elseif(${LOCATION_STRING_LOCATION} EQUAL 0)
STRING(SUBSTRING "${LINE}" 9 -1 PIP_PACKAGE_LOCATION)
endif()
endforeach()
file(TO_NATIVE_PATH "${PIP_PACKAGE_LOCATION}/${PIP_PACKAGE_NAME}/include" INCLUDE_DIR)
file(TO_NATIVE_PATH "${PIP_PACKAGE_LOCATION}/${PIP_PACKAGE_NAME}/lib" LIBRARY)
set(${PACKAGE}_INCLUDE_DIRS ${INCLUDE_DIR} PARENT_SCOPE)
set(${PACKAGE}_LIBRARIES ${LIBRARY} PARENT_SCOPE)
set(${PACKAGE}_FOUND ${LIBRARY} TRUE)
message(STATUS "Found pip-installed ${PACKAGE} in ${PIP_PACKAGE_LOCATION}/${PIP_PACKAGE_NAME}")
endif()
endmacro()
# Macros similar to FindQt4.cmake's WRAP_UI and WRAP_RC, for the automatic generation of Python
# code from Qt4's user interface ('.ui') and resource ('.qrc') files. These macros are called:
@@ -254,7 +229,9 @@ MACRO(PYSIDE_WRAP_RC outfiles)
# we follow the tool command with in-place sed.
ADD_CUSTOM_COMMAND(OUTPUT "${outfile}"
COMMAND "${PYSIDE_RCC_EXECUTABLE}" ${RCCOPTIONS} "${infile}" ${PY_ATTRIBUTE} -o "${outfile}"
COMMAND sed "/^# /d" "${outfile}" >"${outfile}.tmp" && mv "${outfile}.tmp" "${outfile}"
# The line below sometimes catches unwanted lines too - but there is no date in the file
# anymore with Qt5 RCC, so commenting it out for now...
#COMMAND sed "/^# /d" "${outfile}" >"${outfile}.tmp" && mv "${outfile}.tmp" "${outfile}"
MAIN_DEPENDENCY "${infile}"
)
endif()
+55
View File
@@ -268,3 +268,58 @@ MACRO(SET_PYTHON_PREFIX_SUFFIX ProjectName)
set_target_properties(${ProjectName} PROPERTIES SUFFIX ".so")
endif(WIN32)
ENDMACRO(SET_PYTHON_PREFIX_SUFFIX)
# Locate the include directory for a pip-installed package -- uses pip show to find the base pip
# install directory, and then appends the package name and "/include" to the end
macro(find_pip_package PACKAGE)
execute_process(
COMMAND ${PYTHON_EXECUTABLE} -m pip show ${PACKAGE}
RESULT_VARIABLE FAILURE
OUTPUT_VARIABLE PRINT_OUTPUT
)
if(NOT FAILURE)
# Extract Name: and Location: lines and use them to construct the include directory
string(REPLACE "\n" ";" PIP_OUTPUT_LINES ${PRINT_OUTPUT})
foreach(LINE IN LISTS PIP_OUTPUT_LINES)
STRING(FIND "${LINE}" "Name: " NAME_STRING_LOCATION)
STRING(FIND "${LINE}" "Location: " LOCATION_STRING_LOCATION)
if(${NAME_STRING_LOCATION} EQUAL 0)
STRING(SUBSTRING "${LINE}" 6 -1 PIP_PACKAGE_NAME)
STRING(STRIP "${PIP_PACKAGE_NAME}" PIP_PACKAGE_NAME)
STRING(REPLACE "-" "_" PIP_PACKAGE_NAME "${PIP_PACKAGE_NAME}")
elseif(${LOCATION_STRING_LOCATION} EQUAL 0)
STRING(SUBSTRING "${LINE}" 9 -1 PIP_PACKAGE_LOCATION)
STRING(STRIP "${PIP_PACKAGE_LOCATION}" PIP_PACKAGE_LOCATION)
endif()
endforeach()
file(TO_CMAKE_PATH "${PIP_PACKAGE_LOCATION}" PIP_PACKAGE_LOCATION)
if(EXISTS "${PIP_PACKAGE_LOCATION}/${PIP_PACKAGE_NAME}/include")
set(INCLUDE_DIR "${PIP_PACKAGE_LOCATION}/${PIP_PACKAGE_NAME}/include")
endif()
# There are many different library naming schemes, but basically we are looking for things that look like
# PACKAGE*.lib/so or PACKAGE_d*.lib/so
if(WIN32)
file(GLOB OPT_LIBRARIES "${PIP_PACKAGE_LOCATION}/${PIP_PACKAGE_NAME}/${PIP_PACKAGE_NAME}.*.lib")
file(GLOB DEBUG_LIBRARIES "${PIP_PACKAGE_LOCATION}/${PIP_PACKAGE_NAME}/${PIP_PACKAGE_NAME}_d.*.lib")
else()
string(TOLOWER ${PIP_PACKAGE_NAME} PIP_LIB_NAME)
file(GLOB OPT_LIBRARIES "${PIP_PACKAGE_LOCATION}/${PIP_PACKAGE_NAME}/*${PIP_LIB_NAME}*.so.*")
endif()
if (OPT_LIBRARIES AND DEBUG_LIBRARIES)
set(${PACKAGE}_LIBRARIES optimized ${OPT_LIBRARIES} debug ${DEBUG_LIBRARIES} CACHE PATH "")
elseif(OPT_LIBRARIES)
set(${PACKAGE}_LIBRARIES ${OPT_LIBRARIES} CACHE PATH "")
elseif(DEBUG_LIBRARIES)
set(${PACKAGE}_LIBRARIES ${DEBUG_LIBRARIES} CACHE PATH "")
endif()
set(${PACKAGE}_INCLUDE_DIRS ${INCLUDE_DIR} CACHE PATH "")
set(${PACKAGE}_FOUND ON CACHE BOOL OFF)
message(STATUS "Found pip-installed ${PACKAGE} in ${PIP_PACKAGE_LOCATION}/${PIP_PACKAGE_NAME}")
endif()
endmacro()
function(target_compile_warn_error ProjectName)
if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_COMPILER_IS_CLANGXX)
target_compile_options(${ProjectName} PRIVATE -Werror)
endif()
endfunction()
+44
View File
@@ -0,0 +1,44 @@
set(ENV{PATH} "${FREECAD_LIBPACK_DIR};$ENV{PATH}")
list(PREPEND CMAKE_PREFIX_PATH "${FREECAD_LIBPACK_DIR}")
set (Python3_EXECUTABLE ${FREECAD_LIBPACK_DIR}/bin/python.exe)
find_package(Python3 COMPONENTS Interpreter Development REQUIRED)
# Make sure we are using the shared versions of Boost here: the LibPack includes both
set(Boost_USE_STATIC_LIBS OFF)
find_package(Boost COMPONENTS filesystem program_options regex system thread date_time REQUIRED PATHS ${FREECAD_LIBPACK_DIR}/lib/cmake NO_DEFAULT_PATH)
set(OCE_DIR ${FREECAD_LIBPACK_DIR}/lib/cmake CACHE PATH "" FORCE)
set(SWIG_EXECUTABLE ${FREECAD_LIBPACK_DIR}/bin/swig.exe CACHE FILEPATH "Swig" FORCE)
find_package(Qt6 REQUIRED PATHS ${FREECAD_LIBPACK_DIR}/lib/cmake NO_DEFAULT_PATH)
message(STATUS "Found LibPack 3 Qt ${Qt6_VERSION}")
if(FREECAD_LIBPACK_VERSION VERSION_GREATER_EQUAL "3.1.0")
find_package(pybind11 REQUIRED PATHS ${FREECAD_LIBPACK_DIR}/share/cmake/pybind11 NO_DEFAULT_PATH)
message(STATUS "Found LibPack 3 pybind11 ${pybind11_VERSION}")
set(FREECAD_USE_PYBIND11 ON)
endif()
find_package(XercesC REQUIRED PATHS ${FREECAD_LIBPACK_DIR}/cmake NO_DEFAULT_PATH)
message(STATUS "Found LibPack 3 XercesC ${XercesC_VERSION}")
find_package(yaml-cpp REQUIRED PATHS ${FREECAD_LIBPACK_DIR}/lib/cmake NO_DEFAULT_PATH)
message(STATUS "Found LibPack 3 yaml-cpp ${XercesC_VERSION}")
find_package(Coin REQUIRED PATHS ${FREECAD_LIBPACK_DIR}/lib/cmake NO_DEFAULT_PATH)
message(STATUS "Found LibPack 3 Coin ${Coin_VERSION}")
# For compatibility with the rest of the cMake scripts:
set (COIN3D_FOUND TRUE)
set (NETGENDATA ${FREECAD_LIBPACK_DIR}/include/netgen)
if (FREECAD_USE_FREETYPE)
find_package(freetype REQUIRED PATHS ${FREECAD_LIBPACK_DIR}/lib/cmake NO_DEFAULT_PATH)
message(STATUS "Found LibPack 3 Freetype ${freetype_VERSION} library from ${freetype_LIBRARY}")
endif (FREECAD_USE_FREETYPE)
set (HDF5_DIR ${FREECAD_LIBPACK_DIR}/share/cmake)
link_directories (${FREECAD_LIBPACK_DIR}/lib)
-1
View File
@@ -39,7 +39,6 @@ set (Qt5UiPlugin_DIR ${Qt5_ROOT_DIR}/lib/cmake/Qt5UiPlugin CACHE PATH "")
set (Qt5UiTools_DIR ${Qt5_ROOT_DIR}/lib/cmake/Qt5UiTools CACHE PATH "")
set (Qt5Widgets_DIR ${Qt5_ROOT_DIR}/lib/cmake/Qt5Widgets CACHE PATH "")
set (Qt5Xml_DIR ${Qt5_ROOT_DIR}/lib/cmake/Qt5Xml CACHE PATH "")
set (Qt5XmlPatterns_DIR ${Qt5_ROOT_DIR}/lib/cmake/Qt5XmlPatterns CACHE PATH "")
find_library(XercesC_LIBRARY_RELEASE xerces-c_3 "${FREECAD_LIBPACK_DIR}/lib")
find_library(XercesC_LIBRARY_DEBUG xerces-c_3D "${FREECAD_LIBPACK_DIR}/lib")
+1
View File
@@ -0,0 +1 @@
mamba run --live-stream -n freecad cmake %*
Executable
+3
View File
@@ -0,0 +1,3 @@
#!/bin/sh
mamba run --live-stream -n freecad cmake $@
+9
View File
@@ -0,0 +1,9 @@
name: freecad
channels:
- conda-forge
dependencies:
- conda-forge/noarch::conda-libmamba-solver==24.7.0
- conda-devenv
- mamba
- python==3.12.*
- zstd
+4
View File
@@ -2,4 +2,8 @@ name: freecad
channels:
- conda-forge
dependencies:
- conda-forge/noarch::conda-libmamba-solver==24.7.0
- conda-devenv
- mamba
- python==3.11.*
- zstd==1.5.6
+100
View File
@@ -0,0 +1,100 @@
name: freecad
channels:
- conda-forge
- conda-forge/label/pivy_rc
dependencies:
- conda-forge/noarch::conda-libmamba-solver==24.7.0
- libspnav # [linux]
- kernel-headers_linux-64 # [linux and x86_64]
- libdrm-cos7-x86_64 # [linux and x86_64]
- libselinux-cos7-x86_64 # [linux and x86_64]
- libsepol-cos7-x86_64 # [linux and x86_64]
- libx11-common-cos7-x86_64 # [linux and x86_64]
- libx11-cos7-x86_64 # [linux and x86_64]
- libxau-cos7-x86_64 # [linux and x86_64]
- libxcb-cos7-x86_64 # [linux and x86_64]
- libxdamage-cos7-x86_64 # [linux and x86_64]
- libxext-cos7-x86_64 # [linux and x86_64]
- libxfixes-cos7-x86_64 # [linux and x86_64]
- libxi-cos7-x86_64 # [linux and x86_64]
- libxi-devel-cos7-x86_64 # [linux and x86_64]
- libxxf86vm-cos7-x86_64 # [linux and x86_64]
- mesa-dri-drivers-cos7-x86_64 # [linux and x86_64]
- mesa-libegl-cos7-x86_64 # [linux and x86_64]
- mesa-libegl-devel-cos7-x86_64 # [linux and x86_64]
- mesa-libgl-cos7-x86_64 # [linux and x86_64]
- mesa-libgl-devel-cos7-x86_64 # [linux and x86_64]
- pixman-cos7-x86_64 # [linux and x86_64]
- sysroot_linux-64 # [linux and x86_64]
- xorg-x11-server-common-cos7-x86_64 # [linux and x86_64]
- xorg-x11-server-xvfb-cos7-x86_64 # [linux and x86_64]
- kernel-headers_linux-aarch64 # [linux and aarch64]
- libdrm-cos7-aarch64 # [linux and aarch64]
- libglvnd-cos7-aarch64 # [linux and aarch64]
- libglvnd-glx-cos7-aarch64 # [linux and aarch64]
- libselinux-cos7-aarch64 # [linux and aarch64]
- libsepol-cos7-aarch64 # [linux and aarch64]
- libx11-common-cos7-aarch64 # [linux and aarch64]
- libx11-cos7-aarch64 # [linux and aarch64]
- libxau-cos7-aarch64 # [linux and aarch64]
- libxcb-cos7-aarch64 # [linux and aarch64]
- libxdamage-cos7-aarch64 # [linux and aarch64]
- libxext-cos7-aarch64 # [linux and aarch64]
- libxfixes-cos7-aarch64 # [linux and aarch64]
- libxi-cos7-aarch64 # [linux and aarch64]
- libxi-devel-cos7-aarch64 # [linux and aarch64]
- libxxf86vm-cos7-aarch64 # [linux and aarch64]
- mesa-dri-drivers-cos7-aarch64 # [linux and aarch64]
- mesa-khr-devel-cos7-aarch64 # [linux and aarch64]
- mesa-libegl-cos7-aarch64 # [linux and aarch64]
- mesa-libegl-devel-cos7-aarch64 # [linux and aarch64]
- mesa-libgbm-cos7-aarch64 # [linux and aarch64]
- mesa-libgl-cos7-aarch64 # [linux and aarch64]
- mesa-libgl-devel-cos7-aarch64 # [linux and aarch64]
- mesa-libglapi-cos7-aarch64 # [linux and aarch64]
- pixman-cos7-aarch64 # [linux and aarch64]
- sysroot_linux-aarch64 # [linux and aarch64]
- xorg-x11-server-common-cos7-aarch64 # [linux and aarch64]
- xorg-x11-server-xvfb-cos7-aarch64 # [linux and aarch64]
- sed # [unix]
- ccache
- cmake
- coin3d
- compilers
- conda
- conda-devenv
- debugpy
- doxygen
- eigen
- fmt
- freetype
- git
- gmsh
- graphviz
- hdf5
- libboost-devel
- libcxx
- mamba
- matplotlib
- ninja
- numpy
- occt
- openssl
- pcl
- pip
- conda-forge/label/pivy_rc::pivy
- pkg-config
- ply
- pre-commit
- pybind11
- pyside6
- python==3.12.*
- pyyaml
- qt6-main
- smesh
- swig
- vtk==9.2.6
- xerces-c
- yaml-cpp
- zlib
- zstd
+73 -68
View File
@@ -2,97 +2,102 @@ name: freecad
channels:
- conda-forge
dependencies:
- kernel-headers_linux-64 # [linux and x86_64]
- libdrm-cos6-x86_64 # [linux and x86_64]
- libselinux-cos6-x86_64 # [linux and x86_64]
- libsepol-cos6-x86_64 # [linux and x86_64]
- libx11-common-cos6-x86_64 # [linux and x86_64]
- libx11-cos6-x86_64 # [linux and x86_64]
- libxau-cos6-x86_64 # [linux and x86_64]
- libxcb-cos6-x86_64 # [linux and x86_64]
- libxdamage-cos6-x86_64 # [linux and x86_64]
- libxext-cos6-x86_64 # [linux and x86_64]
- libxfixes-cos6-x86_64 # [linux and x86_64]
- libxi-cos6-x86_64 # [linux and x86_64]
- libxi-devel-cos6-x86_64 # [linux and x86_64]
- libxxf86vm-cos6-x86_64 # [linux and x86_64]
- mesa-dri-drivers-cos6-x86_64 # [linux and x86_64]
- mesa-dri1-drivers-cos6-x86_64 # [linux and x86_64]
- mesa-libegl-cos6-x86_64 # [linux and x86_64]
- mesa-libegl-devel-cos6-x86_64 # [linux and x86_64]
- mesa-libgl-cos6-x86_64 # [linux and x86_64]
- mesa-libgl-devel-cos6-x86_64 # [linux and x86_64]
- pixman-cos6-x86_64 # [linux and x86_64]
- sysroot_linux-64 # [linux and x86_64]
- xorg-x11-server-common-cos6-x86_64 # [linux and x86_64]
- xorg-x11-server-xvfb-cos6-x86_64 # [linux and x86_64]
- kernel-headers_linux-aarch64 # [linux and aarch64]
- libdrm-cos7-aarch64 # [linux and aarch64]
- libglvnd-cos7-aarch64 # [linux and aarch64]
- libglvnd-glx-cos7-aarch64 # [linux and aarch64]
- libselinux-cos7-aarch64 # [linux and aarch64]
- libsepol-cos7-aarch64 # [linux and aarch64]
- libx11-common-cos7-aarch64 # [linux and aarch64]
- libx11-cos7-aarch64 # [linux and aarch64]
- libxau-cos7-aarch64 # [linux and aarch64]
- libxcb-cos7-aarch64 # [linux and aarch64]
- libxdamage-cos7-aarch64 # [linux and aarch64]
- libxext-cos7-aarch64 # [linux and aarch64]
- libxfixes-cos7-aarch64 # [linux and aarch64]
- libxi-cos7-aarch64 # [linux and aarch64]
- libxi-devel-cos7-aarch64 # [linux and aarch64]
- libxxf86vm-cos7-aarch64 # [linux and aarch64]
- mesa-dri-drivers-cos7-aarch64 # [linux and aarch64]
- mesa-khr-devel-cos7-aarch64 # [linux and aarch64]
- mesa-libegl-cos7-aarch64 # [linux and aarch64]
- mesa-libegl-devel-cos7-aarch64 # [linux and aarch64]
- mesa-libgbm-cos7-aarch64 # [linux and aarch64]
- mesa-libgl-cos7-aarch64 # [linux and aarch64]
- mesa-libgl-devel-cos7-aarch64 # [linux and aarch64]
- mesa-libglapi-cos7-aarch64 # [linux and aarch64]
- pixman-cos7-aarch64 # [linux and aarch64]
- sysroot_linux-aarch64 # [linux and aarch64]
- xorg-x11-server-common-cos7-aarch64 # [linux and aarch64]
- xorg-x11-server-xvfb-cos7-aarch64 # [linux and aarch64]
- sed # [unix]
- boost
- boost-cpp
- conda-forge/noarch::conda-libmamba-solver==24.7.0
- libspnav # [linux]
- kernel-headers_linux-64 # [linux and x86_64]
- libdrm-conda-x86_64 # [linux and x86_64]
- libselinux-conda-x86_64 # [linux and x86_64]
- libsepol-conda-x86_64 # [linux and x86_64]
- libx11-common-conda-x86_64 # [linux and x86_64]
- libx11-conda-x86_64 # [linux and x86_64]
- libxau-conda-x86_64 # [linux and x86_64]
- libxcb-conda-x86_64 # [linux and x86_64]
- libxdamage-conda-x86_64 # [linux and x86_64]
- libxext-conda-x86_64 # [linux and x86_64]
- libxfixes-conda-x86_64 # [linux and x86_64]
- libxi-conda-x86_64 # [linux and x86_64]
- libxi-devel-conda-x86_64 # [linux and x86_64]
- libxxf86vm-conda-x86_64 # [linux and x86_64]
- mesa-dri-drivers-conda-x86_64 # [linux and x86_64]
- mesa-libegl-conda-x86_64 # [linux and x86_64]
- mesa-libegl-devel-conda-x86_64 # [linux and x86_64]
- mesa-libgl-conda-x86_64 # [linux and x86_64]
- mesa-libgl-devel-conda-x86_64 # [linux and x86_64]
- pixman-conda-x86_64 # [linux and x86_64]
- sysroot_linux-64 # [linux and x86_64]
- xorg-x11-server-common-conda-x86_64 # [linux and x86_64]
- xorg-x11-server-xvfb-conda-x86_64 # [linux and x86_64]
- kernel-headers_linux-aarch64 # [linux and aarch64]
- libdrm-conda-aarch64 # [linux and aarch64]
- libglvnd-conda-aarch64 # [linux and aarch64]
- libglvnd-glx-conda-aarch64 # [linux and aarch64]
- libselinux-conda-aarch64 # [linux and aarch64]
- libsepol-conda-aarch64 # [linux and aarch64]
- libx11-common-conda-aarch64 # [linux and aarch64]
- libx11-conda-aarch64 # [linux and aarch64]
- libxau-conda-aarch64 # [linux and aarch64]
- libxcb-conda-aarch64 # [linux and aarch64]
- libxdamage-conda-aarch64 # [linux and aarch64]
- libxext-conda-aarch64 # [linux and aarch64]
- libxfixes-conda-aarch64 # [linux and aarch64]
- libxi-conda-aarch64 # [linux and aarch64]
- libxi-devel-conda-aarch64 # [linux and aarch64]
- libxxf86vm-conda-aarch64 # [linux and aarch64]
- mesa-dri-drivers-conda-aarch64 # [linux and aarch64]
- mesa-khr-devel-conda-aarch64 # [linux and aarch64]
- mesa-libegl-conda-aarch64 # [linux and aarch64]
- mesa-libegl-devel-conda-aarch64 # [linux and aarch64]
- mesa-libgbm-conda-aarch64 # [linux and aarch64]
- mesa-libgl-conda-aarch64 # [linux and aarch64]
- mesa-libgl-devel-conda-aarch64 # [linux and aarch64]
- mesa-libglapi-conda-aarch64 # [linux and aarch64]
- pixman-conda-aarch64 # [linux and aarch64]
- sysroot_linux-aarch64 # [linux and aarch64]
- xorg-x11-server-common-conda-aarch64 # [linux and aarch64]
- xorg-x11-server-xvfb-conda-aarch64 # [linux and aarch64]
- sed # [unix]
- ccache
- cmake
- coin3d
- compilers
- conda-build
- gcc==13.3.* # [linux]
- gxx==13.3.* # [linux]
- clang==18.1.* # [osx]
- clangxx==18.1.* # [osx]
- conda
- conda-devenv
- conda-smithy
- debugpy
- doxygen
- eigen
- fmt
- freetype
- git
- gmsh
- graphviz
- hdf5
- libcxx<16
- libboost-devel
- libcxx
- mamba
- matplotlib
- ninja
- numpy
- occt==7.6.3
- openssl==3.0.*
- occt
- openssl
- pcl
- pip
- pivy
- pkg-config
- ply
- pre-commit
- pybind11
- pyside2
- python
- python==3.11.*
- pyyaml
- qt
- qt-main
- qt-webengine
- six
- smesh==9.9
- smesh
- swig
- vtk
- vtk==9.2.6
- xerces-c
- yaml-cpp
- zlib
- pip:
- ptvsd
- zstd
+12
View File
@@ -0,0 +1,12 @@
#!/bin/sh
# create the conda environment as a subdirectory
mamba env create -p .conda/freecad -f conda/conda-env.yaml
# add the environment subdirectory to the conda configuration
conda config --add envs_dirs $CONDA_PREFIX/envs
conda config --add envs_dirs $(pwd)/.conda
conda config --set env_prompt "({name})"
# install the FreeCAD dependencies into the environment
mamba run --live-stream -n freecad mamba-devenv --no-prune -f conda/environment-qt6.devenv.yml
+10
View File
@@ -0,0 +1,10 @@
:: create the conda environment as a subdirectory
call mamba env create -p .conda/freecad -f conda/conda-env.yaml
:: add the environment subdirectory to the conda configuration
call conda config --add envs_dirs %CONDA_PREFIX%/envs
call conda config --add envs_dirs %CD%/.conda
call conda config --set env_prompt "({name})"
:: install the FreeCAD dependencies into the environment
call mamba run --live-stream -n freecad mamba-devenv --no-prune -f conda/environment.devenv.yml
+12
View File
@@ -0,0 +1,12 @@
#!/bin/sh
# create the conda environment as a subdirectory
mamba env create -p .conda/freecad -f conda/conda-env.yaml
# add the environment subdirectory to the conda configuration
conda config --add envs_dirs $CONDA_PREFIX/envs
conda config --add envs_dirs $(pwd)/.conda
conda config --set env_prompt "({name})"
# install the FreeCAD dependencies into the environment
mamba run --live-stream -n freecad mamba-devenv --no-prune -f conda/environment.devenv.yml
+27
View File
@@ -0,0 +1,27 @@
{
"configurations": [
{
"name": "Win32",
"includePath": [
"${workspaceFolder}/**"
],
"configurationProvider": "ms-vscode.cmake-tools"
},
{
"name": "Mac",
"includePath": [
"${workspaceFolder}/**"
],
"configurationProvider": "ms-vscode.cmake-tools"
},
{
"name": "Linux",
"includePath": [
"${workspaceFolder}/**",
"/usr/include/**"
],
"configurationProvider": "ms-vscode.cmake-tools"
}
],
"version": 4
}
+94
View File
@@ -0,0 +1,94 @@
{
"version": "0.2.0",
"configurations": [
{
"name": "Debug C++ Tests",
"type": "cppdbg",
"request": "launch",
"cwd": "${workspaceFolder}",
"program": "${command:cmake.buildDirectory}/tests/Tests_run",
"args": [],
"environment": [
{
"name": "PATH",
"value": "${command:cmake.buildDirectory}/tests:${env:PATH}"
}
],
"linux": {
"MIMode": "gdb",
"miDebuggerPath": "/usr/bin/gdb"
},
"osx": {
"MIMode": "lldb"
},
"stopAtEntry": false,
"externalConsole": false,
"preLaunchTask": "CMake: build",
"sourceFileMap": {
"${workspaceFolder}": "${workspaceFolder}"
}
},
{
"name": "C/C++ debugger",
"type": "cppdbg",
"request": "launch",
"cwd": "${workspaceFolder}",
"program": "${command:cmake.buildDirectory}/bin/FreeCAD",
"args": ["${workspaceFolder}/.vscode/scripts/VSCodeAutostartDebug.FCMacro"],
"environment": [
{
"name": "PATH",
"value": "${command:cmake.buildDirectory}/bin:${env:PATH}"
},
{
"name": "PYDEVD_DISABLE_FILE_VALIDATION",
"value": "1"
}
],
"linux": {
"MIMode": "gdb",
"miDebuggerPath": "/usr/bin/gdb"
},
"osx": {
"MIMode": "lldb"
},
"stopAtEntry": false,
"externalConsole": false,
"presentation": {
"hidden": true,
}
},
{
"name": "Python debugger",
"type": "python",
"request": "attach",
"preLaunchTask": "WaitForDebugpy",
"redirectOutput": true,
"connect": {
"host": "localhost",
"port": 5678
},
"pathMappings": [
{
"localRoot": "${workspaceFolder}/src",
"remoteRoot": "${command:cmake.buildDirectory}"
}
],
"justMyCode": false,
"presentation": {
"hidden": true,
}
}
],
"compounds": [
{
"name": "Debug FreeCAD",
"configurations": ["C/C++ debugger", "Python debugger"],
"preLaunchTask": "CMake: build",
"stopAll": true,
"presentation": {
"order": 1
}
}
]
}
+18
View File
@@ -0,0 +1,18 @@
import debugpy
from multiprocessing.connection import Listener
from freecad.utils import get_python_exe
# get_python_exe is needed because debugpy needs a python interpreter to work.
# It does not have to be FC embedded interpreter.
# By default it attempts to use Freecad's PID mistaking it for python.
# https://github.com/microsoft/debugpy/issues/262
debugpy.configure(python=get_python_exe())
debugpy.listen(('localhost', 5678))
# Turns out you cannot probe debugpy to see if it is up:
# https://github.com/microsoft/debugpy/issues/974
# Open another port that the script WaitForDebugpy can probe to see if
# debugpy is running
listener = Listener(('localhost', 39999), backlog=10)
debugpy.wait_for_client()
+29
View File
@@ -0,0 +1,29 @@
import socket
from contextlib import closing
import time
TIMEOUT_TIME_S = 30
RETRY_DELAY_S = 0.1
MAX_ATTEMPTS = TIMEOUT_TIME_S / RETRY_DELAY_S
def check_socket(host, port):
with closing(socket.socket(socket.AF_INET, socket.SOCK_STREAM)) as sock:
sock.settimeout(RETRY_DELAY_S)
return sock.connect_ex((host, port)) == 0
def main():
# DO NOT CHECK 5678 or debugpy will break
# Check other port manually opened instead
attempt_counter = 0
while (not check_socket('localhost', 39999)) and attempt_counter < MAX_ATTEMPTS:
time.sleep(RETRY_DELAY_S)
attempt_counter += 1
if attempt_counter >= MAX_ATTEMPTS:
exit(1)
else:
exit(0)
if __name__ == "__main__":
main()
+39
View File
@@ -0,0 +1,39 @@
{
// This disables vscode from adding lines to files.associations,
// some files might not be recognized though.
// This is a vscode issue.
"C_Cpp.autoAddFileAssociations": false,
"files.associations": {
"*.c": "c",
"*.h": "cpp",
"*.cpp": "cpp",
"*.hpp": "cpp",
"*.cxx": "cpp",
"*.hxx": "cpp",
"*.py": "python",
"*.FCMacro": "python"
},
"editor.formatOnType": true,
"files.autoSave": "afterDelay",
"debug.onTaskErrors": "abort", //to not launch the python debugger when waitforport.py fails
// Does not quick launch the debugger, forces to select debugger config every time
// Use the debug panel on the left instead
"debug.showInStatusBar": "never",
"cmake.options.advanced": {
"configurePreset": {
"statusBarVisibility": "visible"
},
"build": {
"statusBarVisibility": "visible"
},
"launch": {
"statusBarVisibility": "hidden"
},
"debug": {
"statusBarVisibility": "hidden"
}
}
}
+71
View File
@@ -0,0 +1,71 @@
{
"tasks": [
{
"type": "process",
"label": "FreeCAD: setup conda environment",
"linux": {
"command": "conda/setup-environment.sh",
},
"osx": {
"command": "conda/setup-environment.sh",
},
"windows": {
"command": "conda/setup-environment.cmd",
},
"group": "none",
"problemMatcher": [],
},
{
"label": "WaitForDebugpy",
"type": "shell",
"command": "python ${workspaceFolder}/.vscode/scripts/WaitForDebugpy.py",
"group": "none",
"problemMatcher": [],
"presentation": {
"reveal": "never", //silently fail and don't launch the debugger
"panel": "dedicated",
"close": true,
"revealProblems": "never"
},
"hide": true
},
{
"type": "cmake",
"label": "CMake: build",
"command": "build",
"preset": "${command:cmake.activeBuildPresetName}",
"group": {
"kind": "build",
"isDefault": true
},
"detail": "Build all targets",
"dependsOn": [],
"problemMatcher": ["$gcc"]
},
{
"label": "Tests: run c++ tests",
"detail": "Run googletest",
"type": "shell",
"command": "${command:cmake.buildDirectory}/tests/Tests_run",
"group": {
"kind": "test",
"isDefault": true
},
"dependsOn": ["CMake: build"],
"problemMatcher": []
},
{
"label": "Tests: run python tests",
"detail": "Run FreeCAD integrated tests",
"type": "shell",
"command": "${command:cmake.buildDirectory}/bin/FreeCAD",
"args": ["-t", "0"],
"group": {
"kind": "test"
},
"dependsOn": ["CMake: build"],
"problemMatcher": []
}
],
"version": "2.0.0"
}
Binary file not shown.
Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More