Commit Graph

473 Commits

Author SHA1 Message Date
jrheinlaender
da12aa8805 Allow mapping a sketch to a datum plane 2016-04-12 18:11:52 +02:00
jrheinlaender
9e7b463113 Allow geometry from other bodies in the same par as external geometry for sketches 2016-04-12 18:11:52 +02:00
jrheinlaender
6915d8b734 Miscellaneous fixes 2016-04-12 18:11:50 +02:00
jrheinlaender
02dfb8551d Moved some methods from PartDesign::Body to Part::BodyBase so the SketchObjects will be removed cleanly from the Body when deleted 2016-04-12 18:11:49 +02:00
jrheinlaender
5b3d5e6bd8 Moved generic Datum class to Part module to avoid Sketcher dependency on PartDesign 2016-04-12 18:11:49 +02:00
jriegel
71b9ded9a1 some adjustments on WB auto-switch 2016-04-12 18:11:45 +02:00
jriegel
db460cff8a auto WB switching for editing Sketches and new TaskWatcher 2016-04-12 18:11:45 +02:00
jriegel
fbd763a8f4 switch PartDesign to Bodies 2016-04-12 18:11:45 +02:00
jriegel
8537926edc Finally fixing the highlight code 2016-04-12 18:11:44 +02:00
Yorik van Havre
ca7c5d31a4
updated translations 2016-04-06 22:39:34 -03:00
wmayer
05ed514bcf + replace insecure x/fabs(x) with sgn function 2016-03-24 11:07:30 +01:00
Yorik van Havre
bcb75d5477 Updated translation files from crowdin 2016-03-17 23:29:11 -03:00
DeepSOIC
5c3024e9f8 Sketcher: negative constraint value avoidance
by swapping elements being constrained at creation time, should the
precalculated value happen to be negative.
2016-03-12 21:28:37 +01:00
DeepSOIC
e624a1d00d Sketcher: never ever hide constraint value sign, anymore 2016-03-12 21:28:22 +01:00
wmayer
b25ef6235d + on rename of contraint make sure that new name is different, on swap constraint names make sure they have user-defined names 2016-03-12 20:02:18 +01:00
wmayer
a17870c93c + fixes #0002471: In constraint context menu, 'Change Value' is always greyed out 2016-03-12 15:26:06 +01:00
wmayer
f124f6e70b + minor whitespace fix, fix warnings 2016-03-11 21:39:15 +01:00
wmayer
4fcb93b64e + issue #0001203: Allow User to Adjust Size of Constraint Points 2016-03-08 00:31:50 +01:00
Yorik van Havre
d1b4f23388 Added latest translations from crowdin 2016-03-06 14:50:07 -03:00
triplus
d432c72a15 Add SVG workbench icons 2016-02-26 23:17:43 +01:00
Yorik van Havre
28b6c82555 Added updated translations from crowdin - fixes #2443 2016-02-26 18:32:02 -03:00
Jonathan Wiedemann
f16a26662d Sketcher : Allow µm in sketcher grid size 2016-02-19 16:32:25 +01:00
Yorik van Havre
2e2192f88a Added slovenian language 2016-02-03 13:36:51 -02:00
Yorik van Havre
37b1bdbe27 Updated translations with latest from crowdin 2016-02-01 23:32:58 -02:00
wmayer
65fe62d93b + simplify porting of Sketcher module to Python3 2016-01-18 12:19:54 +01:00
Mateusz Skowroński
7d0e892d36 Qt4's qglobal.h defined TRUE and FALSE. Qt5 does not do it anymore. Replace it with true and false.
158f39ec78

This change is Qt4/Qt5 neutral.
2016-01-05 16:43:33 +01:00
Mateusz Skowroński
cd2db00f22 QString::fromAscii() is obsolete in Qt5. Replace it with fromLatin1().
This change is Qt4/Qt5 neutral.
2016-01-05 16:07:25 +01:00
Mateusz Skowroński
d5c074f80d QString::toAscii() is obsolete in Qt5. Replace it with toLatin1().
This change is Qt4/Qt5 neutral.
2016-01-05 16:06:48 +01:00
Yorik van Havre
1747fb643f Updated ts files prior to translation cycle 2016-01-03 19:45:29 -02:00
wmayer
ad2c4c23d0 + fix compiler warnings 2015-12-30 10:58:14 +01:00
wmayer
462ec49297 + fixes #0001956: FreeCAD 0.14.370x hangs when attempting to edit sketch containing ellipse 2015-12-27 11:44:47 +01:00
Stefan Tröger
dcad131357 Expressions: Fix property editor behavior
- change responsibility of python code emition
- Correct python code handling for expressions
- handle constraints expressions handling
2015-12-09 14:08:50 +01:00
Stefan Tröger
4203a6f35b Expressions: Integrate into the property editor
- basic infrastructure for handling of expressions
- port the unit properties editor to support expressions
- port placement editor to support expressions
- expressions for double spinbox
- expressions in sketch constraints
2015-12-09 14:08:48 +01:00
wmayer
2b2358e70b + fix warnings with Win32 build 2015-12-01 00:51:57 +01:00
Abdullah Tahiri
19c840e1ab Sketch: Solver: Extended Advanced Solver configuration
========================================================

This is an advanced setting just for allowing increased choices to power users that have problems with a given sketch and want to
test different flavours of DogLeg algorithm.

This commit does not change the default behaviour of FreeCAD. It is only intended to give more options to power users.

