Commit Graph

39926 Commits

Author SHA1 Message Date
Furgo
78b720fd35 Import: DXF importer, add Python bindings 2025-06-25 07:41:03 +02:00
Furgo
72ca1478e8 Import: DXF importer, populate stats reporting structure 2025-06-25 07:41:03 +02:00
Furgo
76a0d9ffe3 Import: DXF parser, add stats reporting structure 2025-06-25 07:41:03 +02:00
sliptonic
f7beb3e41b Merge pull request #21732 from tarman3/engrave
CAM: Engrave - Fix step down for closed profile
2025-06-24 12:49:05 -05:00
alafr
8329a181c9 Draft : fix Label Justification (#13444)
Draft Label ViewObject.Justification property was overriden by Object.StraightDistance property. The Justification in the 3D view was reset after recompute. This commit fixes the problem by setting Object.StraightDistance automatically when ViewObject.Justification is changed and vice versa. Also fixes the frame position when Justification is Center.
2025-06-24 10:45:46 +02:00
tarman3
8a0d3d2423 Merge branch 'main' into engrave 2025-06-24 08:14:59 +03:00
Kacper Donat
a1f0d7b5fc Spreadsheet Fix '=' regression in spreadsheets (#22146)
* Tools: Add ExpressionLineEdit to QtDesigner plugin

* Spreadsheet: Only use validator when when prefix is not '='

---------

Co-authored-by: wmayer <wmayer@freecad.org>
2025-06-23 22:20:25 +02:00
sliptonic
441d3742cc Merge pull request #21961 from knipknap/tool-cleanups
CAM: Some cleanups (moving DetachedDocumentObject around)
2025-06-23 15:02:24 -05:00
George Peden
2c1d23e4e5 Sketcher: Add contextual input hints to constraint commands (InputHints Phase 2) (#21751)
* Sketcher: Extend InputHints infrastructure to constraint tools

- Implement DrawSketchHandler::getToolHints() for constraint workflows
- Add centralized hint table mapping constraint commands to step-specific InputHints
- Integrate hint lookup in DrawSketchHandlerGenConstraint and dimension handler
- Provide step-by-step user guidance for:
  - Coincident, PointOnObject, Distance (X/Y)
  - Horizontal, Vertical, HorVer, Lock, Block
  - Equal, Symmetric, Radius, Diameter, Angle
  - Tangent, Perpendicular, Parallel

This continues the InputHints work started for drawing tools by enabling consistent, contextual guidance for constraint creation, including multi-step workflows like tangent-via-point.

* Call updateHint() after selection reset to re-arm the first-step prompt
when the tool stays active after apply.

* Add comments to hints table structure

* Sketcher: Update constraint hint text to use "pick" instead of "Select"

Change constraint hint text from "Select" to "pick" to maintain consistency
with existing FreeCAD UI style. This affects the DrawSketchHandlerGenConstraint
hint system for various constraint operations including coincident, distance,
horizontal/vertical, block, lock, symmetry, tangent, perpendicular, parallel,
and distance constraints.

The hints now follow the pattern:
- "%1 pick first point or edge"
- "%1 pick second point or edge"
- "%1 pick line or two points"
etc.

This provides consistent terminology throughout the sketcher constraint
creation workflow.

* - Remove redundant 'first' from initial selection hints
- Improve consistency in hint text formatting per Developer Guidelines
- Add consistent spacing in comment sections"

* Per PR feedback for DrawSketchHandlerDimension hints:
* Change 'Click to' to "pick"
* Simplify hint wording
* Combine redundant else
* Use direct return pattern instead of building hints list

* Update lookupConstraintHints() to use C++20 std:ranges::find_if form per PR review feedback

* Sketcher: Refine constraint hints per PR feedback

- Use consistent 'point or edge' phrasing in Distance and DistanceX/Y tools
- Reword Horizontal/Vertical step 0 to avoid misleading 'two points'
- Generalize Tangent and Perpendicular hints to 'edge' with optional point
- Simplify legacy Distance to 'point or edge'

* Add dynamic hint handling for PointOnObject constraint
- Implemented contextual hints in getToolHints() to generate an appropriate step 2 hint based on step 1 selection type
- Preserved static lookupConstraintHints() for all other tools

* Sketcher: Convert constraint hint table to C++20 designated initializer syntax

- Refactored static constraint hint table to follow Sketcher hint development guidelines
- Uses C++20 designated initializers for clarity and maintainability
- No changes to hint logic or behavior; content is identical to previous version
2025-06-23 21:24:33 +02:00
sliptonic
062f40d2b6 Refactor slot op. (#21799)
* Refactor slot op.
Move out of experimenation features

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

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

* Incorporate Hyarion's suggestions

* Update src/Mod/CAM/Path/Op/Slot.py

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

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Benjamin Nauck <benjamin@nauck.se>
2025-06-23 21:22:33 +02:00
Benjamin Nauck
1ef1a53679 Merge pull request #21943 from tetektoza/fix/21927_change_enter_ovp_accepting_dim
Sketcher: Change enter behavior on OVP to put OVP in lock state only
2025-06-23 21:18:41 +02:00
Samuel
46bff2af05 CAM: Load preferences before activating the workbench (#21981) 2025-06-23 14:11:23 -05:00
Luz Paz
77334c8d4f FEM: fix typos 2025-06-23 20:46:33 +02:00
Kacper Donat
c9532316ff Gui: Fix wildcard call disconnects warnings Qt6.9 (#22096)
* Gui: Fix wildcard call disconnects warnings Qt6.9

* Gui: Fix typo

---------

Co-authored-by: Benjamin Nauck <benjamin@nauck.se>
2025-06-23 17:42:03 +00:00
tiagomscardoso
ab6e3d18dd Gui: prevent hover tooltip from covering menu items (#22019)
* fix #21330: prevent hover tooltip from covering menu items
Instead of showing the tooltip at the mouse cursor,
it is now displayed to the right of the corresponding
menu option, avoiding overlap with the menu itself.

* Update src/Gui/Action.cpp

---------

Co-authored-by: Chris Hennes <chennes@pioneerlibrarysystem.org>
2025-06-23 17:40:16 +00:00
tetektoza
625458f119 Sketcher: Make TAB clear the field if user hasn't valid input 2025-06-23 19:25:57 +02:00
Ryan K
9b32202199 TechDraw: Add command tool label for vertex group (#22118)
Co-authored-by: Ryan Kembrey <ryan.kembrey@student.uts>
2025-06-23 12:26:40 -04:00
Ryan Kembrey
a3fb529bc8 TechDraw: Remove redundant apply button. (Fix #21792) 2025-06-23 11:15:03 -05:00
WandererFan
51184b99d5 [TechDraw]Detail highlight drag (fix #21828) (#22036)
* [TD]add preferences for detail highlight snapping

* [TD]fix highlight drag issues

* Update src/Mod/TechDraw/Gui/TaskDetail.cpp

minor format change from benj5378.

Co-authored-by: Benjamin Bræstrup Sayoc <benj5378@outlook.com>

---------

Co-authored-by: Benjamin Bræstrup Sayoc <benj5378@outlook.com>
2025-06-23 11:13:27 -05:00
mosfet80
c25782551b fix unused variable
remove unused parameter ‘method’
2025-06-23 18:12:01 +02:00
George Peden
565190fa9d Sketcher: Add contextual input hints to transform tools (InputHints Phase 4) (#21840)
* Add hints to symettry tool

* Add hint system for transform tools
- Design decision: Keep hints simple and focused on primary mouse actions
- Avoid redundancy with dialog UI which already shows keyboard shortcuts clearly
- Implements progressive hints for multi-state tools (Rotate, Scale, Translate)
  using declarative hint tables, and focused hints for single-state tools
  (Symmetry, Offset) using direct return implementations.

* Cleanup unused declarative hint decls

* Change hint to 'pick axis, edge, or point" per PR feedback
2025-06-23 11:09:59 -05:00
Karliss
8db55284cc Sketcher: Implement related constraint command for non edges 2025-06-23 11:01:33 -05:00
Florian Foinant-Willig
b749db373d Sketcher: Fix circle-line negative distance 2025-06-23 10:56:45 -05:00
LarryWoestman
f6842ebbf8 CAM: added command line arguments for finish label, (#21881)
output machine name, and post operation.
	With tests.
2025-06-23 10:45:19 -05:00
Syres916
a7ec15f725 [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
2025-06-23 10:44:51 -05:00
Florian Foinant-Willig
59f67812a7 Sketcher: refactor planecgs/Constraints (#21988)
* Sketcher: refactor planecgs/Constraints

Remove code duplication

* Clarify param push with `Copy()`
2025-06-23 10:39:34 -05:00
Benjamin Nauck
3eeefca98a Merge pull request #21221 from ickby/FEM_extract_data
FEM: Data extraction and visualization
2025-06-23 17:33:07 +02:00
jffmichi
f829a09018 CAM: sort tool paths for Engrave and Deburr operation (#21531)
Co-authored-by: jffmichi <>
2025-06-23 10:22:21 -05:00
Max Wilfinger
10d3a47e99 Assembly: Fix conflicting shortcuts 2025-06-23 10:06:18 -05:00
tarman3
91cc7c37e5 CAM: Custom gcode - Improve error messages (#21509) 2025-06-23 10:05:01 -05:00
Chris Hennes
35cdd31193 CAM: Fix format specifier for size_t (unsigned long) (#22005) 2025-06-23 09:50:17 -05:00
Benjamin Nauck
0fd4f2bac6 Spreadsheet: Only use validator when when prefix is not '=' 2025-06-23 16:14:35 +02:00
Roy-043
0e55ce8d9f Update ArchComponent.py 2025-06-23 14:26:05 +02:00
Roy-043
bacc9c7616 Update BimTDPage.py 2025-06-23 14:24:03 +02:00
Roy-043
a62dddde07 Update ArchSchedule.py 2025-06-23 14:23:09 +02:00
Roy-043
dc948671bd Update ArchAxis.py 2025-06-23 14:21:02 +02:00
Roy-043
6adb97d79d BIM: fix filtering out level issue (#22059)
* Update ifc_status.py

* Update ifc_tools.py
2025-06-23 14:14:51 +02:00
Roy-043
c6f89f646c Update BimProjectManager.py 2025-06-23 14:13:19 +02:00
Roy-043
c4a0c9f37c Update ArchMaterial.py 2025-06-23 14:12:12 +02:00
wmayer
70dac98348 Tools: Add ExpressionLineEdit to QtDesigner plugin 2025-06-23 14:12:05 +02:00
Roy-043
8d46d437f8 BIM: fix index error in ifc_viewproviders.py
Fixes #21912
2025-06-23 14:10:26 +02:00
Roy-043
faf9669327 BIM: fix ArchProfile update issues
Fixes 21001
Fixes 21187
2025-06-23 14:09:36 +02:00
Roy-043
1800ccd12c BIM: fix display of help menu items after WB reactivation (improved)
Fixes #22044

Previous PR (#21874) did not work properly if the BIM WB was the start up WB. A scenario that I forgot to test.
2025-06-23 14:08:26 +02:00
Furgo
e044ddab6d DXF: do not ignore the setting that controls importing paper layouts 2025-06-23 14:06:02 +02:00
Paul Lee
57c3aab2e8 [ArchCurtainWall] Fix Vert-Horiz Mullion Mix-up & Support Swap (Variables name)
(Variables name improvement only)
2025-06-23 14:03:40 +02:00
Paul Lee
1a86f56051 [ArchCurtainWall] Fix Vert-Horiz Mullion Mix-up & Support Swap
Fix #21845
Curtain wall vertical/horizontal mullion mix-up
- https://github.com/FreeCAD/FreeCAD/issues/21845

Support/Feature #21866
Swap Horizontal Vertical does not work #21866
https://github.com/FreeCAD/FreeCAD/issues/21866
2025-06-23 14:03:40 +02:00
Chris Hennes
1295f10669 Help: Change URL sanitization to be safer 2025-06-23 14:02:36 +02:00
Paul Lee
32976f5500 [ArchRoof] Improve subVolume generation
Fix #21633 : Holes in roof are causing troubles

FreeCAD Forum : Sketch based Arch_Roof and wall substraction
- https://forum.freecad.org/viewtopic.php?t=84389

Improved algorithm:
1. Extrusion of bottom faces in +Z.
2. The roof itself.
3. Extrusion of the top faces in +Z.

TODO:
Find better way to test and maybe to split suface point up and down and extrude separately
2025-06-23 14:00:41 +02:00
Syres916
5f0c93758e [BIM] Fix Runtime Error when creating Wall (#21862)
* [BIM] Fix Runtime Error when creating Wall

* [BIM] Fix continueMode functionality for Wall, Panel and Structure
2025-06-23 13:59:13 +02:00
Kacper Donat
f71d1cf875 Gui: Use proper placement property for Link
Links require different placement property (LinkPlacement) to be used,
otherwise it breaks the transform.

Fixes: #20776
2025-06-22 23:04:06 -05:00