Commit Graph

43278 Commits

Author SHA1 Message Date
tetektoza
91a77e89ba Gui: Replace usage of dynamic_cast with freecad_cast in SelectionView 2025-09-05 01:03:50 +02:00
tetektoza
9b4e21287b Gui: Use cleaner variable naming for menu items in SelectionView 2025-09-05 01:00:37 +02:00
tetektoza
a19d6f0fee Gui: Use assignment in if statement for menus iterator 2025-09-05 00:49:24 +02:00
tetektoza
6b3b3d230f Gui: Convert Clarify Selection usage in SelectionSingleton to instance 2025-09-05 00:48:02 +02:00
tetektoza
02962686f1 Gui: Merge standard delayed paths with delayed priority paths 2025-09-04 23:42:11 +02:00
tetektoza
7d99d69fc7 Gui: Use QByteArray directly in setData without intermediate variable 2025-09-03 01:24:58 +02:00
tetektoza
c73525ff6c Gui: Use variable assignment directly in if statement 2025-09-03 01:24:58 +02:00
tetektoza
2190d7dd3b Gui: Use copy for currentSelections in Clarify Selection tool 2025-09-03 01:24:58 +02:00
tetektoza
31accb32df Gui: Add a comment explaining invoke(0) call in NavigationStyle 2025-09-03 01:24:58 +02:00
tetektoza
873aab3b2a Gui: Extract helper methods for navigation context menu 2025-09-03 01:24:58 +02:00
tetektoza
9329767039 Gui: Use QStringLiteral for selected element 2025-09-03 01:24:58 +02:00
tetektoza
85526db81a Gui: Fix typo in SelectionView 2025-09-03 01:24:58 +02:00
tetektoza
178996a80a Gui: Check for nullptr in activeWindow in CommandView directly 2025-09-03 01:24:58 +02:00
tetektoza
8c004fc98b Gui: Use freecad_cast where possible in CommandView for ClarifySelection 2025-09-03 01:24:58 +02:00
tetektoza
80aca31684 Gui: Use designated initializer in CommandView 2025-09-03 01:24:58 +02:00
tetektoza
de8b9f2dbf Gui: Initialize SbVec2s point directly in CommandView 2025-09-03 01:24:58 +02:00
tetektoza
b780cf923f Part/Gui: Rename Pick Geometry tool to Clarify Selection
Co-authored-by: realthunder <realthunder@users.noreply.github.com>
2025-09-03 01:24:58 +02:00
tetektoza
3c5131e051 Gui: Add support for toggling PickGeometry with long-press LMB
Co-authored-by: realthunder <realthunder@users.noreply.github.com>
2025-09-03 01:24:58 +02:00
tetektoza
c856c9ea01 Core/Gui: Render primitives on top of the scene in PickGeometry
+ added some better grouping for items, which are assigned per object
  right now. For example, if we exceed 10 items per object it gets an
  additional group.

Co-authored-by: realthunder <realthunder@users.noreply.github.com>
2025-09-03 01:24:58 +02:00
tetektoza
59b234028f Core: Add preselect on hovered menu items in PickGeometry tool
Co-authored-by: realthunder <realthunder@users.noreply.github.com>
2025-09-03 01:24:57 +02:00
tetektoza
5d49b4b108 Core: Respect highlighting for preselection too
Co-authored-by: realthunder <realthunder@users.noreply.github.com>
2025-09-03 01:24:57 +02:00
realthunder
ce8ba74602 Gui: Add a context menu to select obstructed items (from RT fork)
As the title says, this is from RT's fork. I only adjusted it a little
bit and removed pie selection which was previously in the
implementation.

To activate context menu - "G, G", then if it can't resolve edges vs
faces, it adds QMenus on top to let user decide which one to select.

