Commit Graph

31490 Commits

Author SHA1 Message Date
Max Wilfinger
23f29e3aa8 Fix linter warnings 2025-06-07 21:10:01 +02:00
wmayer
680ba751b3 Surface: Fix transaction support of BlendCurvePanel and bind widgets to properties 2025-06-06 16:11:00 +02:00
wmayer
327222f780 Surface: Add task panel for blending curve 2025-06-06 16:10:47 +02:00
Roy-043
c9a434377a Draft: fix focus behavior if Length has default focus and axis constraint is used
Fixes #21774.

The X, Y or Z input should have priority is an axis constraint is used.
2025-06-06 10:21:17 +02:00
Chris Hennes
493817a775 Merge pull request #21785 from 3x380V/sheet_fixes
Sheet: random fixes
2025-06-05 10:16:32 -05:00
Samuel
39e79cee58 CAM: fix default asset directory (#21775) 2025-06-05 08:20:19 -05:00
Luz Paz
5c219bea41 Sketcher: fix typo in source comment
Found via codespell
2025-06-05 14:39:32 +02:00
Furgo
de37c5157a BIM: Arch, docstring and linter fixes (#21763)
- Fix docstring markup, improve types
- Fix max length to 100 chars on comments
- Wrap all code to 100 chars max
- Add deprecation notice
2025-06-05 14:02:25 +02:00
paul
f6bba5d58e [ArchWindow] Bug-fix Changing Sill _&_ SketchArch Support Sill Property (#21726)
* [ArchWindow] Bug-fix Changing Sill _&_ SketchArch Support Sill Property

1.  Bug found in https://github.com/FreeCAD/FreeCAD/pull/21005 (Allow changing Sill parameter)

self.baseSill
self.basePos :
- need to be restored as 'initial' settings in onDocumentRestored() as corresponding codes in onChanged() does upon object creation

2.  ArchWindow with SketchArch add-on to support above 'Allow changing Sill paramemeter' feature
- Update to ArchWindow following groundworks in https://github.com/FreeCAD/FreeCAD/pull/21568/

* [ArchWindow] Bug-fix Changing Sill _&_ SketchArch Support Sill Property (rev)
2025-06-05 14:01:06 +02:00
wmayer
b38c8867d0 Sheet: Further cleanup in Sheet class
With PR 21445 an unused function has been removed. But the underlying
class member isn't used anywhere else and can be removed as well.
2025-06-05 10:15:58 +02:00
wmayer
513260d29d Sheet: Improve handling of unsupported formulas
With the example file of issue 20299 the parser stops with an exception
and reads in the formulas only partially. This PR doesn't fix the issue
but avoids to raise an exception so that as much as possible will be
read in. For unsupported formulas a suitable message is printed with
the content of the cell.
2025-06-05 10:15:28 +02:00
wmayer
a46f79aa68 Sheet: Fix crash in Cell::setContent
This fixes issue 14697
2025-06-05 10:15:24 +02:00
wmayer
c215bd7be9 Sheet: Fix reading xlsx files
for the specs of the XLSX file format see:
https://jkp-ads.com/articles/excel2007fileformat00.aspx or
https://www.data2type.de/xml-xslt-xslfo/spreadsheetml/xlsx-format

In order to find the correct sheet file one has to first read-in
xl/_rels/workbook.xml.rels and save the relations of Id and Target.
The file xl/workbook.xml contains a list of sheet elements where for
each element the attribute 'r:id' is set. This attribute can be used
to look up for the actual data file.

This fixes issue 19757
2025-06-05 10:14:42 +02:00
wmayer
0c4fb60225 Sheet: Disable zooming
With PR 16130 the zooming capability was added to spreadsheet view.

The SheetTableView is added to a QGraphicsScene of a QGraphicsView
that provides the method scale(). However, this causes some problems
with header of the table view and makes resizing columns or rows
very unintuitive.

A correctly working table view is probably more important than the
possibility to zoom in or out and that's why the latter will be
disabled.

This fixes issue 19863
2025-06-05 10:14:03 +02:00
Gonzalo
bcfda35b42 Avoid error importing spreadsheet with deleted sheet (#19757)
This fix was proposed by pageeddie on https://github.com/FreeCAD/FreeCAD/issues/19757
2025-06-04 21:54:31 -05:00
Roy-043
cfdb99fb60 BIM: improve unit handling in Arch_Roof task panel (#21773)
* BIM: improve unit handling in Arch_Roof task panel

Fixes #21137.
Improvement for #21175.

units are now kept when a cell receives the focus.

Additionally:
* The first and last column have been made read-only.
* Some columns have been widened.
* The text in the task panel has been reordered to match the order of the columns.

* _RoofTaskPanel_Delegate class only if Gui is up

* typo
2025-06-04 21:25:33 -05:00
Andrea
85b7e0a498 update addonManager submodule to main 2025-06-04 21:17:13 -05:00
David Carter
657da35e6b Materials: Set array quantity format (#21647)
* Materials: Set array quantity format

When setting quantity formats, the default format is not actually the
default. Instead fixed format is, which causes issues for very small
and very large values. This was fixed for C++ but arrays created in
Python were not setting the format correctly.

* Apply suggestions from code review

Co-authored-by: Benjamin Nauck <benjamin@nauck.se>
2025-06-04 16:27:37 +00:00
Benjamin Nauck
7105a2332e Merge pull request #21147 from 3x380V/units
Units rework II
2025-06-04 15:58:00 +02:00
Ryan Kembrey
9d8952627c Fem: Fix typo in VTK module warning: 'then' -> 'than' (#21752)
Co-authored-by: Ryan Kembrey <ryan.kembrey@student.uts>
2025-06-04 07:22:20 +02:00
PaddleStroke
9d48371ab4 Sketcher: Fix #21646 (#21739) 2025-06-04 06:13:44 +02:00
Chris Hennes
272c3034b4 Merge pull request #21659 from 3x380V/gui_fixes
Gui: random fixes
2025-06-03 19:23:21 -05:00
sliptonic
7f6af23acb Cam: Add Ondsel SVG post processor (#21743)
* Ondsel SVG post processor

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

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

* Update src/Mod/CAM/Path/Post/scripts/svg_post.py

* Update src/Mod/CAM/Path/Post/scripts/svg_post.py

---------

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-03 21:37:20 +00:00
Alfredo Monclus
69f3dae845 PD: hole change the task panel threaded and model thread checkboxes into a combo/dropdown (#21664)
* PD: hole change threaded and modeled to combo in taskpanel

* Gui: Property editor apply review suggestions
2025-06-03 21:14:52 +02:00
sliptonic
434dc61e9d Merge pull request #21569 from tarman3/vcarve
CAM: Vcarve - fix zStart
2025-06-03 08:44:42 -05:00
Furgo
94a4639bc3 BIM: ignore FreeCAD groups for IFC export, controlled by a user preference (#21583)
* Add .db extension to git ignore list

* BIM: new feature - add ignore groups option on IFC exports

* BIM: create generic get_architectural_contents function
2025-06-03 11:19:07 +02:00
theo-vt
9a80921d74 Sketcher: Fix scaling down ellipses and arcs of ellipses (#21718)
* Reorder ellipse major/minor radius assignment when scaling down

* [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-03 11:16:56 +02:00
paul
93b53af0d1 [BimWindow] ArchWindow/MakeWindow Normal Default Auto & SketchArch Support Sill Property (#21568)
https://github.com/FreeCAD/FreeCAD/pull/21261
Historically, the normal of a Window object was deduced by the orientation of the Base Sketch and hardcoded in the Normal property.
Now with the new AutoNormalReversed property/flag (above PR), set True as default, the auto Normal previously in opposite direction to is now consistent with that previously hardcoded.
With the normal set to 'auto', window object would not suffer weird shape if the Base Sketch is rotated by some reason.
The Normal property is set to  'auto' (0,0,0) default following the above PR.

https://github.com/FreeCAD/FreeCAD/pull/21005
BIM: Allow changing Sill parameter in Properties for Window #21005
Ground work is added to support Window augmented by SketchArch Parametric Placement feature (PR to ArchWindow.py to be submitted separately)
2025-06-03 11:15:18 +02:00
Brad Eric Hollister
4dff82f7a3 proposed fix for https://https://github.com/FreeCAD/FreeCAD/issues/20856github.com/FreeCAD/FreeCAD/issues/20856. NOTE: AddonManager and Telemetry addon ui files are in separate repos 2025-06-03 09:37:22 +02:00
Ladislav Michl
f8d2789a43 Base: Units: introduce unit one
Dimensionless quantities have all exponents equal to zero.
Such quantities are simply numbers. The associated unit is
the unit one, symbol 1, although this is rarely explicitly
written.

See chapter 2.3.3 Dimensions of quantities, The International
System of Units, 9th edition.
2025-06-03 09:31:38 +02:00
Ladislav Michl
1c955c9347 Fem: get unit via quantity
Unit is interally using Quantity to parse string input, so use it
explicitely as string constructor for Unit is going to be dropped.
2025-06-03 09:31:38 +02:00
Ladislav Michl
913c30429c Base: Quantity: use isDimensionless whenever feasible
Quantity is often queried for Unit just to see if it has a dimension.
Ask Quantity directly using isDimensionless() method and modify that
method not to care about Quantity value validity; no user was ever
asking for value validity.
2025-06-03 09:31:38 +02:00
tetektoza
9b40afea7a Sketcher: Do not allow mouse interruption while entering dimension (#20925)
* Sketcher: Do not allow mouse interruption while entering dimensions

So, currently user has an option to enter dimensions to different
Sketcher elements like circle, line, or hexagon, whatever else. But, if
they move mouse during entering of those parameters, they are gone.

This is because we are currently allowing for constant
`QAbstractSpinBox` value change during mouse move, it stops changing
ONLY AFTER value is being set (user enters number and presses ENTER
or TAB).

So, this patch introduces one more state for `EditableDatumLabel` which
is `hasFinishedEditing` which is being triggered by ENTER or TAB key,
and still keeping old `isSet` state, which disallows mouse movement
disruption and dynamically updates the edited element on viewport.
This means, that all objects now wait for `hasFinishedEditing` state to
actually finish editing.

* Sketcher: Avoid out of boundary access by checking onViewParameters size

* Sketcher: Add missing Qt headers for CI

* Sketcher: Allow using TAB to switch between labels without accepting

* Sketcher: Change to or statement, so enter will accept both labels

* Sketcher: Apply review comments

* used casting directly in if statement and auto to keep linter happy
* added comments for flags used for describing EditableDatumLabel states
2025-06-02 22:18:42 +02:00
tarman3
c30407cbbf CAM: Vcarve - fix zStart 2025-06-02 22:53:37 +03:00
David Carter
db1b5a8773 Materials: Pass by reference instead of pointers
Refactoring topass by reference instead of using existing pointers.
2025-06-02 11:32:08 -05:00
Furgo
670a85de97 BIM: fix ArchRebar default name (#21681)
* BIM: ArchRebar, only import GUI modules if the GUI is up

* BIM: ArchRebar, add tests

* BIM: Arch.makeRebar, fix rebar default name

* BIM: Arch.makeRebar, add type hints

* BIM: Arch.makeRebar, add code comments

* BIM: Arch.makeRebar, expand docstring
2025-06-02 18:31:50 +02:00
PaddleStroke
e06d8abe3a TechDraw: Sheet view: add property to claim sheet as child. (#21624)
* TechDraw: Sheet view: add property to claim sheet as child.

* Update ViewProviderSpreadsheet.cpp

* Fix bad scale of sheet views
2025-06-02 11:29:22 -05:00
Turan Furkan Topak
8cfad161f0 Update Help.py 2025-06-02 18:28:09 +02:00
WandererFan
5cdf13d6bd Merge pull request #21377 from WandererFan/Removesnprintf
[TD]remove snprintf
2025-06-02 18:24:05 +02:00
Kacper Donat
c6130552ca Merge pull request #21427 from tritao/async-occt-progress
Part: Introduce `OCCTProgressIndicator` and port operations to support it.
2025-06-02 18:04:38 +02:00
sliptonic
b82c7b6c7c Merge pull request #21694 from tarman3/jobvisibility
CAM: Fix Job toggleVisibility
2025-06-02 11:04:33 -05:00
sliptonic
732335119f Merge pull request #21644 from tarman3/drill
CAM: Drilling - RetractMode readonly
2025-06-02 10:55:54 -05:00
sliptonic
b017e4b2c0 Merge pull request #21338 from dbtayl/fix-21058
CAM: Adaptive: Fix helix entry start height (fix #21058)
2025-06-02 10:54:50 -05:00
sliptonic
ffc8d21d4b Merge pull request #21643 from tarman3/dressupboundary
CAM: Dressup Boundary - CmdMoveDrill
2025-06-02 10:52:09 -05:00
Alfredo Monclus
551c15b48f feat(PD): ISO tyre valve threads 2025-06-02 10:50:10 -05:00
Chris Hennes
9b9d56cc17 Merge pull request #21558 from WandererFan/PyRoutineInvertY
[TD]Return QT or Conventional coords for geometry in Py routines (fix #21473)
2025-06-02 10:41:29 -05:00
sliptonic
2a26a38f0f Merge pull request #21425 from knipknap/btl
CAM: Integration of the tool and shape editors from BTL (Better Tool Library)
2025-06-02 10:37:38 -05:00
sliptonic
cd71030353 Merge pull request #21619 from tarman3/leadinout
CAM: Dressup LeadInOut - fix property name select style
2025-06-02 10:30:35 -05:00
sliptonic
0eacdd2613 Merge pull request #21617 from tarman3/profileoutside
CAM: Offer correct side for Profile
2025-06-02 10:28:45 -05:00
Roy-043
e4adfc63d7 Draft/BIM: change BezCurve, BSpline and Wire to Part::FeaturePython
Fixes: #7387.

See comment: https://github.com/FreeCAD/FreeCAD/issues/7387#issuecomment-2915599566

PR to change the base object of BezCurve, BSpline and Wire to `Part::FeaturePython`. This will only affect new objects. So code will have to also keep handling the old object type (`Part::Part2DObjectPython`).

The modification of BimPreflight.py needs to be verified. The steps in the old code lacked logic IMO. But I may have misunderstood.
2025-06-02 17:27:20 +02:00