Commit Graph

30857 Commits

Author SHA1 Message Date
Benjamin Nauck
6f535f19fb Prefer to use BaseClass's isDerivedFrom<T> over non template or Base::Type's
Regex based changes, manually verified
2025-01-27 16:08:18 +01:00
Benjamin Nauck
6a3eb2ab49 Use is<T>() when possible 2025-01-27 16:08:18 +01:00
Benjamin Nauck
02aa90f6c7 Export subclasses of Part::Feature 2025-01-27 16:08:18 +01:00
Paul Lee
27732fdf50 [ArchWall] Fix Regression Single-edge Wall w/ Multi-Material
Forum Discussion
- https://forum.freecad.org/viewtopic.php?t=93610&start=10#p806296

Github Issues
- https://github.com/FreeCAD/FreeCAD/issues/19147#issuecomment-2607946858
2025-01-27 14:29:04 +01:00
Julien Masnada
33816bd82b Improve decoration of walls, floors and ceilings. Improve creation of floor's slab 2025-01-27 14:25:51 +01:00
Joona
7374b1d890 Initialize sketcher group command shortcuts
Set the first subcommand's shortcut as the group command's shortcut for all sketcher group commands.
2025-01-26 15:49:24 +02:00
Joona
f763a7fb9f Updated tools to use group command class.
Updated rectangle, polygon and spline group commands to use group command class.
Added separator comments with tool names for better code organization.
2025-01-26 15:18:38 +02:00
jffmichi
6e361b8bd1 Sketcher: fix seg-fault on loading sketch with redundant constraints 2025-01-26 06:46:34 -06:00
Tim
0db1a2e034 [AddonManager] Fix construct_git_url return urls with '.git'. (#19242)
* [AddonManager] Fix construct_git_url return urls with '.git'.
2025-01-26 06:45:14 -06:00
Joona
c9851629e3 Rearranged file for better logical grouping
Reorganized the functions in the file to improve logical grouping and readability.
No actual code changes were made—only the order of functions was adjusted.
2025-01-26 13:15:54 +02:00
Andrea
87ed2bb6dc Clean importCSG.py
Clean code
Update importCSG.py
2025-01-25 05:35:43 -06:00
Chris Hennes
9e70cac0be PD: Migrate onlyHasToRefine
This was a later addition that got missed when merging.
2025-01-25 04:25:41 -06:00
wandererfan
add93323d7 [TD]fix cosmetic circle arc handling 2025-01-24 17:29:22 -05:00
tritao
4c93a14fea Gui: Reorganize the dialog files into a top Dialogs folder. 2025-01-24 16:28:02 -06:00
wandererfan
dbf2e85f6f [TD]control svg scaling at object level 2025-01-24 16:34:18 -05:00
wandererfan
2bc9f2ea1f [TD]allow showing units on individual dimensions 2025-01-24 13:04:00 -05:00
Chris Hennes
895d70b7f8 Merge branch 'main' into bgbsww-toponamingAddFeatureRefine 2025-01-24 09:33:57 -06:00
pre-commit-ci[bot]
aec8772c13 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2025-01-24 15:45:43 +01:00
Benjamin Bræstrup Sayoc
16b07c1485 [Sketcher] Make axis colors changeable 2025-01-24 15:45:43 +01:00
Ulices
83a04d2582 AddonManager: open addon's location directory (#19209)
* AddonManager: open addon's location directory
* AddonManager: account for macros when setting addon location
2025-01-24 06:48:46 -06:00
Roy-043
9bbdbd198b Draft: DraftGui.py fix displayPoint
Fixes #18744.
2025-01-23 11:44:26 +01:00
Ulices
99df928459 Add units to some spinboxes on preferences pages (#19143)
* Add units to some spinboxes on preferences pages
* Ensure units have a space, ex: " px"
* FEM: Don't mark units for translation
2025-01-22 09:05:49 -06:00
marioalexis
0757a78cad Fem: Rename enable/disable electromagnetic properties 2025-01-22 11:17:59 -03:00
marioalexis
0194070ce9 Fem: Update electromagnetics boundary conditions 2025-01-22 11:17:59 -03:00
marioalexis
30c7efbc60 Fem: Fix vector potential unit and use enumeration property for boundary condition 2025-01-22 11:17:59 -03:00
André Kapelrud
9ad7bd37e3 Fem: Add Neumann boundary condition for electrostatic potential 2025-01-22 11:17:59 -03:00
marioalexis
f24d24c9ac Fem: return from Python setEdit methods 2025-01-22 08:13:08 -06:00
Roy-043
322b354fe8 Added is not None checks
Also added two local variables in BimLayers.py.
2025-01-22 10:41:11 +01:00
Roy-043
713db4bc5e Draft and BIM: Layer manager minor code improvements
The code should not add the LinePrintColor property. That should be done elsewhere.
2025-01-22 10:41:11 +01:00
JULIEN MASNADA
fd34f14fc3 SH3DImporter: Miscellaneous improvements (#19178)
* Fixed documentation and confusing variable name

* Prepare for joined wall fix

* Fixed invalid Part::Sweep on certain joined walls

* Calculate the Length in case of a curved segment

* Adding Arch::Space for each room, and group furnitures in these spaces

* Fixed baseboard import

* Add baseboard to Space and wall to Space.Boundaries

* Fixed space attribution when importing furniture as Arch::Equipment

* Adding site properties

* Allow creation of reference ground mesh

* Make sure get_space takes level into account

* Added sh3dCreateGroundMesh preferences

* Sensible ordering for import preferences

* Move furniture at least up to the floor upper facewq

* Avoid gap between floors. Adjusted wall height and furniture placement

* Preparing to allow model_rotation attribute in furniture

* Fixed tipo in model_rotation

* Make space upper face does exists

* Use Facebinder to paint walls. do not offset by floor thickness.

* Use Draft.make_facebinder()

* Workaround for issue #19172. Refreshing the list of Faces and removing the extra '?' character
2025-01-22 10:08:46 +01:00
Roy-043
7241f01c36 BIM: Fix BIM Schedule
Fixes #18934.
2025-01-22 10:07:35 +01:00
Roy-043
58a7b2ff28 Draft: updates related to transparency to alpha change 2025-01-22 10:04:47 +01:00
Roy-043
3c3cf74cb0 Draft: DraftGui.py fix updateSnapper and implement display_point_active
* The updateSnapper function did not work properly.
* Added display_point_active attribute to prevent the displayPoint function from triggering the changeXValue etc. functions. This would lead to a loss of accuracy as the rounded displayed values would be read from the inputboxes.
2025-01-22 10:03:36 +01:00
Beep6581
022b9d3536 Auto scroll to constraint on click (#18859)
* Auto scroll to constraint on click

When clicking on a contrasint in Sketcher, that constraint is now
automatically scrolled to in the Constraints listview. If selecting
multiple constraints, the last one is scrolled to.
Closes #17361

* Check model() for nullptr

* scrollTo only on select, not de-select #18859
2025-01-21 11:33:51 -06:00
wmayer
ca9431f4cb PD: Fix build failure 2025-01-21 09:34:30 -06:00
Roy-043
dfc2593d4c Merge pull request #19166 from Roy-043/Draft-DraftGui.py-improve-some-tooltips
Draft: DraftGui.py improve some tooltips
2025-01-21 15:46:00 +01:00
Roy-043
b055924bd7 Changed one tooltip as requested 2025-01-21 15:17:03 +01:00
Chris Hennes
b4816e36a7 Sketcher: Refactor C++20 code 2025-01-20 20:57:34 -06:00
wmayer
fff5c8a7e8 Part: Fix wrong attachment of datum lines
Fixes #19113
2025-01-20 16:40:46 -06:00
Jacob Oursland
18c29bda93 Fix call to setTemporaryVisibility() post API change. 2025-01-20 16:39:52 -06:00
Roy-043
e79beed491 Draft: DraftGui.py improve some tooltips
Avoid 'new point' and 'next point' in tooltips as this does not always apply.
2025-01-20 20:53:25 +01:00
PaddleStroke
c984a5d4db PartDesign NewSketch: Add a parameter to use attachment dialog instead of feature pick 2025-01-20 12:27:04 -05:00
Roy-043
48a15fa83a Draft: DXF export: add handling of text justification
Fixes #18964.
2025-01-20 18:24:30 +01:00
Roy-043
2ee620ab42 Draft: make move, rotate and scale commands link-aware (#18795)
* Draft: make move, rotate and scale commands link-aware

Fixes #12836.
Fixes #15681.

These changes are presented as a single ('big') PR because the mentioned commands have several similarities. Working on them seperately would have made less sense.

The commands have been made 'link-aware' meaning they can now handle Links and objects in linked containers.

This required several changes in the following main files. For each command all options are handled by a single function now (the `move`, `rotate` and `scale` functions). This was the only reasonable solution to correctly handle nested placements. As a result there is no longer a need to build very complex 'cmd' strings in the gui_*.py files (which is a good thing IMO).

Main files:

* move.py
* rotate.py
* scale.py
* gui_move.py
* gui_rotate.py
* gui_scale.py
* gui_trackers.py

The following files have also been updated:

* Draft.py: Imports updated.
* DraftGui.py: If `CopyMode` is changed the ghosts have to be updated. The move and rotate commands now also show previews of movable children. But since those are not copied they should be removed from the ghosts if `CopyMode` is changed to `True`.
* utils.py: Some helper functions have been added. An existing helper function (only used internally) has been renamed.
* gui_utils.py: The `select` function has been updated to accept a list of tuples to allow the reselection of nested objects.
* clone.py: A new property `ForceCompound`, necessary for non-uniform scaling, has been added.
* join.py: The `join_wires` function now returns the resultant wire objects.
* task_scale.py: Updated to allow negative scale factors. Support for `SubelementMode` preference added.
* dimension.py: `transform` methods added.
* layer.py: `get_layer` function added.
* svg.py: Updated to use `get_layer`.
* view_text.py: Instead of two added `coin.SoTransform()` nodes the main transform node is used instead. This was done so that ghosts of Draft Texts can be handled properly without requiring dedicated code in gui_trackers.py.

Notes:

* Support for "App::Annotation" is limited. Only their `Position` is handled (by the move and rotate commands).
* Support for "Image::ImagePlane" has been removed from the scale command. The object has its own calibrate feature (see https://wiki.freecad.org/Std_Import).
* Copies and clones are always created in the global space.

* Fix several unit test issues.

* Reset value that was changed while testing

* Rebase and update test_modification.py

* Reintroduce scaling of image planes
2025-01-20 18:23:36 +01:00
wmayer
a123ebd6d6 Import: Fix transparency issues when loading STEP files 2025-01-20 12:18:16 -05:00
Vincent Belpois
5ed5f71125 Fix missing constrain type in type2str 2025-01-20 12:17:25 -05:00
Joona Okkonen
f0fb8ddabe Sketcher: Fixed mapping error when attempting to create a sketch inside a group. (#18971)
* Sketcher mapping error fix

Fixed an issue in the Sketcher where attempting to create a sketch while a group is selected caused a mapping error. Now, when a sketch is created with a group selected, the sketch will be placed inside the group.

* Update to use new templated countObjectsOfType

This commit updates the code to use the new templated version of countObjectsOfType, aligning with recent changes in the main branch.

---------

Co-authored-by: Joona <jookkone@edu.lapinamk.fi>
2025-01-20 11:11:09 -06:00
Chris Hennes
286e1d2251 Merge pull request #18807 from marioalexis84/fem-netgen_object_constraint
Fem: Use property constraints on mesh netgen object
2025-01-19 16:03:10 -05:00
Chris Hennes
e9ef7b7329 Merge pull request #18809 from wwmayer/datum_fixes
Datum fixes
2025-01-19 16:01:18 -05:00
marioalexis
f132b12df2 Fem: Use new material editor in Reinforced material task panel - fixes #18692 2025-01-19 15:36:43 -05:00