Commit Graph

1113 Commits

Author SHA1 Message Date
wmayer
f49ae11976 Part: [skip ci] properly handle transactions when editing primitives 2020-11-08 10:43:04 +01:00
wmayer
dbd14fe2b9 Part: [skip ci] implement live preview for box and cylinder 2020-11-08 10:26:07 +01:00
donovaly
7460cd5ebc [part] remove a now misleading comment
I added this comment when I read the dialog state fro the index of the type combobox, now we read the primitive's TypeID so the comment is misleading
2020-11-08 06:43:16 +01:00
wmayer
266ca1ad28 Part: allow to edit primitives via dialog 2020-11-06 23:12:40 +01:00
wmayer
677ce69873 [Part] allow to edit helices via a dialog
+ add class ViewProviderPrimitive to avoid to re-implement setEdit/unsetEdit methods for each sub-class separately
+ avoid using global variables
+ when editing a feature directly pass it to the dialogs
+ when editing a feature then do not use active document as this could point to the wrong object
+ fix undo/redo message
+ re-add '3D View' button to location dialog
2020-11-06 19:59:14 +01:00
wmayer
ca5d4d5f72 Part: [skip ci] fix build failure due to missing class declarations 2020-11-06 13:46:38 +01:00
donovaly
18c1364d1d [Part] allow to edit helices via a dialog
fixes https://tracker.freecadweb.org/view.php?id=3857

Currently primitives of the Part WB can only be created suing a dialog. Editing is not possible that way.

This PR makes the first step in achieving this:

- Helices can now be edited using the same dialog ans when created

- New location dialog. The Gui::LocationWidget used there is not aware of the rotation angle and it treats the rotation axis as direction. To fix this, I set changed the dialog so that one can define every parameter as in the PartDesign attacher dialog (Placement, rotation axis and rotation angle separately). Another reason for this change was that one could not use the location dialog, fill it with the placement properties of the object, and close the dialog without any change. Because of the missing angle info the objects was then always rotated despite nothing was changed.

If this PR goes in, I will extend it for the other primitives.

Todo for the future: allow a preview of the changes made in the dialog. (I could not find out how this is done.)
2020-11-06 13:27:03 +01:00
Yorik van Havre
43596a68af Merged crowdin translations 2020-10-28 12:04:37 +01:00
Yorik van Havre
57fbb63b8d Updated ts files 2020-10-28 10:46:51 +01:00
vocx-fc
ae33d9eb91 Part: update the Part_Thickness icon
This is the same as the `PartDesign_Thickness` but without
the red highlights in order to match the rest of the Part icons.
2020-10-22 15:12:59 +02:00
vocx-fc
f945b4c6ae Part: rename the basic Part 2D and 3D icons
The basic icons for the basic features are renamed,
`Tree_Part` to `Part_3D_object`, `Tree_Part2D` to `Part_2D_object`.
2020-10-22 15:11:45 +02:00
wmayer
30455b5861 Part: [skip ci] use the correct icon for helix and sprial view providers 2020-10-22 12:43:39 +02:00
vocx-fc
7ca2d7dd03 Part: add viewprovider icon for the Part::Spline object
The `Part::Spline` object is the parent of the parametric
Surface Workbench objects.

For example, the `Part::Spline` object is created by the
`Surface_CurveOnMesh` tool, which in reality just calls
the `MeshPart_CurveOnMesh` tool.
2020-10-13 15:54:04 +02:00
wmayer
165feeba53 Part: make changing face colors independent of edit-mode implementation of a view provider 2020-10-13 14:16:01 +02:00
vocx-fc
e369d79feb Part: activate Part_ColorPerFace in the menu and toolbar
According to the source this command was deactivated until issue #0477
and hence #1954 could be solved. However, since those issues
haven't been addressed the command has remained hidden for a long time.
This command does not work with objects that reimplement
their edit modes, meaning that it may work with Part and PartDesign
created objects but not with Draft and Arch objects.

The command is added to the standard `View` menu,
and to one `Part tools` toolbar so that it is no longer hidden.
The limitations of the command can be described in the documentation,
and then somebody else can help solve the problem
with the edit modes.

A new icon for the command is also provided.
2020-10-13 12:59:16 +02:00
vocx-fc
8cf9eabb11 Part: fix the mixed newlines of DlgPrimitives.h
My editor, Spyder, detected a mix of Windows and Unix newlines,
and offered to fix the file.
2020-10-13 12:51:51 +02:00
vocx-fc
716c2d67eb Part: improve tooltip of measure commands
Also update the text of the buttons in the `TaskDimension` task panel.

