Commit Graph

21525 Commits

Author SHA1 Message Date
wandererfan
7d804cd615 [Part]Fix bad shape from Fillet
- see #4285 for similar fix on Chamfer
2020-06-07 22:08:41 -04: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
sliptonic
1d2b2f20f0 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
a785c02dd4 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
0a43d9ecc1 Arch: Fixed non-GUI mode of exporters 2020-06-05 14:58:20 +02:00
vocx-fc
f6378b1c0b 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
286be34765 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
734758d83f Fixed ImportNURBS icon 2020-06-05 13:19:42 +02:00
Keith Sloan
b6d5830cd6 fix resize 2020-06-05 13:17:34 +02:00
Keith Sloan
8eabb65a52 Add workbench icon 2020-06-05 13:17:34 +02:00
Keith Sloan
59e644c346 resize 2020-06-05 13:17:34 +02:00
vocx-fc
aba904f1e2 Draft: move more functions to draftgeoutils.general 2020-06-05 13:15:31 +02:00
vocx-fc
0e82ae26cd Draft: move functions to draftgeoutils.circles_incomplete 2020-06-05 13:15:31 +02:00
vocx-fc
4dc6b975db Draft: move functions to draftgeoutils.circle_inversion 2020-06-05 13:15:31 +02:00
vocx-fc
1ea5b19ea4 Draft: move functions to draftgeoutils.circles_apollonius 2020-06-05 13:15:31 +02:00
vocx-fc
7f9e6ba16b Draft: move more functions to draftgeoutils.circles, part 2 2020-06-05 13:15:31 +02:00
vocx-fc
4c4531a5fd Draft: move functions to draftgeoutils.circles, part 1 2020-06-05 13:15:31 +02:00
vocx-fc
b6adbe98e4 Draft: move more functions to draftgeoutils.arcs 2020-06-05 13:15:31 +02:00
vocx-fc
f955519903 Draft: migrate older properties of PathArray 2020-06-05 13:14:46 +02:00
vocx-fc
17de210655 Draft: rename PathArray properties
`PathObj` becomes `PathObject`, `Xlate` becomes `ExtraTranslation`,
and `PathSubs` becomes `PathSubelements`.

Update `make_path_array` function and the Gui Command.
2020-06-05 13:14:46 +02:00
vocx-fc
641a7d596a Draft: hide properties not used in the PathArray
Certain properties do not need to be shown in the property editor
when a particular `AlignMode` is chosen. This keeps the number
of properties displayed organized and easy to manage.
2020-06-05 13:14:46 +02:00
vocx-fc
07ee03b928 Draft: set the properties of PathArray through functions 2020-06-05 13:14:46 +02:00
vocx-fc
da2504efdd Draft: cleanup logic of PathArray proxy object code
Return early from the `execute` method if no base or path exist.

Add method `get_wires` which internally uses `get_wire_from_subelements`
(renamed method), to get the edges from the path object,
and its subelements, if any. If no wires are found
return early from `execute`.

The final rotation applied to the copies will be the base rotation
of the base object's shape. The only exception is when the
`AlignMode` is `'Tangent'`; in this case, it performs
a pre-rotation with the `TangentVector`.
2020-06-05 13:14:46 +02:00
vocx-fc
466751c7a8 Draft: clean up code, PEP8, and docstrings in PathArray
Test the inputs to the `make_path_array` function
and return `None` if there is a problem.

Now the make function accepts as input a `"String"` which must be
the `Label` of an object in the document, so it is easier to create
arrays quickly from the Python console.

Add the new parameters to the make function, `align_mode`,
`tan_vector`, `force_vertical`, and `vertical_vector`.
These properties were added to the proxy object in 0db11da9cf.

Add  message deprecating the older call `makePathArray`.

Adjust the GuiCommand accordingly. Now it uses the commit
mechanism of the parent `Modifier` class so that the executed
functions are recorded in the Python console.

Clean up the `PathArray` class as well.
2020-06-05 13:14:46 +02:00
bartoszek
db84309150 Fix qt5:5.15.0 build. 2020-06-05 10:02:56 +02:00