Commit Graph

84 Commits

Author SHA1 Message Date
Kacper Donat
b68da9d844 GUI: Add UI for Up To Shape feature
Add UI for Up To Shape feature and overall refactor of Pad / Pocket.
2024-06-10 18:05:21 +02:00
wmayer
4185605d5e clang/gcc: Add build option FREECAD_WARN_ERROR to force to make warnings into errors 2024-05-29 13:37:07 +02:00
André Althaus
5139182dbe Refactor PD Pattern Tasks ui files
All files contain the same add/remove buttons and a feature list.

These common elements are moved into the TaskTransformedParameters.ui file.
The same goes for the common OK Button that is used in a MultiTransform.

The ui files for the patterns only contain their distinctive
parameters. And the common ui files contain an empy widget that will
be filled with the respective parameter widgets from the patterns.
2024-02-17 17:11:57 +01:00
liukaiwen
4f8fe8fd4a [cmake] some definitions do not matter build now 2023-09-27 18:17:14 +08:00
liukaiwen
aef990d440 fix: json is a 3rdparty library, move to 3rdparty 2023-08-30 16:59:25 +02:00
wmayer
74271f5e4a PD: Create .qm out of .ts files 2023-05-07 08:47:38 +02:00
wmayer
b8c83a1c62 PD: refactor CmdPartDesignNewSketch::activated 2022-12-07 23:31:20 +01:00
Chris Hennes
2f7be9e782 cMake: Add support for compiling against Qt6 (#7647)
Removes the BUILD_QT5 flag and adds a new FREECAD_QT_VERSION option,
which can be set to either "Auto" (default), 5, or 6. Auto detects which
version of Qt is installed on the system and chooses it. If both version
are installed, Qt5 is used.

Note that this DOES NOT implement compiling against Qt6, it only adds
the necessary cMake infrastructure to begin work on the source code
changes that will be required.
2022-10-31 09:24:09 -05:00
Jonas Bähr
a1776d3e74 Fix build on MacOS-X 10.14: missing Xerces include dir
This undoes most of the Xerces related part of the commits listed below.
The issue resolved here is that the Xerces include dir *is* set in the
CMakeLists.txt of src/Base, but it got removed from various App and Gui
dirs in src/Mod. If those now include a header from src/Base, which
itself includes xercesc, the build fails using Apple clang version 11.0.0
(clang-1100.0.33.17) on Mojave, configured using cmake 3.22.1, with
errors like the following:

In file included from .../src/Mod/Part/App/FeaturePartBoolean.cpp:34:
In file included from .../src/App/Application.h:33:
.../src/Base/Parameter.h:54:10: fatal error: 'xercesc/util/XercesDefs.hpp' file not found
 #include <xercesc/util/XercesDefs.hpp>
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.

Finally, a full list of the commits that introduced this spurious include
dir optimization for reference:
- Drawing: commit 96ad045b91
- Image: commit dde71a21d5
- Import: commit c9d28b542f
- Inspection: commit d41f55f382
- Mesh: commit 19072b0538
- Part: commit fe213a48f0
- PartDesign: commit b037d8e240
- Path: commit f23fa31f42
- Points: commit bec723ba17
- Raytracing: commit 08d4ac63a3
- ReverseEnginering: commit 5ca787cb0e
- Robot: commit bad4809a1c
- Sketcher: commit 3c96daf105
- Spreadsheet: commit 66e8a2bef3
- Start: commit c9dee5e70a
- Surface: commit 6b04215be6
- TechDraw: commit 5e6699e48d
- Test: commit ea5b45b92c
- Web: commit ee6d631531
2022-08-24 07:40:04 +02:00
Uwe
b037d8e240 [PD] remove unused Xerces 2022-03-20 20:43:02 +01:00
wmayer
af868ed079 PD: move ReferenceHighlighter to Part module 2022-01-18 18:24:02 +01:00
Uwe
7c158a3751 [PD] rename a UI file
Pad and Pocket share the same UI file therefore change the name to make this clear that changes in that file must be handled for Pad and Pocket
2022-01-07 20:36:29 +01:00
wmayer
175ceb2d12 PD: [skip ci] remove obsolete TaskPocketParameters.ui 2022-01-01 11:50:43 +01:00
wmayer
6289ff40d5 PD: highlight current profile and sections of a loft when selecting a new profile/section 2021-12-13 15:01:08 +01:00
wmayer
3ee1d91b88 PD: cleanup the mess with boolean arguments and replace them with a bitmask 2021-12-03 14:46:19 +01:00
wmayer
6a0cf8233a PD: create a common base class of TaskPocketParameters and TaskPocketParameters to reduce code duplications 2021-11-26 16:23:45 +01:00
Ajinkya Dahale
e305dbd49c PartDesign: Add new need active body dialog with option to choose body (#4949)
* [PD] Add new need active body dialog

Intended for use wherever an active body is needed but none exists. The dialog
contains a list with the bodies present in the document, with an extra option to
make a new body. Custom text can be provided if needed.

This commit also replaces the warnings used by "new sketch" and "primitive"
command with this new dialog.

Addresses issue #4288.
2021-09-16 12:27:46 -05:00
Mateusz Skowroński
92683e1f63 Fix CMake warning: qt5_make_output_file is not part of the official API, and might be removed in Qt 6. 2021-04-19 15:10:53 +02:00
David Osterberg
59ec3cb141 PartDesign: New features AdditiveHelix and SubtractiveHelix
These features, based on the code for the Pipe class, allow the user
to simply create a helical sweep within PartDesign workbench.

Sample application is threads, springs, coils, augers, etc.

Also, remove needless requirement for positive cone angle on helixes.

Thanks to @bitacovir for helping with the icons
Thanks to @chennes for review
Thanks to @vosk for review
Thanks to @wwmayer for review

Enforce that links stay within scope for ProfileBased features
This also ensures that the Body itself is not used for creating features within
the body, causing a "Graph not a DAG" error.
2021-02-04 13:01:12 +01:00
Abdullah Tahiri
55a5f652e1 PCH: PartDesign GUI PCH Enable 2019-05-16 12:46:02 +02:00
wmayer
cdc507d9bb CMP0050: make PartDesign module aware of cmake policy 2018-08-20 17:19:04 +02:00
Stefan Tröger
de31528dda PartDesign: Make Base Feature compatible with GeoFeatureGroup. fixes #0003080
The Original BaseFeature implementation had some serious issues with scoped links. It failed completely for e.g. sketches on the BaseFeature as it made a local link to refere to a out of body object. The only solution to make this work correctly is to add a proxy object into the body which is alloed to exactly that, to link outside oof the body. Something like shapebinder.
2017-09-21 11:40:14 +02:00
Eivind Kvedalen
04b176ebfb PartDesign Hole Feature implemented.
Minor contributions from Mateusz Skowroński <skowri@gmail.com>
2017-07-26 23:39:00 +02:00
DeepSOIC
1ee6dcf75e PartPesign: Py: expose some methods of ViewProvider
* setBodyMode(bool)
* makeTemporaryVisible(bool)
2017-03-04 19:16:39 -03:00
wmayer
5e375a6238 Add switch to select between Qt4 and Qt5 2016-12-13 15:53:13 +01:00
wmayer
166fc624eb remove superfluous Qt includes 2016-12-13 15:40:49 +01:00
Stefan Tröger
b758df7193 Port attachment UI to Part for general use
Furthermore change PartDesign primitives to use the new task dialog
2016-12-07 06:41:40 +01:00
Stefan Tröger
d5e035741a ask user if he creates inter part/body references 2016-04-12 18:12:20 +02:00
Stefan Tröger
655bf961be add task for datum shape features 2016-04-12 18:12:19 +02:00
Stefan Tröger
9969aac671 fix dependent copy references
to make them work with sketches an additional Part2DObject reference needed to be created
2016-04-12 18:12:19 +02:00
Alexander Golubev
c388a84424 PartDisign/WorkflowManager: initial implementation 2016-04-12 18:12:17 +02:00
Alexander Golubev
c782a11aab PartDesign/Gui: Move various utility stuff from Workbench to a separate file
Also do some header cleanup.
2016-04-12 18:12:17 +02:00
Alexander Golubev
444986e88a PartDesign/Gui: move body commands to a separate file 2016-04-12 18:12:16 +02:00
Alexander Golubev
5ee0cea467 PartDesign/Gui: start to unify view providers code
- Moved all common code for part design features view providers to a base
   class.
 - Move shared code for Sketch based features to newly created
   ViewProviderSketchBased class
 - Add ViewProviderSketchBased to initialization
 - Make Pad and Pocket ViewProviders to use the shared code
 - Minor fixes to TaskFeatureParameters and some derived classes
2016-04-12 18:12:15 +02:00
Alexander Golubev
b14d7c2e14 PartDesign: move common code for TaskDlg{SketcherBased,DressUp}Parameters into new base class
Added a new class: TaskDlgFeatureBased which currently contains common
code for TaskDlgSketcherBasedParameters::reject() as well as the same
methode for TaskDlgDressUpParameters.
It's likely that other Feature task dialogs will inherit this class too.
2016-04-12 18:12:15 +02:00
DeepSOIC
125dda4d70 PartDesign: Make groove work via Revolution ui
Purpose: remove duplicate code.
Remaining: wrong title and icon in task dialog.
2016-04-12 18:12:14 +02:00
Stefan Tröger
12c5e1f92f remove hole feature
A hole feature is something needed, however, the current implementation does not use the attacher code which would made it intuitive and compatibel to other workbench tools. A reimplementation is needed.
2016-04-12 18:12:13 +02:00
Stefan Tröger
d435e15a97 make part design loft functional 2016-04-12 18:12:10 +02:00
Stefan Tröger
987880fffa add loft viewprovider 2016-04-12 18:12:10 +02:00
Stefan Tröger
342ba89afd generalize preview mode 2016-04-12 18:12:09 +02:00
Stefan Tröger
9c4e1070eb add options for pipe tool 2016-04-12 18:12:09 +02:00
Stefan Tröger
e7803eca61 add basic part design pipe infrastructure 2016-04-12 18:12:09 +02:00
Stefan Tröger
c3f35d9f05 add part design thickness 2016-04-12 18:12:08 +02:00
Stefan Tröger
7654659c18 add primitive widget to task dialog 2016-04-12 18:12:07 +02:00
Stefan Tröger
8fdde38e75 add coordinate system datum 2016-04-12 18:12:07 +02:00
Stefan Tröger
52c8a19d4d basic infrastructure for part design primitives 2016-04-12 18:12:06 +02:00
Stefan Tröger
83ab03a491 move feature pick dialog into the task view 2016-04-12 18:12:05 +02:00
jrheinlaender
a2359adb2e Unify code of Dressup features (part 1: Draft) 2016-04-12 18:11:56 +02:00
jrheinlaender
638cfd2682 Allow booleans of bodies in PartDesign 2016-04-12 18:11:51 +02:00
jrheinlaender
b815656649 Refactored code of SketchBased features to have common code in an abstract superclass 2016-04-12 18:11:50 +02:00