Commit Graph

1420 Commits

Author SHA1 Message Date
jriegel
39d6d914a8 Some fixes in Body visualls (ongoing) 2016-04-12 18:11:46 +02:00
jriegel
96f2a734ae 3D subgrouping for Body 2016-04-12 18:11:46 +02:00
jriegel
6949a23483 some adjustments on WB auto-switch 2016-04-12 18:11:45 +02:00
jriegel
b7d53d9d70 auto WB switching for editing Sketches and new TaskWatcher 2016-04-12 18:11:45 +02:00
jriegel
5f8ebafd7d switch PartDesign to Bodies 2016-04-12 18:11:45 +02:00
jriegel
f9d1cc4fe4 clean up in- and out-list code 2016-04-12 18:11:45 +02:00
jriegel
ee712eecf8 Automatic WB switching and Active PartDesign body 2016-04-12 18:11:45 +02:00
jriegel
5b23d06cfe implement active body in PartDesign 2016-04-12 18:11:45 +02:00
jriegel
437bf6d917 Add some commands to assembly 2016-04-12 18:11:44 +02:00
wmayer
2d8c48ef83 + perform validation check after partdesign chamfer operation 2016-04-09 11:47:31 +02:00
Yorik van Havre
819f790900 updated translations 2016-04-06 22:39:34 -03:00
mandeeps708
019fb19942 fixes typo in Part Design workbench 2016-04-06 02:51:03 +05:30
wmayer
be63f43e2e + add extra check if fillet operation returns valid shape 2016-04-04 14:26:27 +02:00
wmayer
7cd7619cce + clear selection before hiding the linked object when editing fillet/chamfer 2016-04-02 15:29:08 +02:00
Yorik van Havre
66e33b066a Updated translation files from crowdin 2016-03-17 23:29:11 -03:00
Yorik van Havre
7d0012e160 Added latest translations from crowdin 2016-03-06 14:50:07 -03:00
triplus
93c7a6bcac Add SVG workbench icons 2016-02-26 23:17:43 +01:00
Yorik van Havre
f93b1b26df Added updated translations from crowdin - fixes #2443 2016-02-26 18:32:02 -03:00
wmayer
df05844d32 + in pad dialog make sure not to compare quantities with different units 2016-02-23 11:34:04 +01:00
wmayer
cd3d36342f + fix unit tests 2016-02-09 16:00:38 +01:00
Yorik van Havre
3106ca7df3 Added slovenian language 2016-02-03 13:36:51 -02:00
Yorik van Havre
758b0778d4 Updated translations with latest from crowdin 2016-02-01 23:32:58 -02:00
wmayer
4b1c74e196 + simplify porting of PartDesign module to Python3 2016-01-20 17:00:43 +01:00
wmayer
2709266e83 + do not include from .qrc generated .cpp file from other .cpp file but add it to build system 2016-01-05 17:35:58 +01:00
Mateusz Skowroński
c275b35d48 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
0695552cff 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
80f27ca316 Updated ts files prior to translation cycle 2016-01-03 19:45:29 -02:00
wmayer
750897c20e + introduce proper enum for property status to replace plain integers 2016-01-01 15:36:24 +01:00
wmayer
93a3dc0cdd + fix warnings with Win32 build 2015-12-01 00:51:57 +01:00
wmayer
c082cc47a1 + Add parametric feature to create face from sketches 2015-11-12 19:44:24 +01:00
Eivind Kvedalen
e72dc31954 PartDesign: Fixed similar issue compared to #2302 with unit handling when using an expression for the chamfer size. 2015-11-09 21:37:24 +01:00
Eivind Kvedalen
533514e8d3 PartDesign: Fixed issue #2302 with unit handling when using an expression for the fillet radius. 2015-11-09 21:37:08 +01:00
wmayer
6a3d7fac55 + fix documentation of task dialog 2015-11-09 19:22:19 +01:00
wmayer
de41dc46ec + Prefer prefix ++/-- operators for non-primitive types 2015-10-07 13:38:17 +02:00
wmayer
964932e3df + unlimit the value for occurrences 2015-10-04 10:32:58 +02:00
Eivind Kvedalen
7bd6b63183 PartDesign: bugfix, invoke ui->spinOccurrences->apply(). 2015-09-30 15:54:19 +02:00
Eivind Kvedalen
56c95964b8 PartDesign: Replaced QuantitySpinBox by SpinBox for "occurrences" input field. 2015-09-30 15:54:19 +02:00
wmayer
bfa6ec632d + backward compatibility of Linear and Polar pattern 2015-09-22 18:04:07 +02:00
Mateusz Skowroński
05f95c0506 Fix files encoding. Go from ISO8859-1 to UTF-8. 2015-09-21 19:50:49 -03:00
wmayer
e0bdf24c95 + fix build problems with MSVC and libpack 2015-09-21 14:51:12 +02:00
Eivind Kvedalen
8e112bd2db PartDesign: Added support for expressions. 2015-09-21 14:51:09 +02:00
Yorik van Havre
f79d0d8ed2 Updated ts files 2015-09-14 14:31:47 -03:00
Abdullah Tahiri
1724e0c2f8 Part Design: Bug fix Sketcher tools Menu in Part Design Menu
============================================================

