Commit Graph

31768 Commits

Author SHA1 Message Date
sliptonic
76ff1b5e46 Merge pull request #22051 from tarman3/tagfixes
CAM: Dressup Tag some fixes
2025-06-25 13:03:10 -05:00
Kacper Donat
c383703c01 Merge pull request #22150 from Rexbas/remove-camera-adjust-method
Remove Command::adjustCameraPosition()
2025-06-25 13:11:00 +02:00
Furgo
0056f4d9a9 Import: DXF reporter, add unsupported indicator 2025-06-25 07:41:03 +02:00
Furgo
9ac905b140 Import: DXF reporter, add filename to report 2025-06-25 07:41:03 +02:00
Furgo
41709fa338 Import: DXF parser, correctly pass line no. and handle 2025-06-25 07:41:03 +02:00
Furgo
318f205708 Import: DXF backend/frontend, report more unsupported features info
Now for unsupported features we report on line numbers and on the entity
handle, in case that unsupported feature is a DXF entity. To avoid
flooding the output, only a maximum of 5 instances are reported with
details. The rest simply add up to the global count and are ellipsized
in the report.

Report output is now in sentence case.
2025-06-25 07:41:03 +02:00
Furgo
89d2937afd Import: DXF parser, fix macOS linker issue 2025-06-25 07:41:03 +02:00
Furgo
3f606177e3 Import: DXF parser, remove original unsupported features count and warning 2025-06-25 07:41:03 +02:00
Furgo
789ca45280 Import: DXF importer, add code comments to C++ to Python stats passing function 2025-06-25 07:41:03 +02:00
Furgo
9eaecf6803 Import: DXF parser, add entities in paperspace count 2025-06-25 07:41:03 +02:00
Furgo
d77cdf999b Import: DXF parser, add DXF block count 2025-06-25 07:41:03 +02:00
Furgo
f84ed59a43 Import: DXF backend, frontent; add time measurement 2025-06-25 07:41:03 +02:00
Furgo
77e4047871 Import: DXF frontend, improve scale reporting 2025-06-25 07:41:03 +02:00
Furgo
ceb72924c2 Import: DXF parser, disable now redundant unsupported entities reporting 2025-06-25 07:41:03 +02:00
Furgo
e8ce264507 Import: DXF parser/imported improve unsupported features count
Classify unsupported features by type, and report on
the breakdown.
2025-06-25 07:41:03 +02:00
Furgo
ea40128ea4 Import: DXF parser/importer, improve scale reporting
Report additional information about user scaling
value, scaling info source and resulting scale,
including units.
2025-06-25 07:41:03 +02:00
Furgo
d17db2ded1 Import: DXF Python frontend, implement stats reporter 2025-06-25 07:41:03 +02:00
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
Gaël Écorchard
681be5b49c BIM: satisfy github-advanced-security
Signed-off-by: Gaël Écorchard <gael@km-robotics.cz>
2025-06-25 07:40:09 +02:00
wmayer
86359a3183 PD: Correctly handle single solid rule for loft with and without base 2025-06-25 00:14:15 +02:00
wmayer
7335c798d1 PD: Use isSingleSolidRuleSatisfied() for pipe feature
This fixes issue 18977

Fixes: 17ad40b2c9f0 ("PartDesign: Refactor single-solid rule enforcement")
2025-06-25 00:13:54 +02:00
wmayer
25e73289ae PD: Fix regression about single-solid check
For several PD features the single-solid check fails. The regression
is caused by PR 13960 and reported as issue 19002. The reason for the
failure is that the first solid of the output shape is retrieved and
then checked for a single solid. This test will always pass, of course.

The single-solid is fixed for these features:
* Pad
* Pocket (never worked there)
* Fillet
* Chamfer
* Groove (never worked there)
* Revolution (never worked there)
* Loft

Fixes: 17ad40b2c9f0 ("PartDesign: Refactor single-solid rule enforcement")
2025-06-25 00:09:33 +02:00
Roy-043
822999ba93 Update ImageBuilder.py 2025-06-24 20:30:46 +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
Gaël Écorchard
1c13623a06 BIM: fix geometry under node tags
I took the file
[link_3.dae](514790a553/kuka_kr210_support/meshes/kr210l150/visual/link_3.dae)
as test.
Before this commit, no geometry is loaded because the childer of `node`
are `Node` instances not geometry.
To access all the geometries, `col.scene.objects("geometry")` is used,
cf. https://pycollada.readthedocs.io/en/latest/structure.html.

Signed-off-by: Gaël Écorchard <gael@km-robotics.cz>
2025-06-24 12:14:52 +02:00
Gaël Écorchard
6ea5891de6 BIM: remove unused variable DEBUG 2025-06-24 12:14:52 +02:00
Gaël Écorchard
b13ac833c5 BIM: improve style of importDAE.py 2025-06-24 12:14:52 +02:00
Gaël Écorchard
7da60d20f1 BIM: Use labels in DAE export
Signed-off-by: Gaël Écorchard <gael@km-robotics.cz>
2025-06-24 12:14:51 +02: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
Bas Ruigrok
7a49335cad PartDesign: Remove use of adjustCameraPosition() 2025-06-23 19:28:56 +02:00
Bas Ruigrok
37b0d12e83 Part: Remove use of adjustCameraPosition() 2025-06-23 19:27:09 +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
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