Commit Graph

22723 Commits

Author SHA1 Message Date
vocx-fc
7750c4dfbf Surface: ViewProviderExtend for Surface::Extend object
This is created by the Surface_ExtendFace command.
2020-10-13 14:52:02 +02:00
vocx-fc
3ec05cefcb Surface: new Extend icon for existing Surface_ExtendFace command
The icon is added to the `.qrc` resource file.

The command is added to the Surface toolbar.
2020-10-13 14:42:20 +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
Priit Laes
961e4d75b1 build: boost: Clean up branches requiring boost-1.55 2020-10-13 12:56:28 +02:00
Priit Laes
d6b8725b34 build: boost: Drop branches requiring boost-1.46 2020-10-13 12:56:28 +02:00
Priit Laes
6cc4d8aec2 build: boost: Drop boost-1.44-specific checks 2020-10-13 12:56:28 +02:00
Priit Laes
8244ad4ba2 build: boost: Drop boost <= 1.41 dependent-code branches 2020-10-13 12:56:28 +02:00
Priit Laes
5f92194a8c build: Bump boost requirement to 1.55 and drop bundled boost::any
Based on the information from bunch of the latest supported distros:
Debian Jessie: 1.55
Debian Stretch: 1.62
Ubuntu 16.04: 1.58
Ubuntu 18.04: 1.65
Fedora 31 and 32: 1.69
Redhat Enterprise Linux 8: 1.66 (1.53 for EL-7, though)
openSuse Leap 15.1: 1.66
2020-10-13 12:56:28 +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
ee22b487c3 Part: clean up spacing of lines in BOP JoinFeatures 2020-10-13 12:49:54 +02:00
vocx-fc
aa378e6a90 Part: update object and commands for BOP SplitFeatures
This includes `BooleanFragments`, `Slice to compound`,
`Slice apart`, and `Boolean XOR`.

Clean up the tooltips of properties and commands.

Clean up the spacing of the code so that lines aren't very long.
2020-10-13 12:49:54 +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
5c732d440c Part: small cleanup of Python modules and InitGui.py
Add empty newline at the end of the file.
2020-10-13 12:49:54 +02:00
sliptonic
a21500d721 Merge pull request #3941 from sliptonic/bug/deburr
[Path] Deburr bug fixes
2020-10-12 16:04:55 -05: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
sliptonic
fcf7c5c00e Merge pull request #3938 from sliptonic/feature/dragknifepanel
[PATH]  Task panel for dragknife and axismap dressups.  fixes #2840
2020-10-12 12:50:44 -05:00
sliptonic
a785c0e0a1 Fix deburr CW/CCW calculation 2020-10-12 12:39:14 -05:00
Chrismettal
a33a1f184d Seed randomizer on application init 2020-10-12 19:10:06 +02:00
wmayer
5d82ef08c9 PartDesign: [skip ci] Prevent crash when pressing delete key without feature selected to remove in mirror and scale pattern dialog 2020-10-12 18:56:12 +02:00
marioalexis
2236c50e57 [PartDesign] Prevent crash when pressing delete key without feature selected to remove in linear and polar pattern dialog 2020-10-12 16:37:46 +02:00
marioalexis
97dd610c43 [PartDesign] Prevent crash when pressing delete key without feature selected to remove in linear and polar pattern dialog 2020-10-12 16:37:46 +02:00
mwganson
4c85faa0a4 [PartDesign Multitransform] prevent crash when pressing delete key without feature selected to remove in multitransform dialog 2020-10-12 16:36:11 +02:00
Neinei0k
2d939f2751 [Sketcher] Fix merged constraint preselection bug
Constraint icons that located close to each other get merged into a single icon. If you zoom in, individual constraints on these icons can't be selected anymore because their relative positions, which must depend on the zoom, don't change. The problem is solved by multiplying relative position by the scale factor which depends on the magnification.
2020-10-12 16:22:56 +02:00
Yorik van Havre
91f2608607 Draft: Fixed translation of construction group 2020-10-12 16:11:31 +02:00
Yorik van Havre
78ac2f7b27 Arch: Fixed translation of wall (better version) 2020-10-12 15:58:41 +02:00
Yorik van Havre
1252734a81 Arch: Fixed translation of wall 2020-10-12 15:57:15 +02:00
sliptonic
4e9101ba30 Merge pull request #3949 from mlampert/bugfix/path-voronoi-32bit-python-build
PATH: 32bit build bugfix - Using python type conversion to return voronoi element color
2020-10-12 08:25:59 -05:00
Yorik van Havre
674d7f25f8 Draft: Fixed patterns + added default pattern size pref option 2020-10-12 15:12:50 +02:00
wmayer
e0a531258a Gui: [skip ci] support to remap motion data array of space mouse 2020-10-12 14:11:53 +02:00
luz paz
ea6b736208 Arch: fix typo in ArchBuildingPart.py [skip-ci]
Found by user PMac in https://forum.freecadweb.org/viewtopic.php?f=3&t=51049
2020-10-12 11:51:13 +02:00
Jean-Marie Verdun
6150dc75af Update MacAppBundle to work properly with Qt5 and updated homebrew
Add WebEngine required file to the bundle

