Commit Graph

31812 Commits

Author SHA1 Message Date
Furgo
37cd1a657a Import: DXF importer, refactor preferences UI 2025-07-14 10:18:04 +02:00
Furgo
ef9378bd5b Import: improve DXF C++ importer support for BLOCK and INSERT entities (#22045)
* Import: DXF importer, block and inserts overhaul

Implement support for blocks as definitions and inserts
as instances.

A BLOCK definition becomes a hidden master object in a
_BlockDefinitions group (currently a Part::Compound).
An INSERT becomes a visible App::Link that points to
that master definition.

* Import: DXF parser/importer add debug print statements

* Import: DXF importer, various improvements

- Add more code comments
- Correctly increase object count
- Improve readability of anonymous block checks

* Import: DXF (all) report anonymous blocks separately

* Import: DXF importer (App + GUI) add nested inserts support

* Import: DXF importer (GUI) fix preserving colors for inserts

* Import: DXF importer, make primitives naming more specific

* Import: DXF parser/importer remove debug print statements

* Import: DXF parser, work around DXF color index 7

* Import: DXF importer GUI, temporary debug print to show layer color data

* Import: DXF importer, fix nested inserts hierarchy

* Import: DXF importer, prefix and suffix underscores to names

To work around mangling from FreeCAD's unique name generator.

* Import: DXF importer, implement flattening blocks on import

* Revert "Import: DXF importer GUI, temporary debug print to show layer color data"

This reverts commit b6ece395c9d2b8a1e0796d6f7b0d58842a2f3686.

* Import: DXF importer, fix imported text orientation

The DXF file provides the text rotation angle in degrees.
The used rotZ function expects the angle in radians,
thus the conversion needs to be made.

Fixes: #21548

* Import: DXF importer, honour the preference to not import layouts

* Import: DXF importer, move unreferenced blocks to separate group

This provides better classification, but it has a performance hit:
we import all blocks as before, we sort them and we reparent them
to the correct group. The reparentipart with Grou.setValues()
appears to be an expensive call. Probably because internally the
FreeCAD dependency graph is modified.

* Import: DXF importer, count compound children in the report

* Import: DXF importer, cleanup defined blocks group if empty
2025-07-12 13:38:13 +02:00
Roy-043
a30197fd6c Draft: 1st downgrade of lofts and sweep should be de-parametrization 2025-07-12 13:29:32 +02:00
Roy-043
2fe79e95cc BIM: store Classification prefix setting 2025-07-12 13:25:23 +02:00
sliptonic
901deb1373 Merge pull request #22330 from z0r0/fanuc-postprocessor-fix
CAM: Fix for Fanuc Post-Processor
2025-07-11 11:00:50 -05:00
Fermín Olaiz
7fec747d90 Fix crash on out-of-bound vector access (#22397) 2025-07-09 19:07:11 +02:00
Roy-043
ff9cbf2052 BIM: fix autojoin behavior (#22303)
* BIM: fix autojoin behavior

* Use new deletebase argument of joinWalls

* Remove colon from task bar title
2025-07-08 15:19:19 +02:00
FEA-eng
8cc90069eb Sketcher: Add tooltip for autoscale feature (#22252)
* Sketcher: Update SketcherSettings.ui

* Sketcher: Update SketcherSettings.ui
2025-07-07 18:31:55 +02:00
FEA-eng
0367c952dd FEM: Update ElementGeometry1D.ui (#22134) 2025-07-07 18:16:22 +02:00
sliptonic
c5f97ee894 Merge pull request #21341 from tarman3/arraywarning
CAM: Changes in warnings of old Array
2025-07-07 11:06:11 -05:00
FEA-eng
393edbcb3e Part: Enable solid creation by default for Loft and Sweep (#22098)
* Part: Update PartFeatures.cpp

* Part: Update DlgRevolution.ui

* Part: Update TaskLoft.ui

* Part: Update TaskSweep.ui

* Part: Update PartFeatures.cpp

* Update src/Mod/Part/Gui/DlgRevolution.ui

---------

Co-authored-by: Max Wilfinger <6246609+maxwxyz@users.noreply.github.com>
2025-07-07 17:46:19 +02:00
Roy-043
0ccfaf2d8a Draft: gui_utils.py minor improvement for autogroup 2025-07-07 17:03:21 +02:00
Roy-043
3e39a01312 Draft: make_sketch.py should not use view direction (#22249) 2025-07-07 17:02:14 +02:00
tetektoza
3b73888b43 BIM: Add an option to preload IFC types during document opening (#21450)
* BIM: Add an option to preload IFC types during document opening

Currently, IFC types are only possible to be loaded if user double
clicks an IFC object, and this has be done for optimization reasons.

But user can also want to preload IFC types, so this patch adds an
option to the dialog and Properties dialog to do just that.

* BIM: Remove cyclic import

---------

Co-authored-by: Yorik van Havre <yorik@uncreated.net>
2025-07-07 16:06:43 +02:00
Zbyněk Winkler
7fcfef5972 Copy subvolume before changing its Placement
Placement property of a cached object was modified each time
component is recalculated.

Fixes #22162.
2025-07-07 15:35:26 +02:00
Roy-043
9156ac3e27 BIM: check OutListRecursive in addComponents 2025-07-07 14:57:19 +02:00
Roy-043
360241c8bf BIM: improve Arch_MergeWalls (#22262)
* BIM: improve Arch_MergeWalls

* Improve delete behavior

Keep hosted objects*, additions and subtractions if delete is False. 

* For hosted objects with a Host property this is not possible.

* Make deletion of base objects optional
2025-07-07 14:51:27 +02:00
Roy-043
7b6f97f4fc BIM: fix visibility handling of objects hosted by additions 2025-07-07 14:46:29 +02:00
Roy-043
50f07be55b BIM: fix handling of Project coin nodes (#22244)
* Update ArchProject.py

* Update ArchSite.py
2025-07-07 14:45:07 +02:00
Syres916
2c1a6b777b [BIM] Stop combobox sizeAdjustPolicy warning 2025-07-07 14:42:58 +02:00
Roy-043
12f4d1da2e BIM: fix profile selection (#22223)
* Update params.py

* Update ArchStructure.py

* Update BimProfile.py
2025-07-07 14:39:55 +02:00
Roy-043
b0dabc2237 BIM: fix Arch_SectionPlane 'Toggle Cutview' issue 2025-07-07 14:28:06 +02:00
Ryan Kembrey
9cfc2ea6ac Sandbox: Update UI strings for consistency 2025-07-07 13:51:33 +02:00
Roy-043
af71c26687 BIM: fix default radius for rectangular pipe connector
Fixes #22364.

The default radius of a connector between rectangular pipes should depend on the Height or Width of the pipe (the max. of the two is used), not on the hidden (and unused) Diameter property.
2025-07-07 13:46:38 +02:00
Max Wilfinger
e6d74e6316 Sketcher: Update missed UI strings (#22363) 2025-07-07 10:16:07 +02:00
theo-vt
16fa3ad094 Sketcher: Autoscale: do not scale dimension's position if it is a radius or diameter (#22308)
* Do not scale dimension's position if it is a radius or diameter

* Update src/Mod/Sketcher/Gui/EditDatumDialog.cpp

Sketcher: spell checking

---------

Co-authored-by: Benjamin Nauck <benjamin@nauck.se>
2025-07-06 23:25:24 +00:00
Syres916
1ae3394be4 [TechDraw] Fix Qt6 compatability of FillTemplateFields tool 2025-07-06 16:49:18 +02:00
Kacper Donat
93a472c202 Merge pull request #22138 from chennes/compilerWarningCleanup20250622
Compiler warning cleanup
2025-07-06 16:32:08 +02:00
Roy-043
22c92d550c Update DraftGui.py 2025-07-05 22:44:22 +02:00
Kacper Donat
e65f69715b CAM: Fix origin indicator for Job
This commit fixes how origin (coordinate system) indicator looks. Before
it showed as disc, and now it shows as point which is more approperiate
given the context.
2025-07-05 18:46:01 +02:00
Luz Paz
059619cc28 Fix various typos
Found via codespell
2025-07-04 21:24:09 +02:00
Ian Abreu
2a9e7439c2 Merge branch 'fanuc-postprocessor-fix' of github.com:z0r0/FreeCAD into fanuc-postprocessor-fix 2025-07-04 11:31:21 -04:00
Ian Abreu
8a69bdb0c4 correcting to use Tool vs. ToolController 2025-07-04 11:30:46 -04:00
Ian Abreu
127a536625 Merge branch 'main' into fanuc-postprocessor-fix 2025-07-04 11:21:14 -04:00
Ian Abreu
2ec501f802 initial fix 2025-07-04 11:10:43 -04:00
Benjamin Nauck
1e1a967bd5 Merge pull request #22319 from davesrocketshop/importer_fixes 2025-07-04 06:10:37 +02:00
David Carter
423f3cca6b Materials: Add import for unimplemented fields
Adds import/export support for unimplemented material fields.

This includes reference source and URLs, and tag fields. Tag support
remains unimplemented in the editor, but is supported by a number
of materials in the FCMat files. They can be accessed in both C++
and Python.
2025-07-03 14:32:27 -04:00
pre-commit-ci[bot]
43cb525948 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2025-07-03 10:45:55 +02:00
FEA-eng
c593d8e8c1 FEM: Update Command.cpp 2025-07-03 10:45:55 +02:00
FEA-eng
914b566677 FEM: Update commands.py 2025-07-03 10:45:55 +02:00
FEA-eng
8f8b1afc8c FEM: Update TaskPostFrames.ui 2025-07-03 10:45:55 +02:00
David Carter
3515db4a3b Materials: Add support for embedded images
Adds support for file types other than PNG to embedded images in
materials. Adds checks to prevent crashing when an unsupported image
type is used.
2025-07-02 11:01:59 -05:00
FEA-eng
21eff41238 FEM: Update Command.cpp 2025-07-02 10:52:39 -05:00
tarman3
3836f8dbb9 CAM: Changes in warnings of old Array 2025-07-01 06:11:56 +03:00
Max Wilfinger
36659f0176 Sketcher: Update UI strings for consistency (#22167)
* Sketcher: Update UI strings for consistency

* Update src/Mod/Sketcher/App/Sketch.cpp

Co-authored-by: Ryan K <114723629+ryankembrey@users.noreply.github.com>

* Update src/Mod/Sketcher/Gui/Command.cpp

Co-authored-by: Ryan K <114723629+ryankembrey@users.noreply.github.com>

* Update src/Mod/Sketcher/App/SketchObject.cpp

Co-authored-by: Ryan K <114723629+ryankembrey@users.noreply.github.com>

* Update src/Mod/Sketcher/Gui/Command.cpp

Co-authored-by: Ryan K <114723629+ryankembrey@users.noreply.github.com>

* Update src/Mod/Sketcher/Gui/Command.cpp

Co-authored-by: Ryan K <114723629+ryankembrey@users.noreply.github.com>

* Update src/Mod/Sketcher/Gui/Command.cpp

Co-authored-by: Ryan K <114723629+ryankembrey@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: Ryan K <114723629+ryankembrey@users.noreply.github.com>

* Apply suggestions from code review

* Apply suggestions from code review

---------

Co-authored-by: Ryan K <114723629+ryankembrey@users.noreply.github.com>
2025-06-30 22:51:46 +00:00
Samuel Abels
f952728809 remove unused import of PartGui 2025-06-30 21:30:34 +02:00
Roy-043
90a6bb7ea4 BIM: fix setting of self.Type
Fixes #21364.

`self.Type` should be set in `__init__` and `loads`, and not in `onDocumentRestored`.

Additionally:
fixed mistake in `loads` in ifc_objects.py.
2025-06-30 11:05:41 -05:00
Roy-043
8add557e2f Draft: fix setting of self.Type
Fixes #17750.

`self.Type` should be set in `__init__` and `loads`, and not in `onDocumentRestored`.
2025-06-30 11:05:25 -05:00
Ryan K
dd5cb6aa61 TechDraw: ActiveView rework (#22107)
* TechDraw: Rework ActiveView

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

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

---------

Co-authored-by: Ryan Kembrey <ryan.kembrey@student.uts>
Co-authored-by: Benjamin Bræstrup Sayoc <benj5378@outlook.com>
2025-06-30 12:04:12 -04:00
Chris Hennes
faa56d4e3f Merge pull request #21985 from furgo16/dxf-stats-reporter
Import: add DXF statistics reporter
2025-06-30 10:55:57 -05:00