The advanced solver configuration is extended to support three different Gauss-newton steps for DogLeg:

FullPivLU => h_gn = Jx.fullPivLu().solve(-fx);
LeastNormFullPivLU => h_gn = Jx.adjoint()*(Jx*Jx.adjoint()).fullPivLu().solve(-fx);
LeastNormLdlt => h_gn = Jx.adjoint()*(Jx*Jx.adjoint()).ldlt().solve(-fx);

This setting is applied only to DogLeg. It is applied to DogLeg as normal or redundant solver, if DogLeg is the selected solver.

Selecting a solver different from DogLeg for both normal and redundant disables the setting.

We have been told:
https://forum.kde.org/viewtopic.php?f=74&t=129439#p346104

that our default Gauss-Newton step in DogLeg may not be adequate in general (we generally deal with underconstraint systems
unless we have a fully constraint sketch, and even then it is many times overconstraint at least for redundant solving).

We have been told that maybe these LeastNorm options are more suitable for us (performance set aside). This enables you as power
user to test if it works fine with FreeCAD.
2015-11-28 13:08:31 +01:00
Abdullah Tahiri
aa6908b144 Sketch: Solver Defaults: Sketch size multiplier OFF
===================================================

This commit sets the sketch size multiplier OFF by default (so the number of iterations DogLeg/BGFS/LM is not sketch size dependent).

In complicated sketches having a high number of parameters, with sketch multiplier on, the number of iterations is extremely high (100 parameters*100 iterations => 10000 iterations).

The idea of disabling this comes from tests performed by DeepSOIC and from my own experience using the Sketcher. In general
sketch multiplier makes FreeCAD unresposive (very high amount of iterations, not a real freeze) in big sketches so that users
end up killing the application. This is preventing the users from taking appropriate action, Developers from getting the information of the failure and
users angry.

The idea is that even for complicated sketchs N iterations (100 by default) should be enough to converge, if it is ever going to converge. Experience will tell us
if we have to increase this number in the range [100-300]. 100 iterations in complicated dossiers is in my experience generally under 30 seconds.

N.B.: This commit does not change the defaults stored in your computer, so if you have the sketcher multiplier on, the advanced solver dialog will still enforce this local setting. You
may disable it or click the "defaults" button to disable the sketcher multiplier.
2015-11-28 13:08:24 +01:00
Abdullah Tahiri
ad1210f4bb Sketcher: Advanced solver dialog bug fix LM-tau
================================================

Due to a typo the code was setting LM-tau to 1E-80 by default instead of the intended 1E-3.
2015-11-21 22:48:02 +01:00
wmayer
85ac79aaf2 + double check that internal data is valid when leaving edit mode of sketcher view provider 2015-11-02 12:42:18 +01:00
Abdullah Tahiri
fc128d357d Sketcher: Solver information: Bug fix
=====================================

When the solver converged (but did not succeed) or when the solver succeded but the solution is not OCC-valid, no error message was shown in the solver messages dialog.
2015-10-22 23:48:04 +02:00
wmayer
692e9e6b96 + fixes #0002291: Invalid sketch warning should allow to directly open sketch validation tool 2015-10-17 15:34:14 +02:00
wmayer
051ad564d1 + use correct context for translatable strings in ViewProviderSketch 2015-10-17 15:21:37 +02:00
wmayer
b7be7aec13 + Prefer prefix ++/-- operators for non-primitive types 2015-10-07 13:38:17 +02:00
Eivind Kvedalen
b68ae65f56 Sketcher: Fixed keeping sign of constraints. 2015-10-06 21:26:22 +02:00
Abdullah Tahiri
94851bc14f Sketcher Bug fix: External geometry shown after reorient
========================================================================

Reported here:
http://forum.freecadweb.org/viewtopic.php?f=10&t=12517&p=100388#p100429

Solution:
When a sketch loses support, all external geometry is deleted right away.
2015-09-28 11:45:06 +02:00
Abdullah Tahiri
01ba165d9a Bug fix: deletion of groups of external geometry
================================================

Issue reported inter alia here:
http://forum.freecadweb.org/viewtopic.php?f=10&t=12380#p99456

How to reproduce:
1. Make an external geometry hexagon (make a hexagon, pad it, make a sketch on a hexagonal face and make all the lines external geometry)
2. Box select the external lines and press "del"

On the first pressing of "del" 3 lines were deleted and 3 remained, select again, on the second press 1 remains, select again, on the last press all are deleted.

Why?
Internal and External geometry were handled together in a single set. Group deletion of geometry is effected starting from the highest index,
so that upon deleting an element, the index of the remaining elements does not change. Handling both groups together caused that the external geometry
was actually deleted on the inversed order (as they are (decreasing) negative values for representation, but increasing positive indexes in the external geometry array).

Solution:
Internal and External geometries are handled separatedly
2015-09-28 11:14:30 +02:00
wmayer
10786c65b8 + support of unicode names for sketch constraints 2015-09-24 03:17:47 +02:00
Mateusz Skowroński
43a4a5938c Fix files encoding. Go from ISO8859-1 to UTF-8. 2015-09-21 19:50:49 -03:00
Eivind Kvedalen
67800ec8c4 Sketcher: Added support for expressions. 2015-09-21 14:51:10 +02:00
wmayer
300e176eb3 + fixes #0002268: Segmentation Fault when using sketcher 2015-09-17 13:31:10 +02:00
wmayer
739e643f2f + check returned mdi view to be of the requested type 2015-09-16 16:15:19 +02:00