Remove tabs in the source code, as there was a mix of tabs
and spaces. Further cleaning is necessary as the indentation
is inconsistent and mostly 2 spaces instead of 4 spaces.
2020-10-13 12:50:50 +02:00
vocx-fc
39c9e2a451 Part: update icon, object and command for CompoundFilter
The previous icon did not follow the general style and colors
of other icons in the workbench.

If there is no `Stencil` in the `CompoundFilter` object, raise
a `ValueError` exception when the `FilterType` is `'collision-pass'`
or `'window-distance'`.

Raise an exception when `items` is empty, or has a malformed string,
when `Filtertype` is `'specific items'`.

Fix the `getNullShapeShape` function to return a simple
`Part.Shape`, so that there is no error raised if `_nullShapeShape`
doesn't exist. This function doesn't work at all. It was probably
a prototype which was never fully developed; it may be removed
completely in the future.

The docstrings for the commands `CompoundFilter` and `ExplodeCompound`
were revised.

Clean up the spacing of the code so that lines aren't very long.
2020-10-13 12:49:54 +02:00
vocx-fc
a483f28437 Part: update icon for ProjectionOnSurface
The previous icon was improperly trimmed. The new icon
shows the projection more clearly as one object imprinting itself
over another.

Also update the tooltip, fix the indentation of the code,
and the title of the taskpanel `DlgProjectionOnSurface.ui`.
2020-10-12 19:54:11 +02:00
vocx-fc
4f6ea54f49 Part: move more icons to tools subdirectory 2020-10-12 19:54:11 +02:00
vocx-fc
c0f6ecfc86 Part: move icons to measure subdirectory
The path to the icons is added to `AppPartGui.cpp`
using `Gui::BitmapFactory().addPath()`, so the icons are found
automatically in their new directories.
2020-10-12 19:54:11 +02:00
vocx-fc
90688ae6ca Part: move icons to parametric subdirectory
The path to the icons is added to `AppPartGui.cpp`
using `Gui::BitmapFactory().addPath()`, so the icons are found
automatically in their new directories.
2020-10-12 19:54:11 +02:00
vocx-fc
32a5a2dee8 Part: move icons to booleans subdirectory
The path to the icons is added to `AppPartGui.cpp`
using `Gui::BitmapFactory().addPath()`, so the icons are found
automatically in their new directories.
2020-10-12 19:54:11 +02:00
vocx-fc
0b3fd56aa1 Part: move icons to tools subdirectory
The path to the icons is added to `AppPartGui.cpp`
using `Gui::BitmapFactory().addPath()`, so the icons are found
automatically in their new directories.
2020-10-12 19:54:11 +02:00
vocx-fc
4b50102f6c Part: move icons to create subdirectory
The path to the icons is added to `AppPartGui.cpp`
using `Gui::BitmapFactory().addPath()`, so the icons are found
automatically in their new directories.

Rename icon `Part_CreatePrimitives.svg` to `Part_Primitives.svg`.
2020-10-12 19:54:11 +02:00
wmayer
9d31b8dab4 Part: [skip ci] port class TaskCheckGeometryResults to OCCT 7.5 2020-10-09 08:39:42 +02:00
wmayer
12b6dd955b Part: port class BOPProgressIndicator to OCCT 7.5 2020-10-09 02:42:13 +02:00
wmayer
c35dba8e34 Part/Import: [skip ci] disable use of Message_ProgressIndicator for OCC >= 7.5 due to major API changes 2020-10-08 14:48:35 +02:00
Yorik van Havre
c2cec2c38a Merged crowdin translations 2020-09-30 14:37:02 +02:00
Yorik van Havre
545055f65f Updated ts files 2020-09-30 13:06:53 +02:00
vocx-fc
eb9ba049fe Part: change command name Part_MakeTube to Part_Tube
This follows the style of the other Part commands which don't
have the word `Make` just the name of the noun, `Box`, `Cylinder`,
`Sphere`, etc.
2020-09-27 13:01:16 +02:00
wmayer
77f84ce743 Part: [skip ci] fix shape builder to create filled face from vertexes 2020-09-25 13:42:39 +02:00
vejmarie
704d4d9945 Big update to remove deprecation warning from Qt 5.15.0
That is need on MacOS build as travis log is bigger than 50k lines
which breaks travis rules
And by the way deprecations are real
All file contains the same modification replace 0 to Qt::WindowFlags() when needed
as the class needs to be instantiated

