Commit Graph

17004 Commits

Author SHA1 Message Date
wandererfan
134f5fd340 [TD]save template as plain Svg, not Inkscape Svg 2020-06-09 16:12:14 -04:00
wandererfan
6bc2d5ac2d [TD]hide Symbol property in Editor 2020-06-09 16:12:14 -04:00
Gabriel Wicke
66d532d2e1 Merge branch 'master' into area_tweaks 2020-06-09 09:09:28 -07:00
wmayer
27b6066beb clang/gcc/cmake: move handling of suppressed deprecated-copy warnings from source file to CMake file to more easily support gcc 10 2020-06-09 15:30:42 +02:00
Yorik van Havre
9a06fdf223 Arch: Fixed wrong structural node generation 2020-06-09 15:16:34 +02:00
donovaly
86655f067e [TD] add scale settings to detail task dialog 2020-06-09 08:51:46 -04:00
wandererfan
c974387120 [TD]Fix editable field in template 2020-06-09 07:22:00 -04:00
wandererfan
cda235aba0 [TD]Fix geometric hatch in Pdf 2020-06-09 07:22:00 -04:00
vocx-fc
327b306307 Draft: add some explanation on the properties of PathArray
The use of `App::PropertyLinkSubList` for `'PathSubelements'`
is a mistake because we could use a single `App::PropertyLinkSub`
to handle both `'PathObject'` and `'PathSubelements'` properties.

This commit doesn't change any code, it just adds comments
explaining the situation so that it is not forgotten,
and we remember to address it in the future.

Ideally we should migrate the objects, but we may also decide
to break compatibility with older `PathArrays` if both properties
can't be migrated easily.
2020-06-09 12:02:25 +02:00
carlopav
904f3408bc Draft: fixed wrong QT_TRANSLATE_NOOP usage in Draft Objects
.
2020-06-09 11:55:46 +02:00
Reinier Heeres
c0971eb5c1 Fix saving of DXF files (python3)
- Python3 does not allow to write strings to a file opened as "wb"; it
  expects bytes instead. Since ASCII DXF files are written using strings,
  the file should be opened as "w". Should be ok for python2 as well.
- See also issue 003862, https://tracker.freecadweb.org/view.php?id=3862
2020-06-09 11:53:02 +02:00
vocx-fc
c8c579b0d5 Draft: clean up draftgeoutil modules 2020-06-09 11:51:17 +02:00
vocx-fc
9271c9f84b Draft: clean up the order of the submodules in DraftGeomUtils
Import the modules inside `DraftGeomUtils.py` in increasing order
of complexity. For example, the basic module is `general`,
and `geometry`, `edges`, `faces`, `arcs`, and `cuboids`
after it.

On the other hand the `circles_apollonius` module requires
various of those dependencies, so we import it at the end.

We don't import any of the `circles_incomplete` functions
because these are incomplete and we need to implement
the dependency functions first.
2020-06-09 11:51:17 +02:00
Ryo KOYAMA
8f646d9316 Arch: Fix bug of exporting into collada file #4362
Enable to export mirrored part into collada file.

This is discussed in:
https://forum.freecadweb.org/viewtopic.php?f=3&t=30785

The issue is:
https://tracker.freecadweb.org/view.php?id=4362
2020-06-09 11:50:48 +02:00
Bernd Hahnebach
86a6757061 FEM: constraint transform, fix round by improving coordinate calculation 2020-06-09 06:45:01 +02:00
Bernd Hahnebach
7c7275cfb0 FEM: constraint transfrom, coordinate transformation 2020-06-09 06:21:54 +02:00
sliptonic
9daeaba394 Merge pull request #3581 from gwicke/optimizeLinearSegments_fix
Path: Fix for optimizeLinearSegments
2020-06-08 10:13:31 -05:00
Abdullah Tahiri
11f5500716 PartDesign: closing task dialog when exiting edit mode for Primitives
=====================================================================

fixes #4241

Problem:

PartDesignGui::ViewProvider is responsible for closing the tasks for most of PD features when exiting edit mode
(i.e. unsetEdit()).