Signed-off-by: Jean-Marie Verdun <jmverdun3@gmail.com>
2020-10-12 11:50:48 +02:00
vocx-fc
97c2be57d1 Show: add argument to NotAContainerError class constructor
The class `NotAContainerError` is used as an exception.
Where it is used it is initialized with an argument,
but the definition didn't accept one; now we accept an argument
in the constructor.
2020-10-12 11:49:11 +02:00
vocx-fc
cfb314f279 Draft: fix mismatch of argument in get_dxf function
The name of the argument, `projection`, in the old function
is incorrect; it should be `direction`, which was the original
argument's name when this method was split into its own module
(6c00fcf).
2020-10-12 11:48:26 +02:00
vocx-fc
330a5098b5 Arch: consider DraftText objects in the section plane for compatibility
After the reorganization of the Draft Workbench,
the `'DraftText'` objects are now of Proxy.Type `'Text'`.
In the `DraftAnnotation` class the `__setstate__` method
was defined to automatically migrate the Type.

The `Arch SectionPlane` only handles `'Text'` objects. If for
some reason there is still an old `'DraftText'` object
which has not been migrated to the new Type, it won't be found.
This is corrected by adding `'DraftText'` to the list of objects
to process.
2020-10-12 11:43:37 +02:00
Roy-043
83666f1e48 Arch: 4 additional tests for ArchRoof (bug fix)
ArchRoof bug fix:
* Removed unnecessary use of FreeCAD.Vector. Renamed some functions and variables for clarity (in this description the new names are used). Reformatted the code. Moved imports to the top of the file. Updated the tooltips. Tweaked the title text "Parameters ...".
* Fixed the length of list properties bug.
* Flip direction did not work properly. The adopted solution is to reverse the edges the roof is based on.
* Added support for consecutive parallel edges.
* Added support for zero angle roof segments.
* The code now handles zero length runs without throwing an error.
* To handle triangular roofs with a zero length eave, "eave" (egde) has been turned into "eavePtLst" (list of points).
* The ridges of opposite parallel roof segments (if they do not use a relative profile) are recalculated if the sum of their runs is larger than the distance between their edges. The old version of the command would do this only if segments connected to gables and only properly if the corners between the edges of the segments and the gable were 90 degrees.
* Revised backGable and nextGable. They now call helperGable.
* Revised the 6 other back/next functions. They now call helperSloped. This also fixes several cases where cookie-cutter outlines (profilCurr["points"]) were wrong. In nextHigher, backHigher, nextLower and backLower a point was wrongly projected on the X-axis. In nextHigher the point on the higher ridge was wrongly included.
* Improved the cookie-cutter outlines for roof segments with lower overhangs and higher ridges in corners.
* Data from a relative profile is no longer used if it in turn references a relative profile.
* Changed the default idrel to -1 and changed calcMissingData to not process this value. This avoids confusion for users who are unaware of the relative profile feature.
* Introduced find_inters as a workaround for DraftGeomUtils.findIntersection. The latter finds intersections for parallel lines that share a point. Find_inters uses a modified version of getLineIntersections from DraftGeomUtils.findIntersection.
* Calling DraftVecUtils.removeDoubles later in the program flow as it does not compares the first and the last vector.
* Avoided the QTreeWidget scrolling to the top on every change, by not clearing it but updating existing items instead.
* Added self.tree.setRootIsDecorated(False). This gets rid of the 1st column's extra left margin. Removed item.setTextAlignment(0,QtCore.Qt.AlignLeft) as this did not work.
2020-10-12 11:43:04 +02:00
Roy-043
b7125d0162 Arch: ArchRoof bug fix
* Removed unnecessary use of FreeCAD.Vector. Renamed some functions and variables for clarity (in this description the new names are used). Reformatted the code. Moved imports to the top of the file. Updated the tooltips. Tweaked the title text "Parameters ...".
* Fixed the length of list properties bug.
* Flip direction did not work properly. The adopted solution is to reverse the edges the roof is based on.
* Added support for consecutive parallel edges.
* Added support for zero angle roof segments.
* The code now handles zero length runs without throwing an error.
* To handle triangular roofs with a zero length eave, "eave" (egde) has been turned into "eavePtLst" (list of points).
* The ridges of opposite parallel roof segments (if they do not use a relative profile) are recalculated if the sum of their runs is larger than the distance between their edges. The old version of the command would do this only if segments connected to gables and only properly if the corners between the edges of the segments and the gable were 90 degrees.
* Revised backGable and nextGable. They now call helperGable.
* Revised the 6 other back/next functions. They now call helperSloped. This also fixes several cases where cookie-cutter outlines (profilCurr["points"]) were wrong. In nextHigher, backHigher, nextLower and backLower a point was wrongly projected on the X-axis. In nextHigher the point on the higher ridge was wrongly included.
* Improved the cookie-cutter outlines for roof segments with lower overhangs and higher ridges in corners.
* Data from a relative profile is no longer used if it in turn references a relative profile.
* Changed the default idrel to -1 and changed calcMissingData to not process this value. This avoids confusion for users who are unaware of the relative profile feature.
* Introduced find_inters as a workaround for DraftGeomUtils.findIntersection. The latter finds intersections for parallel lines that share a point. Find_inters uses a modified version of getLineIntersections from DraftGeomUtils.findIntersection.
* Calling DraftVecUtils.removeDoubles later in the program flow as it does not compares the first and the last vector.
* Avoided the QTreeWidget scrolling to the top on every change, by not clearing it but updating existing items instead.
* Added self.tree.setRootIsDecorated(False). This gets rid of the 1st column's extra left margin. Removed item.setTextAlignment(0,QtCore.Qt.AlignLeft) as this did not work.
2020-10-12 11:43:04 +02:00
sliptonic
3be940f3df Merge pull request #3951 from dubstar-04/PathTurnBase
[Path] - Add Turning / Lathe Base Support
2020-10-11 11:19:21 -05:00
Daniel Wood
9b2b86b91f Add a task panel page for controlling turning diameters 2020-10-11 07:57:59 +01:00
Daniel Wood
dcf33dca50 Add turning selection gate 2020-10-11 07:57:59 +01:00
Markus Lampert
574bdd2d09 Using python type conversion to return voronoi element color 2020-10-10 18:10:06 -07:00
wmayer
aa32b9c6af Part: [skip ci] harmonizing the way to add sub-modules to Part module 2020-10-10 11:44:51 +02:00
sliptonic
351267fbfb make deburr ignore non-vertical faces
fixes #4327
2020-10-09 12:50:06 -05:00