Commit Graph

17171 Commits

Author SHA1 Message Date
donovaly
9726ad3f4a [TD] add dialog for hatches
as discussed in the forum, the hatch feature misses a dialog. So here it is. The code is more or less just the one of the existing GeomHatch dialog
2020-06-12 08:12:37 -04:00
donovaly
7366339266 [TD] GeomHatch dialog: use sensible hatch limits
- negative scale and line width is not sensible and lead to strange effects thus set a minimum
- set the minimum reasonably above 0 since e.g. a hatch scale of 0.01 fills 8 GB RAM -> out of RAM error
- disable KeyboardTracking since we don't want a time-consuming recomputation while the user changes a value
2020-06-12 08:12:07 -04:00
donovaly
4d0cd751da [TD] detail view: add missing tooltip 2020-06-12 08:11:25 -04:00
wmayer
b2f5a3bd90 [skip ci] avoid to redefine GL_GLEXT_PROTOTYPES if already defined 2020-06-12 14:07:45 +02:00
Yorik van Havre
6271887cc6 Arch: Allow to export structural analysis model to IFC 2020-06-11 14:15:38 +02:00
Yorik van Havre
415b0dce25 Draft: Allow to define rounding value in DraftVecUtils.rounded 2020-06-11 14:15:04 +02:00
sliptonic
df2884f810 [PATH] make -custom- op compliant. Improve gcode_pre importer 2020-06-10 16:49:46 -05:00
GeneGH
5162f146d6 Path Simulator - Recognition of canned cycle cancellation
The Path Simulator was designed to handle canned cycle drilling operations, G81, G82, and G83, but it expects the industry standard continuous uninterrupted set of G8x commands until the operation is completed. A recent change to the Path Drilling operation adds commands that cancel each G8x command immediately after that command is used. This confuses the Path Simulation function and leads to visual artifacts when the simulation is performed.

G-code standards say that canned cycle cancellation can be accomplished by a specific G80 command or by any motion command in the set G0, G1, G2, or G3. This PR modifies PathSimulationGui.py to add recognition for canned cycle cancellation and resets the simulator to treat the next G8x command as the first element of a new series of canned cycles operations rather than a continuation of the previous series.
2020-06-10 13:51:09 -04:00
Yorik van Havre
d205316a82 Arch: Support user-defined profiles csv file 2020-06-10 15:38:29 +02:00
donovaly
b7bb7d1f2b [TD] update view when autoscale was set 2020-06-10 08:04:18 -04:00
wmayer
bb86fe18e6 Sketcher: [skip ci] fix -Wimplicit-fallthrough= 2020-06-10 13:09:58 +02:00
wmayer
c9480d7d1a PartDesign: [skip ci] fix -Wunused-variable 2020-06-10 12:52:52 +02:00
wmayer
350bae2aa7 clang/gcc/cmake: [skip ci] suppress deprecated-copy warnings for OpenInventor class SbMatrix 2020-06-10 12:49:45 +02:00
Gabriel Wicke
439d363cb7 Merge branch 'master' into area_tweaks 2020-06-09 20:31:30 -07:00
WandererFan
0446086a8e [TD]CosmeticEdge type guards 2020-06-09 18:40:59 -04:00
WandererFan
4183594039 [TD]CosmeticEdge setters and getters 2020-06-09 18:40:59 -04:00
wandererfan
dd0273ff4e [TD]Fix CosmeticVertex size 2020-06-09 16:12:14 -04:00
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