For primitives, PartDesignGui::ViewProviderPrimitive is responsible, and neither does it or relies on its parent
VP to do it when calling unsetEdit().

Solution:

Make PartDesignGui::ViewProviderPrimitive::unsetEdit() rely on parent PartDesignGui::ViewProvider to tidy up,
including closing the task dialog.

Reference:

This is the default stack call when closing a document while a PD task using PartDesignGui::Viewprovider is active:
2020-06-08 15:12:26 +02:00
donovaly
652d965d54 [TD] use new keyboardTracking feature for Detail dialog
Werner finally implemented that FC's spinboxes accept Qt's keyboardTracking. So we can use it now for dialogs like the Detail dialog.
2020-06-08 09:07:14 -04:00
wmayer
fdc07cb6c9 Py3.8: [skip ci] missing initializer for member '_typeobject::tp_vectorcall' [-Wmissing-field-initializers] 2020-06-08 14:40:00 +02:00
Bernd Hahnebach
f68f44311f FEM: fem examples manager, fix ccx tools solver 2020-06-08 10:29:45 +02:00
Gabriel Wicke
bec4afa368 Merge branch 'master' into optimizeLinearSegments_fix 2020-06-07 21:38:53 -07:00
Gabriel Wicke
905d9d65da Path: Area fixes and robustness tweaks
- Bug fix: Fix crasher in discretize() when the edge to discretize is
  not a 3d curve, and a nullptr is returned when trying to access the
  underlying curve. This change essentially removes an older work-around
  for QuasiUniformDeflection, which is no longer needed since we are
  using UniformDeflection. This change is tested with the original test
  case from https://forum.freecadweb.org/viewtopic.php?f=15&t=42628, as
  well as my own crasher test case.
- WireJoiner robustness: Support passing in a tolerance into
  WireJoiner::findCloseWires(), and initialize this to
  AreaParameter.Tolerance. In testing, this significantly improves the
  ability to join projected areas in complex 3d surface path models.
- Area::project() robustness: Pass the work plane down into the
  projection area instance, so that it does not need to be derived from
  shapes. This avoids crashing out on "shapes are not coplanar" from
  getPlane, when lenient processing was requested via the Coplanar
  parameter.
2020-06-07 20:09:55 -07:00
wandererfan
8311b1e66d [Part]Fix bad shape from Fillet
- see #4285 for similar fix on Chamfer
2020-06-07 22:08:41 -04:00
Gabriel Wicke
f6ae7c2764 Merge branch 'master' into optimizeLinearSegments_fix 2020-06-07 16:04:51 -07:00
Gabriel Wicke
7c654878d0 Path: Fix for optimizeLinearSegments
Reduce cumulative error by holding onto the original point in a sequence
of linear optimizations. In testing, this fixes artifacts I have seen on
very finely sampled paths with very gradual curvature.

Further improvements are needed for this optimization, but at least this
change avoids a regression over the status quo.
2020-06-07 15:59:51 -07:00
wmayer
c8ce12832e PartDesign: [skip ci] fix typo 2020-06-08 00:59:46 +02:00
sliptonic
07d40a3140 Merge pull request #3564 from gwicke/more_ambitious_stepover
Path: More ambitious step-over and break optimizations
2020-06-07 16:03:49 -05:00
WandererFan
b7ba72bf8f Merge pull request #3579 from WandererFan/prefDirs
[Part]Fix #4285 Bad Shape from Chamfer
2020-06-07 15:41:52 -04:00
wmayer
1e117647ff [skip ci] include missing boost header 2020-06-07 20:58:45 +02:00
wandererfan
73f086f73d [Part]Fix #4285 Bad Shape from Chamfer
- chamfer was producing invalid shape as output.
  fix uses shapefix to correct invalid surface/face.
