Commit Graph

30122 Commits

Author SHA1 Message Date
marioalexis
15c2f33fb8 Fem: Fix vector potential unit and use enumeration property for boundary condition 2025-01-22 11:17:59 -03:00
André Kapelrud
10ad2ec955 Fem: Add Neumann boundary condition for electrostatic potential 2025-01-22 11:17:59 -03:00
marioalexis
b990fb129e Fem: return from Python setEdit methods 2025-01-22 08:13:08 -06:00
Roy-043
44221711f8 Added is not None checks
Also added two local variables in BimLayers.py.
2025-01-22 10:41:11 +01:00
Roy-043
1b3f8aba8d 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
df1334fad4 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
3d6d2a4039 BIM: Fix BIM Schedule
Fixes #18934.
2025-01-22 10:07:35 +01:00
Roy-043
2ad98aa84b Draft: updates related to transparency to alpha change 2025-01-22 10:04:47 +01:00
Roy-043
dd4c462199 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
a1f5d36584 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
98997c4d1e PD: Fix build failure 2025-01-21 09:34:30 -06:00
Roy-043
c9e0eceda3 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
840786ac6c Changed one tooltip as requested 2025-01-21 15:17:03 +01:00
Chris Hennes
666ede9019 Sketcher: Refactor C++20 code 2025-01-20 20:57:34 -06:00
wmayer
034ad6582a Part: Fix wrong attachment of datum lines
Fixes #19113
2025-01-20 16:40:46 -06:00
Jacob Oursland
4dfab6e07d Fix call to setTemporaryVisibility() post API change. 2025-01-20 16:39:52 -06:00
Roy-043
49e960364f 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
a61db12828 PartDesign NewSketch: Add a parameter to use attachment dialog instead of feature pick 2025-01-20 12:27:04 -05:00
Roy-043
ddd86bd7b3 Draft: DXF export: add handling of text justification
Fixes #18964.
2025-01-20 18:24:30 +01:00
Roy-043
d587e6a91a 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
8d46ba6414 Import: Fix transparency issues when loading STEP files 2025-01-20 12:18:16 -05:00
Vincent Belpois
f3efb5a7e8 Fix missing constrain type in type2str 2025-01-20 12:17:25 -05:00
Joona Okkonen
17c3286e52 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
f38127739b 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
d1c860e735 Merge pull request #18809 from wwmayer/datum_fixes
Datum fixes
2025-01-19 16:01:18 -05:00
marioalexis
bf1ea8e223 Fem: Use new material editor in Reinforced material task panel - fixes #18692 2025-01-19 15:36:43 -05:00
Kacper Donat
738a044f3c Gui: Add Show Plane utility to 2D Objects 2025-01-19 15:27:15 -05:00
PaddleStroke
14f37f732d PartDesign: Fix context menu (#18919) 2025-01-19 13:41:55 -06:00
João Matos
8a384a2b70 CMake: Improve Import dependency check for TechDraw module. (#19036)
* CMake: Fix missing Import dependency check for TechDraw module.

* CMake/TechDraw: Conditionally use Import library.

* CMake: Fix missing dependency check for Module and PartDesign measure in TechDraw.
2025-01-19 13:33:16 -06:00
Yorik van Havre
ead1c43de9 BIM: Make sure we have a default context when exporting to IFC 2025-01-19 14:32:03 -05:00
Chris Hennes
f639705762 Merge pull request #19052 from alfrix/hole_ui_hide
feat(PD): Hole UI Taskpanel: hide elements that are not applicable or useful
2025-01-19 11:31:03 -05:00
anselm-baur
e22b226866 Assembly: fix missing space
Co-authored-by: Anselm Baur <anselm-baur@live.de>
2025-01-18 14:45:50 -05:00
PaddleStroke
4c25c96d75 PartDesign: replace part design datum commands by the core ones 2025-01-18 11:39:44 +01:00
Chris Hennes
49c77303c7 Merge pull request #18665 from AjinkyaDahale/sk-refactor-stage-2
[Sketcher] Round 2 of refactors
2025-01-17 10:41:52 -06:00
Roy-043
a66da9b3d2 Merge pull request #19089 from Roy-043/Draft-Clone-avoid-B-spline-faces-in-more-cases
Draft: Clone: avoid B-spline faces in more cases
2025-01-16 19:57:08 +01:00
Roy-043
caca0ac994 Merge pull request #19067 from Roy-043/Draft-Save-fillet-settings
Draft: Save fillet settings
2025-01-16 19:52:31 +01:00
Roy-043
b31ada686f Draft: Clone: avoid B-spline faces in more cases
B-spline faces can be avoided if the absolute values of the scaling factors are the same. The `transformShape` method can handle this if two additional arguments are provided.
2025-01-16 13:39:11 +01:00
Roy-043
3385ac8a74 Clean up
The recompute and the `try` structure are no longer required.
2025-01-16 11:53:55 +01:00
Roy-043
e7e41bb001 BIM: ArchWall use moveGeometry to move sketch point
The movePoint function is no longer available in V1.1.
2025-01-16 11:53:55 +01:00
Ajinkya Dahale
51cf34a596 [Sketcher] Refactor and fix an issue in transferConstraints 2025-01-16 15:56:22 +05:30
Ajinkya Dahale
73253bd2d4 [Sketcher] Fix issues in knot operations
For some reason this is not caught in the tests.
2025-01-16 15:56:22 +05:30
Ajinkya Dahale
b2e414c407 [Sketcher] Make replaceGeometries protected
This should be a `protected` or `private` operation since it doesn't handle
constraints. However, this is intended to be used by external classes that
modify a `SketchObject` (instead of these modifications like `split`, `trim`,
`join` etc. being methods of `SketchObject`). In that case, it may be best to
use the `friend` keyword.
2025-01-16 15:56:22 +05:30
Ajinkya Dahale
aa1122c774 [Sketcher] Fix "used" B-spline poles being deleted 2025-01-16 15:56:22 +05:30
Ajinkya Dahale
821bc2ecdf [Sketcher] Incorporate review of #18665 by kadet
1. Replace `find_if` with `any_of` when the iterator is not used.
2. Use PascalCase for templated class.
2025-01-16 15:56:19 +05:30
Ajinkya Dahale
c6f5739763 [Sketcher] Refactor SketchObject::split
1. Now uses `Part::Geometry::createArc`.
2. Removed type-specific codes. It can be generalized now.
2025-01-16 15:55:14 +05:30
Ajinkya Dahale
e6becd0b61 [Sketcher] Further refactor modifyBSplineKnotMultiplicity 2025-01-16 15:55:14 +05:30
Ajinkya Dahale
12102abd6b [Sketcher] Incorporate review of #18665
...by hyarion on December 29.
2025-01-16 15:55:14 +05:30
Ajinkya Dahale
226d24792d [Sketcher] Fix some issues in trim
Fixes fails at cases where one (or both) of the remaining segments is (are)
degenerate. This existed pre-refactor.

Fixes cases where there are some constraints on internal geometry that do not
get deleted cleanly.

Also fixes a memory leak.
2025-01-16 15:55:14 +05:30
Ajinkya Dahale
e4f906c23b [Sketcher] Refactor SketchObject::trim
Cognitive complexity down to 57.
2025-01-16 15:55:14 +05:30
Ajinkya Dahale
3832db01ff [Sketcher] Refactor SketchObject::modifyBSplineKnotMultiplicity 2025-01-16 15:55:14 +05:30