Commit Graph

21548 Commits

Author SHA1 Message Date
Yorik van Havre
ee55ea844e Arch: Fixed wrong structural node generation 2020-06-09 15:16:34 +02:00
donovaly
ac80ba3945 [TD] add scale settings to detail task dialog 2020-06-09 08:51:46 -04:00
wandererfan
30a1e76d38 [TD]Fix editable field in template 2020-06-09 07:22:00 -04:00
wandererfan
121ee38837 [TD]Fix geometric hatch in Pdf 2020-06-09 07:22:00 -04:00
donovaly
d4223447a2 [App] fix a typo 2020-06-09 12:03:07 +02:00
vocx-fc
9dc454ea2a 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
1983172f5a Draft: fixed wrong QT_TRANSLATE_NOOP usage in Draft Objects
.
2020-06-09 11:55:46 +02:00
Reinier Heeres
279453662f 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
ba4fce2b9e Draft: clean up draftgeoutil modules 2020-06-09 11:51:17 +02:00
vocx-fc
9c9e59fb07 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
5cfbf274bb 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
9a65d4db38 FEM: constraint transform, fix round by improving coordinate calculation 2020-06-09 06:45:01 +02:00
Bernd Hahnebach
c915347c90 FEM: constraint transfrom, coordinate transformation 2020-06-09 06:21:54 +02:00
sliptonic
73a92d7838 Merge pull request #3581 from gwicke/optimizeLinearSegments_fix
Path: Fix for optimizeLinearSegments
2020-06-08 10:13:31 -05:00
Abdullah Tahiri
4fba18a5d1 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
a1bf4ef5ea [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
9d62da9c8f Py3.8: [skip ci] missing initializer for member '_typeobject::tp_vectorcall' [-Wmissing-field-initializers] 2020-06-08 14:40:00 +02:00
wmayer
0b1a2bf223 Py3.8: missing initializer for member '_typeobject::tp_vectorcall' [-Wmissing-field-initializers] 2020-06-08 14:32:21 +02:00
wmayer
2a9e236bfc gcc: [skip ci] suppress gcc 10 warnings in smesh code 2020-06-08 11:40:16 +02:00
Bernd Hahnebach
08121cf709 FEM: fem examples manager, fix ccx tools solver 2020-06-08 10:29:45 +02:00
Gabriel Wicke
896e347a7e Merge branch 'master' into optimizeLinearSegments_fix 2020-06-07 21:38:53 -07:00
wandererfan
7d804cd615 [Part]Fix bad shape from Fillet
- see #4285 for similar fix on Chamfer
2020-06-07 22:08:41 -04:00
Gabriel Wicke
3c8fb95ba5 Merge branch 'master' into optimizeLinearSegments_fix 2020-06-07 16:04:51 -07:00
Gabriel Wicke
191e5532a8 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
a9743b3471 PartDesign: [skip ci] fix typo 2020-06-08 00:59:46 +02:00
wmayer
74bdc701a9 Gui: [skip ci] fix bug when keyboard tracking for QuantitySpinBox is disabled and value is changed by mouse wheel or the spin buttons 2020-06-07 23:38:03 +02:00
sliptonic
4b0e9a6142 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
042b568e81 Merge pull request #3579 from WandererFan/prefDirs
[Part]Fix #4285 Bad Shape from Chamfer
2020-06-07 15:41:52 -04:00
wmayer
7e71c8ecc5 [skip ci] include missing boost header 2020-06-07 20:58:45 +02:00
WandererFan
dfcfce701c Merge branch 'master' into prefDirs 2020-06-07 13:33:56 -04:00
wmayer
8a10b77400 Expression: move handling of invalid quantities (NaN) from FunctionExpression to DlgExpressionInput 2020-06-07 18:00:35 +02:00
wandererfan
1eb87229af [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
9375b9599f [TD]Fix preference directory pickers 2020-06-07 11:26:56 -04:00
wmayer
e16e756af9 [skip ci] include missing boost header 2020-06-07 17:21:37 +02:00
wmayer
7c6a2ee78a [skip ci] include missing boost header 2020-06-07 15:54:34 +02:00
wmayer
f317f05837 App: [skip ci] handle XMLAttributeError in Document::readObjects 2020-06-07 14:25:32 +02:00
wmayer
21ca6c862d Base: [skip ci] in XMLReader class replace assert(0) calls with throwing an XMLAttributeError exception 2020-06-07 14:24:46 +02:00
wmayer
4742d035f0 Python: [skip ci] tp_print slot has been replaced with tp_vectorcall_offset in Py3.8 2020-06-07 12:53:47 +02:00
wmayer
2c353464c9 Gui: [skip ci] fix bug when keyboard tracking for QuantitySpinBox is disabled and value is changed by mouse wheel or the spin buttons 2020-06-07 11:30:56 +02:00
wmayer
3de83793b0 Revert "App: [skip ci] avoid that Origin makes persistent any properties of its extension"
This reverts commit 832a4de022f2c5808043d917b1bd9b302f583524.
2020-06-07 10:44:12 +02:00
Abdullah Tahiri
0beb19d724 Expressions: Avoid multiline error messages
===========================================

fixes #4324

A multiline error message produces poor visualisation when used in the UI, while
there is no need for it to be multiline.
2020-06-06 20:20:10 +02:00
wmayer
489711e625 App: [skip ci] correctly mapping of sub-feature name to role name of an Origin feature 2020-06-06 15:46:48 +02:00
wmayer
d2e3045923 App: [skip ci] in dependency graph make sure that an Origin stays inside the Body or Part container 2020-06-06 13:48:25 +02:00
wmayer
4a449d1d0b App: [skip ci] throw an exception if the expression gives NaN 2020-06-06 13:04:01 +02:00
wmayer
6cbf93dd5f App: [skip ci] suppress false warning 2020-06-06 10:54:16 +02:00
Gabriel Wicke
ef223fc71c 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
72524e9056 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
wmayer
8cf0bfa8bf App: [skip ci] avoid that Origin makes persistent any properties of its extension 2020-06-05 18:27:56 +02:00
wmayer
ab5467e835 App: [skip ci] implement the private class OriginExtension to simulate a geometric group behaviour 2020-06-05 18:24:17 +02:00
wmayer
f2bb7805f2 App: implement the private class OriginExtension to simulate a geometric group behaviour 2020-06-05 18:17:40 +02:00