2020-06-07 11:26:56 -04:00
wandererfan
d693ff13db [TD]Fix preference directory pickers 2020-06-07 11:26:56 -04:00
wmayer
200c7c7e00 [skip ci] include missing boost header 2020-06-07 17:21:37 +02:00
Gabriel Wicke
0c69eebda4 Path: Use _optimizeLinearSegments utility in _planarSinglePassProcess
Slightly clean up the code by separating linear segment optimization
from gcode generation. While the current optimization is not very
effective once there is any kind of meshing noise, having a single
method performing the optimization will make it easier to tweak
tolerances or strategies.
2020-06-05 18:21:24 -07:00
Gabriel Wicke
84113fbd17 Path: More ambitious step-over and break optimizations
Extend the work from #3496 to allow the safe optimization of more
complex step transitions.

- Use the actual safePDC path for short step transitions and breaks,
  currently up to 2 cutter diameters. This value is chosen to cover
  basically all typical end step-overs, including those with heavy skew.
  Extending this much further (up to the break even point for a retract &
  rapid) will need some careful thinking for multi pass paths.
- Coordinate offset tolerances with per-operation tessellation
  tolerances, to avoid tessellation artifacts messing up paths by
  causing false retracts.  Such retracts can cause entire steps near
  vertical areas to be falsely skipped, which would cause a major
  deviation from the target model.  By considering per-job tolerances, we
  allow users to safely save computational resources by computing roughing
  operations with lower precision, or selectively increase precision for
  finish passes.
- Refine the default tessellation tolerance to GeometryTolerance / 4.
  This makes sure that the job GeometryTolerance is respected by
  operation defaults.
2020-06-05 18:21:24 -07:00
sliptonic
db74aa8cef Merge pull request #3561 from Russ4262/Profile_fixes
[Path] Profile: Fix `_makeIntersectionTags()` for very short edges
2020-06-05 09:09:48 -05:00
sliptonic
63c224a3c4 Merge pull request #3565 from Russ4262/3D_Surface_vertical_face_fix
[Path] 3D Surface: various fixes
2020-06-05 09:08:37 -05:00
Yorik van Havre
1aa5b755a9 Arch: Fixed non-GUI mode of exporters 2020-06-05 14:58:20 +02:00
vocx-fc
c700dc5d05 Draft: improve handling of Part::Vertex when used with PointArray
The `Part::Vertex` object has both `Placement`, and `X`, `Y`, `Z`
properties. The net displacement is the sum of both of these two
properties.

Previously, the `PointArray` would only use the `Placement`
which would produce a seemingly erroneous result
because `X`, `Y`, and `Z` would be ignored.
2020-06-05 13:21:02 +02:00
vocx-fc
565f2b35b4 Draft: move make_text function to its own module
Also perform several improvements such as PEP8 cleanup,
write complete docstring, type checking of the input arguments,
accepting a full placement to modify the position,
and deprecating the older call.

Update the Gui Command as well.
2020-06-05 13:20:35 +02:00
Yorik van Havre
d652b5eaf3 Fixed ImportNURBS icon 2020-06-05 13:19:42 +02:00
Keith Sloan
ea9c61869e fix resize 2020-06-05 13:17:34 +02:00
Keith Sloan
a549960193 Add workbench icon 2020-06-05 13:17:34 +02:00
Keith Sloan
f333d9ca0f resize 2020-06-05 13:17:34 +02:00
vocx-fc
7597dd0564 Draft: move more functions to draftgeoutils.general 2020-06-05 13:15:31 +02:00
vocx-fc
3bdd1310b3 Draft: move functions to draftgeoutils.circles_incomplete 2020-06-05 13:15:31 +02:00
vocx-fc
3476c73b3b Draft: move functions to draftgeoutils.circle_inversion 2020-06-05 13:15:31 +02:00
vocx-fc
0ba43a993e Draft: move functions to draftgeoutils.circles_apollonius 2020-06-05 13:15:31 +02:00
vocx-fc
627e665c5d Draft: move more functions to draftgeoutils.circles, part 2 2020-06-05 13:15:31 +02:00
vocx-fc
6ec6fb2ca1 Draft: move functions to draftgeoutils.circles, part 1 2020-06-05 13:15:31 +02:00