Commit Graph

42154 Commits

Author SHA1 Message Date
wmayer
7998f57048 Base: Use i,j consistently for iterations Matrix4D
As discussed in https://forum.freecad.org/viewtopic.php?t=65959
use consistently i,j to iterate over rows and columns
2025-06-16 10:05:43 +02:00
wmayer
e9ef35c53d Base: Do not use short int in Matrix4D
As discussed in https://forum.freecad.org/viewtopic.php?t=65959
replace short with int.
2025-06-16 10:05:43 +02:00
Captain
ce54149637 Gui: refactor SoLinearDragger (#21451)
* Gui: refactor SoLinearDragger

* further improvements

* allow changing label visibility

* change SoLinearDraggerContainer to not inherit from SoDragger

---------

Co-authored-by: captain <captain@captain.captain.com>
2025-06-14 23:21:25 +02:00
theo-vt
76952aabc7 Sketcher: Fix autoscale issue with the origin (#21952)
* Correctly handle geo ids < 0 in scale handler
2025-06-14 13:07:19 -05:00
Benjamin Bræstrup Sayoc
b54bbf57f9 Gui: use parameter observer for locale parameter
Parameter change should be independent of the use of the preference window.
2025-06-14 18:25:03 +02:00
Chris Hennes
c134c05e8b Base: Disable XML external entity expansion
Addresses https://github.com/FreeCAD/FreeCAD/security/code-scanning/29
2025-06-13 10:44:01 +02:00
pre-commit-ci[bot]
bc5cf27109 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2025-06-13 10:40:48 +02:00
Syres916
39dc1e6210 [Gui] C++ preparation for deprecation of QCheckBox…
…stateChanged -> checkStateChanged
2025-06-13 10:40:48 +02:00
tetektoza
b4dcfe57f6 Sketcher: Fix OVP accepting input prematurely in Position and Dimensions
Fixes the problem where if user has selected `Position and dimensions`
mode in Preferences, then after first keystroke on 2nd label after
typing something in 1st label before, the input is being accepted
without allowing them to enter a number with more than 2 digits.
2025-06-13 10:10:58 +02:00
tetektoza
2bbd570754 Sketcher: Fix OOB access to OVPs
Stupid mistake of mine from previous refactor - some of the OVPs do not
contain those elements and thus should not be accessed prematurely.

This patch moves access to the OVPs when it's actually needed so it
won't go out of bounds.
2025-06-13 10:10:58 +02:00
Alfredo Monclus
d4e6a50808 Gui: fix double-click on checkboxes locking the properties 2025-06-13 10:10:31 +02:00
Roy-043
b1358b7f55 Draft: OrthoArray task panel change some strings to sentence case (#21959)
X Axis -> X axis
Same for Y and Z.
2025-06-12 19:52:52 +02:00
Luz Paz
78d995f2b8 TechDraw: fix typo in comment 2025-06-11 21:51:23 +02:00
Max Wilfinger
a05cb9847c Gui: Fix dragger update when moving to target object and make flip independent of selected components. 2025-06-11 20:58:47 +02:00
tetektoza
53c394ea52 Sketcher: Refactor access to OVPs to not repeat array access everytime
As the title says. I think personally this increases readability just a
little bit and I thought it's low effort to refactor.

Instead of checking the OVPs through array everytime, since we access
them multiple times in different scenarios - just cache them on the
beginning of state and access the variable, instead of array.
2025-06-11 13:30:35 +02:00
wandererfan
9a18895cd0 [TD]fix bad element name in Vertex::Restore 2025-06-10 13:46:57 -05:00
wmayer
2c2ebc6ed2 Test: Do not write test files into CWD
When running the tests make sure to write the test files into the temp directory.

This fixes issue 19112
2025-06-10 17:11:25 +02:00
Jacob Oursland
fde5ad9af6 CI: set MACOS_DEPLOYMENT_TARGET=10.13 for Intel macOS.
The MACOS_DEPLOYMENT_TARGET was not explicitly set, resulting in a default of 10.9, which does not support C++
features needed by some components in FreeCAD. This PR sets the MACOS_DEPLOYMENT_TARGET to 10.13 to build
for platforms running macOS High Sierra (2017) or newer.
2025-06-10 09:41:53 -03:00
Ladislav Michl
a37509956e Gui: fix ViewProviderCoordinateSystem::claimChildren()
Until 8de6382 ("Gui: Fix stackoverflow when loading corrupted file")
a static_cast was used to obtain App::Origin object, however with
introducing App::LocalCoordinateSystem this was no longer correct,
although not causing any troubles as OriginFeatures moved into
LocalCoordinateSystem as well.

Recent use of getObject template triggered this problem, so use now
correct cast to App::LocalCoordinateSystem.

Fixes: 19702dc ("Core: Add App::LocalCoordinateSystem")
2025-06-10 10:20:06 +02:00
Kacper Donat
cbf32cd77b Gui: Add guidelines for input hints 2025-06-10 07:05:06 +02:00
Mino-Tsuzuku
e70fde5773 Draft: Fix several SVG import bugs (#20293)
* Fix #19422 SVG: use tag create wrong size object
Fix #19072 SVG: import <defs> keyword as object without <use>
and Fix bug that not reported, <symbol> keyword as object without <use>
and Fix bug that not reported, nested use tag not import correctly.
 To do this. I make preprocessor that replace use tag to it's referenced object.
and remove symbol tag and defs tag from loaded svg.
 there is a subeffect, name of imported object that related to symbol tag is changed.

* Fix  incorrect import when use tag nesting context.

* fix error when use tag not exist.

* rebased aprospero PR20293.
fix several bugs.
1,x and y attribute of use tag is not processed under certain condition.
2,Doesn't finish importing when referenced ID is not exist.
3,Doesn't finish importing when use tag use href instead of xlink:href

* Refactor: Use data.get() for cleaner dictionary key handling

* Refactored code for simplicity following suggested changes.

* Add <a> tag support.( <a>tag  is  almost same with <g> tag at visual effect )

* Correct mistakes in the if condition handling href and xlink:href

* Modify the code to retain the original namespace definitions, as removing all namespaces may cause incorrect importing process.
2025-06-09 23:44:37 +02:00
Jackson Oursland
1d9c3a51ba CI: install black for python format checker (#21858) 2025-06-09 14:51:59 -03:00
Syres916
0967b3b3f4 [BIM] Fix Attribute Error when user moves and then deletes the BimViewArea dock widget (#21830)
* [BIM] Fix attribute error when user deletes the BimViewArea dock widget

* [BIM] Fix Attribute Error for both Qt5 and Qt6

* Update src/Mod/BIM/bimcommands/BimViews.py

---------

Co-authored-by: Chris Hennes <chennes@pioneerlibrarysystem.org>
2025-06-09 17:36:04 +00:00
theo-vt
be24c6bbf3 Sketcher: Sketch autoscale (#21084)
* Working scale prototype

* Call viewAll to fit geometries in the viewport post-scaling

* Exclude angle dimensions

* Scale the viewport rather than calling viewAll

* Scale dimension annotation along geometries

* Early return when counting more than one dimensional constraint

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

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

* Disable sketch autoscale if there are external geometries in the sketch

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

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

* Add a setting to disable the feature _ and eventually parametrize

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

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

* Check for objects in the viewport in the sketch's ancestry to decide wheter or not to autoscale

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

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

* More consistent camera scaling

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

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

* Check for visual indicator in the whole document

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

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

* Find visible items in nested assemblies

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

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

* Check visual elements in assemblies nested in assemblies

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

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

* Set the dimension even if the scaling fails

* Allow constraints that interact with the origin axis/root

* Remove unused variable

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

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

* Misc fixes from review

* [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-06-09 18:31:44 +02:00
Kacper Donat
83b2027395 Gui: Add BitmapFactory::empty method
This adds empty(QSize) method to bitmap factory that creates empty
pixmap. This may seem useless, but after creating bitmap one needs to
remember to clear it and to properly set DPR - BitmapFactory will take
care of it.
2025-06-09 12:20:08 -04:00
wmayer
2a7498c930 Helper function to get preferred delete key depending on platform 2025-06-09 18:10:52 +02:00
Furgo
e850cc9824 CI: add ifcopenshell to Ubuntu native builds (#21709)
* CI: add ifcopenshell to Ubuntu native builds

* CI: move test dependencies installation after build/runtime deps installation

* CI: bump ifcopenshell
2025-06-09 18:10:40 +02:00
Tomas Mudrunka
73a1de4d83 Add 3.175mm milling bit to default tool library as it's extremely common bit size 2025-06-09 12:06:36 -04:00
Chris Hennes
6a4901c30d Merge pull request #21813 from maxwxyz/siemens-nx-navigation
Navigation: Add Siemens NX style
2025-06-09 12:03:31 -04:00
João Matos
bd58e7f3da Material: Fix unused parameters warnings. (#21584)
Just another round of compiler warnings fixes for material code.
2025-06-09 10:53:43 -05:00
Ralf Habacker
5900b21fda Partial homogenization of FEM dialogs for constraints (#21538)
* FEM: Add context menu entry for clearing the reference list in constraints

See #6085

* FEM: Add 'Remove' button to python based dialogs for adding geometry references

See #6085
2025-06-09 10:51:36 -05:00
wandererfan
ca20e8baad [TD]fix dim reference repair 2025-06-09 11:49:25 -04:00
WandererFan
8d0e9be09b [TD]Cosmetic vertex tag save/restore fail (fix #21069) (#21374)
* [TD]fix tag handling on Save/Restore

* [TD]fix linter messages

* [TD]remove c-style cast x4

* [TD]do not write VertexTag element in Vertex::Save
2025-06-09 17:48:00 +02:00
Ralf Habacker
d63b837326 BIM: Add top level group when importing obj file into active document
When importing an obj file into an existing document,
the imported objects are now stored below a new group
object in order to improve the structure and avoid
flooding the top level with imported objects.

Fixup for #21349
2025-06-09 17:36:45 +02:00
tetektoza
46b7c6c385 Draft: Introduce 1-axis mode for ortho array (#21602)
* Draft: Introduce 1-axis mode for ortho array

As the title says - the 1 axis mode allows to switch between all of the
axises mode and allows to modify only 1 axis at the time that user can
select with the checkbox.

* Draft: Rename to Linear Mode and remove redundant comments

* Draft: Display only one interval for the selected axis

* Draft: Cache selected variables in user.cfg - axis mode, intervals, etc...

* Draft: Make sure the checkboxes in OrthoArray are exclusively selected

* Draft: Apply review comments

Changed a couple of things according to review:
* linear mode is now being used as default during first startup (it
  wasn't before)
* applied Roy's comments about coding style, etc.
* grouped everything into separate QGroupBox which is dedicated for
  Linear Mode and has it's own labels, although spinboxes are shared so
  during mode switch we reparent them now
* removed Orthogonal Array's icon
* in the QGroup applied naming suggested in the review, X Intervals ->
  interval, etc.
* changed to radio buttons since we want exclusivity in selection
2025-06-09 17:33:51 +02:00
Syres916
3eb160ac87 [Start] add Tooltip to show full path when the ShortCustomFolder is true 2025-06-08 22:11:05 +02:00
Samuel Abels
26f18a298e CAM: Remove unwanted transparency from shape icons 2025-06-08 21:15:18 +02:00
Jacob Oursland
26bcc44b84 Pixi: remove explictly setting Qt6 now that it is the default. 2025-06-08 18:30:53 +02:00
Chris Hennes
16dde93180 Addon Manager: Update to latest main
Fixes problem with installer
2025-06-08 18:03:43 +02:00
Kacper Donat
294d6a2cce Merge pull request #21825 from maxwxyz/surface-blend-curve
Surface: Task dialog for blend curve
2025-06-08 16:21:01 +02:00
Syres916
39f8d8ef64 [Start] show the actual custom folder name...
...instead of 'Custom Folder'
2025-06-08 16:19:19 +02:00
Alfredo Monclus
1716232d3b Gui: remove taskheader animation 2025-06-08 16:18:28 +02:00
Max Wilfinger
d64efad081 Advanced options for move to other object in the transform tool.
Allows for masking of individual translation or rotation axes.
2025-06-08 16:18:01 +02:00
tetektoza
2933eaf819 Sketcher: Allow user to reset OVP state using backspace key
Currently if user tries to reset OVP, they can only do that by entering
"0" for example, and then the parameters will get unset in
unsetOnViewParameter. But that will only happen if user types a value
that's under confusion point (typically 1e^-7). In my opinion, it would
be cool to reset that state if user deletes all content in the label, to
allow them to specify coordinates with mouse once again.

Also, this patch fixes a regression with backspace, where deleting stuff
from OVP was working on unix systems, but seems like on Windows it
doesn't pass the check.
2025-06-08 15:00:58 +02:00
Max Wilfinger
aace4b1e7c Update stale action (#21860)
* Increase operations per run
2025-06-08 07:51:25 +00:00
Max Wilfinger
73f015dfd5 Update GitHub stale action and fix typo 2025-06-08 09:04:35 +02:00
longrackslabs
442be05b61 - Refactor Point tool hint implementation with direct return (trival) pattern 2025-06-08 02:31:19 +02:00
Chris Hennes
784f631d45 CMake: Switch default Qt to Qt6 2025-06-08 00:38:03 +02:00
Max Wilfinger
d66380a4ed Change hint size for status bar consistency 2025-06-08 00:33:31 +02:00
saso badovinac
ea60ea8756 Update codeql.yml (#21819)
* Update codeql.yml

this splits the cpp scan into a separate file, makes the configuration more readable and cleaner checks in push and pull requests

* Create codeql_cpp.yml
2025-06-07 17:31:54 -04:00