As per forum request:
http://forum.freecadweb.org/viewtopic.php?f=10&t=11840&start=40#p97205

This actually was a bug of last year when I wanted to introduce it, coded it, but failed to actually make it shown.
2015-08-30 12:08:46 +02:00
wmayer
dcda84c00e + re-insert removed line 2015-08-03 10:53:36 +02:00
wwmayer
6bf065c097 + fix many minor warnings, activate -Wall for gcc 2015-08-02 22:32:18 +02:00
wmayer
72aaaa669a + harmonize Coin3D cmake variables with official check 2015-07-28 14:55:15 +02:00
wmayer
c2c83a353b + harmonize XercesC cmake variables with official check 2015-07-28 14:17:49 +02:00
wmayer
d2b7b730d3 + replace deprecated PYTHON_INCLUDE_PATH 2015-07-25 18:29:42 +02:00
wmayer
6b3340e7b5 + include missing header files 2015-07-01 13:02:29 +02:00
Abdullah Tahiri
48c5b79b81 Sketcher: Major re-structuration: New Solving Model: General Sketch Solve call reduction
=======================================================================================

ActSketch in ViewProvider dissapears. The temporal sketch (sketch.cpp) for solving is now a data member of SketchObject.cpp (hereinafter solvedSketch). All the solving is concentrated in SketchObject.cpp.

SketchObject provides an interface to expose its solver, as it is still currently needed for some UI operations from ViewProviderSketch, like dragging points (solving rubber bands).

ViewProviderSketch still can select whether to draw the solvedSketch geometry (previously ActSketch) geometry (UI staff) or the SketchObject geometry. Performancewise, it makes sense to separate this two
geometries, as the SketchObject one involves modifying the Geometry and Constraint Properties (including all the undo related functionality), which would mess the undo functinality and incur in a big
peformance penalisation while dragging. One characteristic of solvedSketch is that its geometry is solved, whereas the geometry of SketchObject may not have been solved yet.

These geometries may differ at for the following reasons:
1. The geometry corresponds to an ongoing dragging operation, so solvedSketch has the last calculated dragging geometry, while SketchObject has the one corresponding to initial position.
2. Geometry/constraints were added to the sketch, but no solve/execute was triggered yet (envisioned situation is the future group creation functionality not in this commit).

What do I gain?

- Inserting a (simple) geometry element now costs 1 solver execution.
- Inserting a constraint now costs 1 solver executions.

For reference, in previous versions inserting a constraint involved 5 solver executions.

The following information provide a historical review of the coding of this commit (formed of 10 squashed commits):

This is a general sketch solve call reduction, not only during geometry creation (this commit does not include until here any specific measure to reduce calls on geometry creation, that is another branch)

After a lot of profiling, it seems that the "cause"(tm) that creates so many solver calls is that every update generates a solving in ViewProviderSketch, regardless of the need for that update,
many times with the only aim of providing the DoF for the message dialog and keeping ActSketch in sync with SketchObject in case it is needed (currently UI moving points, constraints,...).

Sketch solver is now a data member of SketchObject instead of a temporal object that gets initilized and destroyed.

This allows:
1. Potentially more synergy reducing calls to setUpSketch (still to be seen, still to be optimized)
2. Allowing SketchObject to access the latest geometry that has been solved => In future, allow objects that use SketchObject to obtain the latest
solved geometry instead the geometry of SketchObject that may still be unsolved. This is relevant for drawing the geometry

No more solving in ViewProviderSketch. Solving a Sketch is now an exclusive competence of SketchObject.

There is however a lot of cleaning to do in ViewProviderSketch

(I mean, not that these commits are making a mess in VPSketch,
but that as a consequence of the changes, it should be possible to
optimize VPSketch, specially moving and drawing methods)

Very useful comment for future developers that may wonder why a solve per constraint just upon addition is necessary.

Added a new function to get the size of the geometry of the instance of the solver object (Sketch.cpp).
The previous way was to extract the geometry, which is costly and error prone, as you have to delete it afterwards.

Inserted comment about the necessity of triggering a Part2D update during edit mode
2015-06-15 22:53:59 +02:00