Commit Graph

196 Commits

Author SHA1 Message Date
70118201b0 feat(silo): replace modal new-item dialog with MDI pre-document tab
Some checks failed
Build and Test / build (pull_request) Failing after 15m49s
Update silo submodule to include the new pre-document tab for item
creation.  Silo_New now opens an MDI tab instead of a blocking modal
dialog, allowing multiple items to be prepared in parallel.
2026-02-11 15:15:08 -06:00
pre-commit-ci[bot]
9fe130cd73 All: Reformat according to new standard 2025-11-11 13:49:01 +01:00
wmayer
02e09e7586 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
61e7517592 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
88c6f176bb 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
be0c0e7a74 PartDesign: Update UI strings for consistency and correct for new fuctions and typos
Closes: #22128
2025-08-04 20:15:04 +02:00
PaddleStroke
dc1151721f PartDesign: Fix context menu (#18919) 2025-01-19 13:41:55 -06:00
PaddleStroke
52e68abc10 PartDesign: replace part design datum commands by the core ones 2025-01-18 11:39:44 +01:00
Benjamin Nauck
08fe94ef25 Add template based Document::countObjectsOfType
Also convert code to use this new method
2025-01-14 14:23:46 +01:00
Benjamin Nauck
74f3aee9a7 Add template based SelectionSingleton::countObjectsOfType
Also convert code to use this new method
2025-01-13 18:55:15 +01:00
Florian Foinant-Willig
3969fc56db PartDesign: Add Std_ToggleFreeze to context menu 2024-12-16 11:47:52 -05:00
PaddleStroke
9bfb0e3a5d Remove PartDesign Datums commands from the UI. 2024-12-13 18:04:10 +01:00
Jonas Bähr
e8bdb19a65 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
a90bbf27cc Gui: Added SendToPythonConsole item in PartDesign tree view right-click menu. 2024-12-06 11:46:46 -05:00
PaddleStroke
66d50e9b6e Update Workbench.cpp 2024-10-24 21:52:38 -05:00
PaddleStroke
b1d5d4c105 Part Design: Remove legacy/modern workflow checks. 2024-10-24 21:52:38 -05:00
wmayer
fc9a8f4e76 PD: Remove dead code from workbench class 2024-07-05 15:32:52 +02:00
FEA-eng
b6d8771dd3 PD: Update Workbench.cpp 2024-07-05 12:09:04 +02:00
Max Wilfinger
03cab3d1fc Revert UI command change in Sketcher and PartDesign 2024-05-27 11:51:02 -05:00
Chris Hennes
764dc4cc31 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
a0fdc86948 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
f2c6d9ed62 Resolve conflicts 2024-05-21 10:51:07 +12:00
Chris Hennes
40c5d137d2 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
ba9240a3f2 Update Part Design toolbars.
Command group for datum. Removed ShapeBinder. Added CheckGeometry.
2024-05-20 10:39:32 -05:00
André Althaus
de6fe29d30 Replace the yellow Part primitive toolbar icons with the blue tree icons 2024-05-19 12:12:48 +02:00
hlorus
74d055e11a [Part/PD] Remove measure tools 2024-04-29 09:27:22 -04:00
wmayer
dfc74591cc 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
ba20441935 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
356dfb2080 add missing commands to tree context menu to be consistent with other WBs 2024-03-28 13:02:18 +01:00
Chris Hennes
bf6a209c22 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
44dfb959dc add placement command to context menu 2024-01-05 19:14:02 -06:00
wmayer
948cbfccd9 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
52e1c7c33b modernize C++: move from boost::bind to std::bind 2023-08-08 17:36:13 +02:00
Paddle
657ddeae29 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
53ba98d636 Mod: use empty 2022-08-06 19:30:13 +02:00
Uwe
24468b59ad 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
dfecb337e7 [PD] remove more superfluous nullptr checks 2022-07-18 01:33:28 +02:00
wmayer
36f859996c PD: [skip ci] fixes #6762: Involute gear tool duplicated in the menu 2022-04-19 17:38:53 +02:00
wmayer
d1d4b996e7 PD: modernize C++11
* use nullptr
2022-03-23 19:26:14 +01:00
wmayer
8f786ea6ef Gui: Optimize includes to reduce compile time 2022-03-07 20:29:18 +01:00
Uwe
7a4caf06f8 [PD] Workbench and Command: remove unused includes 2022-02-20 21:55:15 +01:00
wmayer
a769aee8b3 Part: define Part_SectionCut as permanent menu item 2022-02-14 16:48:09 +01:00
Uwe
ce2a8d00ec [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
0d1f15ffcb [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
5e66475757 PD: fix build failure with C++20 2021-12-01 23:24:16 +01:00
luz paz
d917e65c99 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
19362d0d20 [PartDesign] Rearrange translations as they appear in the GUI 2021-06-09 21:59:26 -04:00
luz paz
7962e73e44 [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
aaed845469 [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
luz paz
81875dfa42 PartDesign: tweaks to Gui/Workbench.cpp formatting 2021-06-06 15:02:58 -04:00