Commit Graph

5100 Commits

Author SHA1 Message Date
Abdullah Tahiri
2cb29df152 Sketcher: UI Copy/Clone as a single dropdown toolbar icon
=========================================================

This commit provides with a single toolbar button to select between a copy and clone.

Copy just copies the constraints.
Clone modifies the dimensional constraints to geometric constraints, so that the constrained geometry follows the changes in the original object.
2015-08-30 12:08:44 +02:00
Abdullah Tahiri
3ec90116f1 Sketcher: Extension of Copy/Array functionality to clone
=============================================================

This commit allows the user to select in advance whether he wants a simple copy or a clone.

This involves substitution of dimensional constraints in the copies by equality and parallel constraints.

Terminology change for Arrays, now it is Rectangular array
2015-08-30 12:08:43 +02:00
Abdullah Tahiri
c270b39d5c Sketcher: Symmetry/Copy/2DLinearArray art by Jim
SVG and XPM icons for copy and array creation by Jim
2015-08-30 12:08:42 +02:00
Abdullah Tahiri
7b053b5602 Sketcher: UI Copy Support & 2D Array python command rework
==========================================================

- Support for copying geometric elements in the sketcher with Ctrl+C (or using the still missing icon). It will show you the vector of displacement from the
"reference point". The reference point can be chosen by the user (although it is not necessary to do it so) by making the point the user wish to be the reference point
the last selected element. It conveniently incorporates "autoconstraints", so that you can make this point (the one of the copy) directly coincident with any other point in the sketch.

- Python 2D array command modified to lock elements position using construction lines and constraints.
- Support for different spacing between u and v directions (the direction of the cols and the direction of the rows).

- Support to avoid copying DistanceX and DistanceY constraints when used for locking a point. This means that if the geometry that you copy(array) is
fully constraint, the resulting 2D array is also fully constraint.

- UI support for creating 2D linear arrays in the sketcher.
- Bug fix in python addArray, wrong line copy startingpoint calculation fixed.

How to create a 2D array in the sketcher:
1. Select your geometric elements.
2. Click the button
3. Fill in the rows/cols and preferences on spacing and constraining each element of the array
4. Click Ok
5. Define the direction of the cols of the array and click
2015-08-30 12:08:42 +02:00
Abdullah Tahiri
cc801790d7 Sketcher: AddSymmetric End-to-End point tangency bug fix
========================================================

For a while End-to-endpoint tangency is implemented via AngleViaPoint constraint. The code was not recalculating the "value" of the constraint in this case.

This also forces to set the geometry first and constraints afterwards, as the AutoLockTangencyAndPerpty function requires a valid GeoId to operate (not a big deal anyway).

Correction of the condition to allow the symmetry when a single line is mirrored about a point pertaining to a geometric element.
2015-08-30 12:08:41 +02:00
Abdullah Tahiri
4a0fa00e9e Sketcher: New Features: Python copy and array commands
======================================================

Two new python commands (no UI yet).

Copy: Copies the geoids in a list by a displacement given by a Vector3d:

App.ActiveDocument.Sketch001.addCopy([0,1,2,3,4,5],App.Vector(150,150,0))

Array: Copies the geoids in a list cols times in the displacement vector
direction and rows times in the perpendicular to the displacement vector:

App.ActiveDocument.Sketch001.addArray([0,1,2,3,4,5], App.Vector(150,150,0),3,4)

N.B.: You need to recompute or solve to update the view

App.ActiveDocument.recompute()

or

App.ActiveDocument.Sketch001.solve()
2015-08-30 12:08:40 +02:00
Abdullah Tahiri
38256931af Sketcher: New Feature: Symmetric tool
=====================================

Creates geometry symmetric to the selected one with respect to the last selected point or line.

It does not support the following constraints:

- Angle
- Horiz/vertical distance
- SnellLaw

Horizontal and Vertical (directional) dimensions removed from the the copying process when created
on a single edge (by picking one edge instead of two points), i.e. Constraint involving only one GeoId at "First".
2015-08-30 12:08:40 +02:00
Abdullah Tahiri
5958749b7a Sketcher: Bug fix: Wrong solver information upon failed solve
=============================================================

http://forum.freecadweb.org/viewtopic.php?f=10&t=11341&start=80#p92820