Co-authored-by: tetektoza <tetektoza@users.noreply.github.com>
2025-09-03 01:24:57 +02:00
Benjamin Nauck
f8f7ca54e0 Merge pull request #23344 from 3x380V/moment
Core: Distinguish between energy and torque physical quantities
2025-09-02 23:58:19 +02:00
Kacper Donat
14b0ef1843 PartDesign: fix the draggers for pad type and hole (#23582)
* PartDesign: fix the draggers for pad type and hole

* Gui: remove duplicated checkbox
2025-09-02 23:28:23 +02:00
captain0xff
1dd3d8d4a3 Gui: remove duplicated checkbox 2025-09-03 01:11:16 +05:30
Chris Hennes
4fbe8e1773 App: Fix safe mode and home directory 2025-09-02 21:39:09 +02:00
Roy-043
05e81a01ed Draft: Fix some prefs GUI texts (related to Title Case) (#23573)
* Draft: Fix some prefs GUI texts (related to Title Case)

* Draft: Fix some prefs GUI texts (related to Title Case)

* Draft: Fix some prefs GUI texts (related to Title Case)
2025-09-02 21:18:57 +02:00
captain0xff
c55010d817 PartDesign: fix the draggers for pad type and hole 2025-09-03 00:42:39 +05:30
tarman3
341a239375 CAM: Fix Task panels for expression in App::PropertyLink (#22955) 2025-09-02 11:22:32 -05:00
tarman3
3863ce947c CAM: Fix uccnc postprocessor for G2|G3 (#23194) 2025-09-02 11:20:14 -05:00
J-Dunn
b384f87cb4 CAM: correct grbl_post retract heights (#23010)
* CAM: correct grbl_post retract heights

Some small corrections to retraction heights in expansion of G8x drilling cycles for GRBL machines. 

Add comment blocks from NIST definitions to aid maintenance and understanding. 
Rename some variables for clarity and ease of future maintenance.

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

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

* correct typo which prevented final retract move

* [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-09-02 11:15:37 -05:00
tarman3
683ca659b1 CAM: Fix missed gcode save dialog (#23517) 2025-09-02 11:02:24 -05:00
captain0xff
1264e94507 Part: disable dragger for the thickness operation 2025-09-02 17:39:17 +02:00
David Kaufman
68d13987ca [CAM] Fix ramp dressup performance (#21944)
* [CAM] fix biggest performance problems in ramp dressup

key items:

- finding the index of the current edge with edeges.index(edge) was very
  expensive; fixed by tracking the index while looping

- checking which edges were rapids with edge equality was also
  expensive; fixed by keeping a list of indexes of rapid input edges,
and tagging output edges with whether or not they are rapids

* [CAM] comment out Path.Log.debug in hot segments of ramping code

Even when low level logs are supposed to be suppressed, Path.Log.debug
takes take invoking traceback.extract_stack. This time adds up if logs
are invoked in frequently run loops.

* Fix CAM test

* [CAM] reimplment ramp method 1 with faster code

* [CAM] reimplement ramp methods 2, 3, and helix

* [CAM] patch to make output match original

* [CAM] ramping full performance + functionality fix
2025-09-02 10:32:03 -05:00
David Kaufman
db9a615985 [CAM] Add UI elements for viewing and editing tool controller parameters from within the operation edit UI (#23180)
* [CAM] extract tool controller ui elements into their own file

* [CAM] make the changes in the tool controller UI only apply when ok is clicked

* [CAM] Add tool controller edit panel to the Profile operation

* [CAM] Add copy button to in-operation tool controller editor

* [CAM] clean up changes

* [CAM] Add tool controller edit UI to all operations

Notes on changes that were not a simple copy/paste job from the changes
I made for Profile:

- Deburr: changed TC/coolant rows from 1 and 2 to 0 and 1

- Probe: didn't work at all initially due to bug in main where ShapeName
  changed to ShapeType. I added a utility for reading either a ShapeType
or a ShapeName (check for both properties, convert ShapeType to lower
case) and applied it to probe and camotics

- Drilling: moved Keep Tool Down checkbox up from row 8 to row 2 (all
  intermediate rows were missing) and added the edit checkbox in row 3
below it

- VBit, Probe (or anything else that requires a specific tool type): in
  Base.py setupToolController(), I added a check to see if the currently
selected tool is an invalid type, and if so and there is a valid tool,
then change to that one. This fixes two UI bugs. Plausibly pre-existing,
if there is one valid tool and an invalid tool is selected, it's
impossible to switch to the valid one because you can't generate a combo
box change event for the new tool. Definitely new: if an invalid tool is
selected and there are no valid tools, the combo box will be empty but
the new tool controller edit utility will let you edit the current TC
anyway.

- Thread Milling: replaced the Tool Controller GroupBox with the
  standard QFrame layout, and added the checkbox. Note that this
operation doesn't have a UI element for coolant -- likely a bug, but I
didn't look into it

- Surface: Changed from form layout to grid layout. Deleted an old
  SurfaceEdit.ui file -- it was replaced with PageOpSurfaceEdit.ui in
2017 but not deleted (commit 77af19e7489e1fc637a68cdad220e5dd430dc2b9)

- Waterline: Changed from form layout to grid layout

* [CAM] Bug fixes

setupUi() wasn't called on the tool controller editor, preventing
changes in its UI from being written back to the object immediately.
This caused weird behavior where if you edited a field twice it would
reset the second time it was focused

Added a hook to automatically update the TC combo box when the TC name
(or anything else about it, since that was easier) changes

* Fix usage of QSignalBlockers

* [CAM] Block scroll events on tool number and spindle direction when not
focused

Specifically, if you mouse over either of these UI elements and use the
scroll wheel, it used to focus the element and change its value. This
commit makes it do neither of those things, for these specific elements,
as a measure against users accidentally changing these values.

* disable tcNumber edit field in operations panel

* Add "New tool controller" option to TC combo box

When selected, it opens (toggles, technically) the tool bit dock and
returns to the previous selection. Adding a new tool controller using
the dock (already, before this commit) automatically switches the
operation's tool controller to the new one

* Add "Copy" option to tool controller combo box

* Copy TC function only in combo box, no button

* [CAM] update in-operation "new tool controller" function to use a dialog

* [CAM] make the tool selector always a dialog and never a dock

* remove spacer from ToolControllerEdit.ui to fix exces white space

* [CAM] change tool dialog default sizing/spacing

* [CAM] fix bug where copying tool controller doesn't copy all values
2025-09-02 10:19:33 -05:00
Benjamin Nauck
85af5e6095 Merge pull request #23519 from kadet1090/show-axis-cross-on-top
Gui: Show Axis Cross on top
2025-09-02 15:12:39 +02:00
PaddleStroke
0d5995d6b3 Syntax error 2025-09-02 14:40:37 +02:00
luzpaz
b7959450f2 AddonManager: ignore everything but dirs in getVerboseAddOnsInfo
Before this PR addon manager was displaying manifest.json files along with backup files. Now those are ignored.
Fixes #23545
2025-09-01 22:32:23 -05:00
Kacper Donat
e7a17f203f Merge pull request #23549 from captain0xff/gizmo
PartDesign: improve the interactive draggers
2025-09-02 00:25:55 +02:00
PaddleStroke
e40e01b039 Assembly: Solver message taskbox. UI setup, App not implemented yet. (#23420)
* Assembly: Solver message taskbox. UI setup, App not implemented yet.

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

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

* Update TaskAssemblyMessages.cpp

* Update ViewProviderAssembly.cpp

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-09-01 21:29:06 +00:00
Kacper Donat
24a6d59ca8 Merge pull request #23552 from pieterhijma/delete-key-prop
Gui: Add a binding for the Delete key to remove a property
2025-09-01 23:18:15 +02:00
Kacper Donat
bc8caa49ed Gui: Show Axis Cross on top 2025-09-01 23:07:53 +02:00
Kacper Donat
d34295354c Gui: SoFCPlacementIndicatorKit add missing headers 2025-09-01 23:07:32 +02:00
Benjamin Nauck
c48e1bbae2 Merge pull request #23399 from wwmayer/quick_measure
Measure: Fix quick measure command
2025-09-01 21:11:26 +02:00
captain0xff
4c75c3fe0a PartDesign: set the linear dragger increment based on the zoom level 2025-09-02 00:32:25 +05:30
Pieter Hijma
c0f440fad4 Gui: Add Property View delete key binding
This commit adds a binding for the delete key to delete properties from
property containers.
2025-09-01 20:53:32 +02:00
captain0xff
d5ec53f30d PartDesign: fix draggers for chamfer with two dimensions 2025-09-01 23:20:18 +05:30
jffmichi
f3e83368b1 CAM: use dict constructor for Command in VCarve 2025-09-01 11:24:32 -05:00
Chris Hennes
a429931abd Core: Record module failure information during startup 2025-09-01 18:10:04 +02:00
drwho495
bc72b6e85d PartDesign: Fix revolution's Toponaming support (#23342)
* PartDesign: Fix revolution's Toponming support

* fix test
2025-09-01 10:56:43 -05:00