Signed-off-by: vejmarie <jmverdun3@gmail.com>
2020-09-24 12:56:43 +02:00
wmayer
23a178edc4 Part: do not use local event loop in sweep and thickness panel 2020-09-16 12:14:04 +02:00
donovaly
b0faf1197c [PD] fix wording for skew prisms
the UI and the property is not consistent. In the dialog we use the term angle upon user feedback while the property still has the name "skew" in it.
I simply forgot this change in my PR that implemented skew prisms.

This is now corrected by this PR.
2020-09-15 22:13:26 +02:00
bitacovir
7a899be600 Add SVG icon for Part Reverse Shape command
Part Reverse Shape command does not have icon for the FreeCAD UI (Part WB).

This commit adds SVG file with icon for this command. Also, it makes the necessary changes on Command.cpp and Part.qrc files.

The new SVG icon follows the FreeCAD Artwork Guidelines and were saved as Plain SVG format.

The icon designs keep the style of the existing icons in the Part Workbench:
https://wiki.freecadweb.org/Part_Module

The discussion with the request can be found in the UX/UI Design FreeCAD Forum:
https://forum.freecadweb.org/viewtopic.php?f=34&t=44278&hilit=bitacovir
2020-09-13 10:01:50 +02:00
donovaly
6bbab49723 [PD and Part] add possibility to create skew prisms 2020-09-12 13:28:00 +02:00
Zheng, Lei
d9a5494462 Part: fix dangerous static_cast usage in view provider
Because Gui::ViewProviderLink can be used to override the view provider
of any object, it is not safe to assume view provider type without
explicit checking.
2020-09-09 13:16:46 +02:00
wmayer
904ff6f7e1 Part: [skip ci] set proper icons for Tube feature 2020-09-03 19:18:30 +02:00
mwganson
69f43d7bf3 [CheckGeometry] fix segfault, reformat output with lower case, use try/except to check for runtime python errors and fall back on OCCT method if script failed. 2020-09-03 12:09:38 +02:00
mwganson
ed3ff7db5e [CheckGeometry] add new shapecontent builder instead of OCCT's to correct some errors in OCCT's values and to add for some more advanced information, e.g. volume or area, add new method to Base::Interpreter runStringWithKey() -- allows to run a python script and get a string return value 2020-09-03 12:09:38 +02:00
carlopav
d1d42e1e46 Part: grouped ViewProviderExt subdivided view properties 2020-08-21 12:36:46 +02:00
vocx-fc
669c304789 Part: rename to uppercase, Part_ProjectionOnSurface
For consistency with all other commands that start with capital letter.
2020-08-17 16:32:28 +02:00
luz paz
85b3b3bbe6 Part: fix typos in source function names and variables
Found via `codespell`
2020-08-17 16:32:28 +02:00
wmayer
fc1a1e3b03 Part: code simplifications and sorting 2020-08-10 12:43:48 +02:00
donovaly
87899a5e05 code simplifications and sorting 2020-08-10 11:12:47 +02:00
donovaly
af47a41b7a TaskFaceColors.cpp: correctly end box selection if necessary 2020-08-10 11:12:23 +02:00
donovaly
0bda7f449f [Part] FaceColors cleanup
- indicate if one is in the Box Selection mode
- get rid on dialog if one really wants to cancel (no other Task dialog does this and it is annoying)
- fix clumsy dialog layout
2020-08-10 11:11:50 +02:00
MA-LAPTOP\apeltauer
b97587cab3 Improve the projection on surface algorithm. For now the first possible solution was taken. If several solution exists, this leads to a miss match.
Now check the distance of the projection shape and the original shape and the take the projection with the smallest distance.
Discussion can be found here: https://forum.freecadweb.org/viewtopic.php?f=8&t=49341&p=422925#p422925
2020-08-10 10:23:06 +02:00
donovaly
5c96cec1c7 [PD] [skip ci] disable keyboardTracking for primitives and attachment
When modifying primitives in complex geometries having a recompute for every keystroke can be annoying. Disabling keyboardTracking fixes this but keeps the immediate preview when using the spin buttons.
2020-08-10 10:14:17 +02:00