...I already have a minor bug, if you insert a conflicting dimensional constraint,
the solver information is not updated, the work-around is to hit "Manual Update".
2015-08-30 12:08:39 +02:00
Przemo Firszt
5fcd8224b5 Doc: Quarter doc main page is not FreeCAD documentation main page
Signed-off-by: Przemo Firszt <przemo@firszt.eu>
2015-08-30 11:59:21 +02:00
wmayer
96219e72b5 + fix various warnings 2015-08-30 11:48:26 +02:00
wmayer
0a06b2b703 + fix various warnings 2015-08-29 23:01:19 +02:00
wmayer
9c15aa059e + fix 'switch' warnings 2015-08-29 22:26:48 +02:00
wmayer
996d96285c + fix various warnings 2015-08-29 22:12:33 +02:00
wmayer
4a176cbe29 + fix various warnings 2015-08-29 22:05:09 +02:00
wmayer
c1f96b20b1 + fix strict-aliasing warnings 2015-08-29 19:48:08 +02:00
wmayer
d681a9f3ce + fix author notice 2015-08-29 18:49:16 +02:00
Alexander Golubev
cb320a8a7b Mod/Complete: suppress a minor warning
The warning was dedicated to using of char as an array index.
2015-08-29 18:36:04 +02:00
Alexander Golubev
588a6d7b70 Mod/Robot: fix yet another warning (potentialy harmful)
Warning was -Woverloaded-virtual
2015-08-29 18:36:03 +02:00
Alexander Golubev
c31c3a41da Mod/Spreadsheet: fix yet another warning (potentialy harmful)
Warning was -Woverloaded-virtual
2015-08-29 18:36:02 +02:00
Alexander Golubev
efdd14c42d 3rdParty/salomesmesh: suppress several small warnings
Warnings was about a struct declared as type and as usual added several
additional brackets.
2015-08-29 18:36:01 +02:00
Alexander Golubev
92ab6c0400 3rdParty/salomesmesh: fix a couple error-prone warnings
The Warnings was about hiding bases class RemoveElement() and
RemoveFreeElement() virtual methodes which may caused calling wrong
function by bases class pointer.
2015-08-29 18:36:01 +02:00
Alexander Golubev
8fdf8367ad Mod/Mesh: suppress bunch of warnings on C++11 usage
Warnings was like:
src/Mod/Mesh/App/WildMagic4/Wm4Vector4.cpp|21 col 49| warning: first declaration of static data member specialization of 'ZERO' outside namespace 'Wm4' is a C++11 extension [-Wc++11-extensions]
2015-08-29 18:36:00 +02:00
Alexander Golubev
5b469a4078 Mod/Spreadsheet: suppress warnings
Warnings was:
src/Mod/Spreadsheet/App/Expression.cpp|788 col 20| warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
2015-08-29 18:35:59 +02:00
Alexander Golubev
62d130bea0 Mod/Sketcher: suppress warning
Warning was:
src/Mod/Sketcher/Gui/CommandConstraints.cpp|1031 col 28| warning: '&&' within '||' [-Wlogical-op-parentheses]
2015-08-29 18:35:58 +02:00
Alexander Golubev
dc94ec65b8 Mod/Sketcher: add missing brackets in conditions
Warning was:
src/Mod/Sketcher/Gui/CommandConstraints.cpp|131 col 99| warning: '&&' within '||' [-Wlogical-op-parentheses]
2015-08-29 18:35:58 +02:00
Alexander Golubev
3055cb3b8e Mod/Robot: fix missing return statement
Warning was:
src/Mod/Robot/App/kdl_cp/chainjnttojacsolver.cpp|46 col 5| warning: control may reach end of non-void function [-Wreturn-type]
2015-08-29 18:35:57 +02:00
Alexander Golubev
928b632441 Mod/Robot: fix some spaces and a couple of warnings
Warnings wsa:
src/Mod/Robot/App/kdl_cp/chaindynparam.cpp|105 col 5| warning: control may reach end of non-void function [-Wreturn-type]
src/Mod/Robot/App/kdl_cp/chainidsolver_recursive_newton_euler.cpp|82 col 5| warning: control may reach end of non-void function [-Wreturn-type]
2015-08-29 18:35:56 +02:00
Alexander Golubev
006b2c0cb0 Mod/Robot: fix spacing and add a couple of FIXME's
It's to be considered to delete the class ChainIkSolverVel_pinv_nso:
it seems it's not used anythere and unmantained/unfinished for many years.
2015-08-29 18:35:55 +02:00
Alexander Golubev
9578f1d86d Gui: fix constructor arguments due to prototype change
Warning message was:
src/Gui/DownloadManager.cpp|295 col 54| warning: 'this' pointer cannot be null in well-defined C++ code; pointer may be assumed to always convert to true [-Wundefined-bool-conversion]
2015-08-29 18:35:55 +02:00
Alexander Golubev
9aca1e3b36 Gui & Mod/Sketcher: use fabs() instead abs()
Warnings was like:
src/Mod/Sketcher/Gui/DrawSketchHandler.cpp|350 col 28| warning: using integer absolute value function 'abs' when argument is of floating point type [-Wabsolute-value]
Also see:
http://forum.freecadweb.org/viewtopic.php?t=10920
http://forum.freecadweb.org/viewtopic.php?f=10&t=5258
2015-08-29 18:35:54 +02:00
Alexander Golubev
3c0792d5d9 salomesmesh: suppress several warnings
Warning was like:
src/3rdParty/salomesmesh/src/SMESHDS/SMESHDS_Mesh.cpp|1028 col 5| warning: add explicit braces to avoid dangling else [-Wdangling-else]
src/3rdParty/salomesmesh/src/SMESH/SMESH_MeshEditor.cpp|7377 col 27| warning: '&&' within '||' [-Wlogical-op-parentheses]
2015-08-29 18:35:53 +02:00
Alexander Golubev
37750cb03f salomsmesh: fix more bad conditions
warning was:
src/3rdParty/salomesmesh/src/StdMeshers/StdMeshers_Penta_3D.cpp|832 col 9| warning: logical not is only applied to the left hand side of this comparison [-Wlogical-not-parentheses]
2015-08-29 18:35:52 +02:00
Alexander Golubev
bb1e2ec508 salomesmesh: fix an error because of bad priorities in logial operators 2015-08-29 18:35:52 +02:00
Alexander Golubev
dc50905330 salomesmesh: fix broken conditions
Warnings was:
src/3rdParty/salomesmesh/src/SMESH/SMESH_Mesh.cpp|617 col 19| warning: logical not is only applied to the left hand side of this comparison [-Wlogical-not-parentheses]
||   bool isAlgo = ( !anHyp->GetType() == SMESHDS_Hypothesis::PARAM_ALGO );
||                   ^                 ~~
src/3rdParty/salomesmesh/src/Controls/SMESH_Controls.cpp|2165 col 31| warning: '&&' within '||' [-Wlogical-op-parentheses]
||       if ( !aMinStr.IsEmpty() && !aMinStr.IsIntegerValue() ||
2015-08-29 18:35:51 +02:00
Alexander Golubev
b04ca16906 salomesmesh: fix function missing return statement
3rdParty/salomesmesh/src/SMESHDS/SMESHDS_GroupOnGeom.cpp|95 col 3| warning: control may reach end of non-void function [-Wreturn-type]
||   }
2015-08-29 18:35:50 +02:00
Alexander Golubev
3cc78d1f73 salomesmesh: fix tests in conditions
Lots of warnings like:
src/3rdParty/salomesmesh/src/SMESHDS/SMESHDS_Command.cpp|57 col 6| warning: logical not is only applied to the left hand side of this comparison [-Wlogical-not-parentheses]
||         if (!myType == SMESHDS_AddNode)
||

