Commit Graph

197 Commits

Author SHA1 Message Date
forbes
54f8006e24 cherry-pick #32: MDI pre-document tab for Silo new item (70118201b0) 2026-02-13 14:09:44 -06:00
ᴩʜᴏɴᴇᴅʀᴏɪᴅ
8af563804c SPDX [ 49 ][ Src / Mod / PartDesign ] (#26715) 2026-02-07 22:53:31 -06:00
pre-commit-ci[bot]
25c3ba7338 All: Reformat according to new standard 2025-11-11 13:49:01 +01:00
wmayer
20a4dc3839 PD: Restore GUI commands for PartDesign datum objects
With PR 19114 the commands to create PD datum objects are replaced with
the counterparts of Part. However, PD datum objects are much more powerful
than the Part datum objects.
(see e.g. https://forum.freecad.org/viewtopic.php?p=806960)

So, this change brings these commands back to the task panel.
2025-09-26 23:46:27 +02:00
wmayer
ab60695ef9 PD: Show commands in task panel when selecting (sub) shape binders
This fixes issue 19098
2025-09-26 23:46:27 +02:00
Markus Reitböck
5b6a0b1852 PartDesign: use CMake to generate precompiled headers on all platforms
"Professional CMake" book suggest the following:

"Targets should build successfully with or without compiler support for precompiled headers. It
 should be considered an optimization, not a requirement. In particular, do not explicitly include a
 precompile header (e.g. stdafx.h) in the source code, let CMake force-include an automatically
 generated precompile header on the compiler command line instead. This is more portable across
 the major compilers and is likely to be easier to maintain. It will also avoid warnings being
 generated from certain code checking tools like iwyu (include what you use)."

Therefore, removed the "#include <PreCompiled.h>" from sources, also
there is no need for the "#ifdef _PreComp_" anymore
2025-09-23 22:39:36 +02:00
Max Wilfinger
bee89d0447 PartDesign: Update UI strings for consistency and correct for new fuctions and typos
Closes: #22128
2025-08-04 20:15:04 +02:00
PaddleStroke
14f37f732d PartDesign: Fix context menu (#18919) 2025-01-19 13:41:55 -06:00
PaddleStroke
4c25c96d75 PartDesign: replace part design datum commands by the core ones 2025-01-18 11:39:44 +01:00
Benjamin Nauck
7b22027b90 Add template based Document::countObjectsOfType
Also convert code to use this new method
2025-01-14 14:23:46 +01:00
Benjamin Nauck
08c9a191e2 Add template based SelectionSingleton::countObjectsOfType
Also convert code to use this new method
2025-01-13 18:55:15 +01:00
Florian Foinant-Willig
e607b5757e PartDesign: Add Std_ToggleFreeze to context menu 2024-12-16 11:47:52 -05:00
PaddleStroke
5d02008227 Remove PartDesign Datums commands from the UI. 2024-12-13 18:04:10 +01:00
Jonas Bähr
e89fb4a92c PD: Fix error "duplicate command PartDesign_InvoluteGear"
Every time the InvoluteGearFeature python module was imported, and we're
in GUI context, the command "PartDesign_InvoluteGear" was registered. On
the 2nd (3rd, ...) time, this was reported as an error in the console,
like "error: Command.cpp(1841): duplicate command PartDesign_InvoluteGear"

The first import happens when the PartDesign FreeCAD Module is loaded,
via `InitGui.py`. Subsequent imports may happen when e.g. executing the
involute gear command or when running it's tests via FC's Test WB.

This change now registers the command only then the PartDesign WB is set
up in InitGui, not when importing the python module. The same fix is
applied for sprocket, where the same pattern for command registration
was used.

In addition, the import error catch was removed, which seems to be a copy
paste left-over from the ShaftWizard. In contrast to ShaftWizard,
involute gear and sprocket only use modules from the Python standard lib,
so I think this precaution is not worth the additional complexity, just
for hiding actual errors.
2024-12-09 11:53:23 -05:00
Nicola Cerone
571018807e Gui: Added SendToPythonConsole item in PartDesign tree view right-click menu. 2024-12-06 11:46:46 -05:00
PaddleStroke
7ee227a810 Update Workbench.cpp 2024-10-24 21:52:38 -05:00
PaddleStroke
5ee788447c Part Design: Remove legacy/modern workflow checks. 2024-10-24 21:52:38 -05:00
wmayer
dd71f4d5db PD: Remove dead code from workbench class 2024-07-05 15:32:52 +02:00
FEA-eng
a77d6b8a38 PD: Update Workbench.cpp 2024-07-05 12:09:04 +02:00
Max Wilfinger
9d0320198f Revert UI command change in Sketcher and PartDesign 2024-05-27 11:51:02 -05:00
Chris Hennes
3a080fcc6d Merge pull request #13968 from marcuspollio/UI-TaskPanels-cleanup-1
UI : Task panels cleanup - Sketcher and Part Design headers
2024-05-27 10:56:07 -05:00
David Carter
51be8e7b4e Material: Appearance and Material inspectors
Dialogs to view the Appearance and Material properties of an object

These inspectors are intended to be used when debugging Appearance and
Material issues in a model.

The Appearance inspector displays the appearance properties of an
object. This will be more useful once PR 13792 is merged which migrates
parts to use ShapeAppearance instead of DiffuseColor. This shows each
of the appearance properties per face for the object.

The Material inspector shows the material, models, and properties
assigned to a model. It displays useful debugging information such as
the UUID and file paths associated with eacch of the items. This is
useful when finding and resolving model conflicts.

The material inspector now gives the option of copying the information
to the clipboard.
2024-05-27 10:50:35 -05:00
marcuspollio
5c84ce7317 Resolve conflicts 2024-05-21 10:51:07 +12:00
Chris Hennes
74db404039 Merge pull request #14074 from NomAnor/pd-icons
Change PartDesign Pad and Revolution tree icons
2024-05-20 11:45:16 -05:00
Max Wilfinger
dd012f366a Update Part Design toolbars.
Command group for datum. Removed ShapeBinder. Added CheckGeometry.
2024-05-20 10:39:32 -05:00
André Althaus
9b4c4ce60c Replace the yellow Part primitive toolbar icons with the blue tree icons 2024-05-19 12:12:48 +02:00
hlorus
7ff4da5a27 [Part/PD] Remove measure tools 2024-04-29 09:27:22 -04:00
wmayer
14ed89f903 Material: add workbench manipulator
Implement a workbench manipulator to inject Std_Material and Std_Appearance to (context) menu.
2024-04-05 10:08:06 +02:00
David Carter
495a96a0f5 Material: Material appearance
Uses new material system for appearance

Each feature object now has a property called ShapeMaterial that
describes its physical properties. If it has a shape, it has a
material.

The ShapeColor attribute is replaced by a ShapeAppearance attribute.
This is a material list that describes all appearance properties, not
just diffuse color. As a list in can be used for all elements of a
shape, such as edges and faces.

A new widget is provided to allow the user to select materials in a
consistent fashion. It can also launch the material editor with its
more advanced capabilities.
2024-04-04 07:39:58 -05:00
Max Wilfinger
c3409fa424 add missing commands to tree context menu to be consistent with other WBs 2024-03-28 13:02:18 +01:00
Chris Hennes
9dac8385f6 Fix missing translations in task panel (#12738)
* Draft: Add missing translation to task panel

* PD: Add missing translation to task panel
2024-03-11 18:10:42 +01:00
Max Wilfinger
f4167b48c0 add placement command to context menu 2024-01-05 19:14:02 -06:00
wmayer
d150fa7164 modernize C++: avoid bind
In many cases std::bind() is kept because the code is much simpler
2023-08-08 21:10:16 +02:00
wmayer
68d22d864b modernize C++: move from boost::bind to std::bind 2023-08-08 17:36:13 +02:00
Paddle
22f2cae70d PartDesign: Remove unusable 'Leave sketch' 'viewSketch' commands from menu.
Add 'EditSketch' 'MergeSketches' and 'mirrorSketch' usable commands to menu.
Add 'ValidateSketch' to toolbar.
2022-11-04 16:18:41 -05:00
berniev
b796a0d376 Mod: use empty 2022-08-06 19:30:13 +02:00
Uwe
5d76afe0a5 re-add some nullptr
to be safe since their removal within assert() or bools might have some impact I don't know
2022-07-18 02:32:36 +02:00
Uwe
697e88aed6 [PD] remove more superfluous nullptr checks 2022-07-18 01:33:28 +02:00
wmayer
1a7b2279b7 PD: [skip ci] fixes #6762: Involute gear tool duplicated in the menu 2022-04-19 17:38:53 +02:00
wmayer
3608ee7f51 PD: modernize C++11
* use nullptr
2022-03-23 19:26:14 +01:00
wmayer
1ca7429705 Gui: Optimize includes to reduce compile time 2022-03-07 20:29:18 +01:00
Uwe
fc151aa8b5 [PD] Workbench and Command: remove unused includes 2022-02-20 21:55:15 +01:00
wmayer
58a70cbbe5 Part: define Part_SectionCut as permanent menu item 2022-02-14 16:48:09 +01:00
Uwe
68a5c7e438 [PD, Part] bring section cutting feature back to the View menu
As discussed here:
https://github.com/FreeCAD/FreeCAD/pull/6213#issuecomment-1033696604
the feature makes not much sense when only available from within the Part menu.

For now, bring it at least back to the View menu for Part and PD
2022-02-14 01:34:55 +01:00
Uwe
9b1245ab5f [PD] use Part's face coloring
like for the measurement features of Part, the color per faces can be used for PD too
2022-02-14 01:01:40 +01:00
wmayer
2fd81006ea PD: fix build failure with C++20 2021-12-01 23:24:16 +01:00
luz paz
f3631c8ff1 PD: Expose missing commands to translation in Measure dropdown menu
Fixes https://github.com/FreeCAD/FreeCAD-translations/issues/6
2021-10-26 10:35:21 -04:00
luz paz
9a9a6f6563 [PartDesign] Rearrange translations as they appear in the GUI 2021-06-09 21:59:26 -04:00
luz paz
c418f121b8 [PartDesign] Expose items in PartDesign dropdown to translation
Fixes https://github.com/FreeCAD/FreeCAD-translations/issues/3
2021-06-09 21:59:26 -04:00
luz paz
4702d0026f [PartDesign] Add unexposed strings to be translated
Fixes https://github.com/FreeCAD/FreeCAD-translations/issues/2  
Partial fix for https://github.com/FreeCAD/FreeCAD-translations/issues/8
2021-06-09 21:59:26 -04:00