Most of them resulted in conditions being always false.
2015-08-29 18:35:50 +02:00
Alexander Golubev
9aebbb228b Pivy: suppress warning
Warning was:
src/3rdParty/salomesmesh/src/SMDS/SMDS_Mesh.cpp|2303 col 31| warning:
'&&' within '||' [-Wlogical-op-parentheses]
||       !hasConstructionFaces() && elem->GetType() == SMDSAbs_Face ||
||       ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2015-08-29 18:35:49 +02:00
Alexander Golubev
93ba3fe795 Pivy: fix several warnings
Warnings like:
    warning: array index 2 is past the end of the array (which contains 2 elements) [-Warray-bounds]

All was due to small defined size of the onstack array.
2015-08-29 18:35:48 +02:00
Alexander Golubev
5aa5684873 Pivy: Fix a compiller warning with wrong check
Warning was:
src/3rdParty/Pivy-0.5/coin_wrap.cpp|244969 col 15| warning: comparison of function 'time' not equal to a null pointer is always true [-Wtautological-pointer-compare]
||           if (time != NULL) {
||               ^~~~    ~~~~

This one supposed to be a copy-paste typo.
2015-08-29 18:35:46 +02:00
wmayer
23baa80496 + if FreeCAD is not running in Gui mode do not replace Python std. output 2015-08-29 17:22:40 +02:00
wmayer
88eabf40b5 + replace assert() to avoid crash 2015-08-29 16:34:36 +02:00
Yorik van Havre
a2cff0938e Arch: Fixed DAE export - fixes #2219 2015-08-28 17:46:52 -03:00
Przemo Firszt
052995a2a2 Material: Add missing Density fields using Tools
Signed-off-by: Przemo Firszt <przemo@firszt.eu>
2015-08-27 15:59:02 +01:00
Przemo Firszt
321a310481 Materials: Add Materials.ods file
Signed-off-by: Przemo Firszt <przemo@firszt.eu>
2015-08-27 15:59:02 +01:00
Przemo Firszt
06e9f7e505 Materials: Add Tools for FCMat<->ods conversion
Testing and proofreading by sgrogan

Signed-off-by: Przemo Firszt <przemo@firszt.eu>
2015-08-27 15:58:51 +01:00
Przemo Firszt
f4f086316c Materials: Update Readme.txt
Signed-off-by: Przemo Firszt <przemo@firszt.eu>
2015-08-27 15:58:31 +01:00
Przemo Firszt
7952e6f7f1 Material: Add TEMPLATE.FCMat file
Signed-off-by: Przemo Firszt <przemo@firszt.eu>
2015-08-27 15:58:31 +01:00
Przemo Firszt
31f387d113 Material: Clean material files
Signed-off-by: Przemo Firszt <przemo@firszt.eu>
2015-08-27 15:58:31 +01:00
wmayer
a3403455bd + fixes #0002229: some ttf fonts make Draft.makeShapeString crash 2015-08-26 22:56:37 +02:00
wmayer
b1b76dea66 + disable SVG and IDTF export for 3d view 2015-08-26 22:11:53 +02:00