Commit Graph

8362 Commits

Author SHA1 Message Date
Yorik van Havre
0f0db7122f Merge branch 'master' of github.com:FreeCAD/FreeCAD 2017-05-31 19:18:31 -03:00
Yorik van Havre
e3ce555e66 Addon manager: Added dependency checking 2017-05-31 19:18:18 -03:00
Abdullah Tahiri
318db40af8 Fixes #0002735 2017-05-31 23:59:17 +02:00
sliptonic
c2d5a63e2d Path: add output precision option to linuxcnc post.
Modified unit tests to use it.
2017-05-31 23:38:59 +02:00
sliptonic
78983d9dd2 Path: trying to fix unit test again 2017-05-31 23:38:59 +02:00
sliptonic
a4b801e178 Path: added use of return_last to contour.
Path: bug fixes
2017-05-31 23:38:59 +02:00
sliptonic
31a697a350 Path: fixes for unittest
Path: precision fix to unittest pathpost
2017-05-31 23:38:59 +02:00
sliptonic
5e2126820c Path: PathArea logging 2017-05-31 23:38:59 +02:00
sliptonic
2bcfe3cb1f Path: Cleanup MillFace Dialog 2017-05-31 23:38:59 +02:00
sliptonic
b865eba1e2 Path: Area logging 2017-05-31 23:38:59 +02:00
sliptonic
4c5c439963 Path: minor fixes to PathMillFace 2017-05-31 23:38:59 +02:00
sliptonic
6bd6cc0526 Path: add cursor waiting decorator to long running functions.
Remove obsolete ToolDescription code from label change.
2017-05-31 23:38:59 +02:00
sliptonic
38aeb8f8de Path: TC panel bug. Loses decimal part of float spindle rate 2017-05-31 23:38:59 +02:00
sliptonic
29130de609 Path: make cursor reflect busy
Path: fix label buy in PathProfileEdges

Path: cleanup
2017-05-31 23:38:59 +02:00
sliptonic
7bccfff0de Path: More work on PathMillFace to remove old heeks dependency 2017-05-31 23:38:59 +02:00
sliptonic
0d9b2fc3e7 Path: TD version of getEnvelope for testing. 2017-05-31 23:38:59 +02:00
sliptonic
59fd1d0c81 Path: Engrave was using safeheight and clearance incorrectly. 2017-05-31 23:38:59 +02:00
sliptonic
67efac641f Path: engrave will do arrays 2017-05-31 23:38:59 +02:00
sliptonic
27b097c570 PATH: conversion of PathContour to PathArea nearly complete
Path: improve contour to use makeSections
2017-05-31 23:38:59 +02:00
sliptonic
c7acb2db3d Path: use verbose mode for fromShapes() to get relative arc centers 2017-05-31 23:38:59 +02:00
sliptonic
ac9a05368b PATH: Smoothie post for laser
includes spindle speed (power) on every line
2017-05-31 23:38:59 +02:00
sliptonic
bccc959f2d Path: Convert Contour and MillFace to use PathArea 2017-05-31 23:38:59 +02:00
Zheng, Lei
5bfc0757c0 Path.Command: fix toGCode() bug introduced in 31781eed
* output 6 digits instead of 5
* fixed negative value output
2017-05-31 23:50:05 +08:00
Abdullah Tahiri
70a9cce767 Notification to the user that a body is not active when inserting a datum entity - fixes #2511 2017-05-31 02:41:29 +02:00
Abdullah Tahiri
0b3bec3396 Fillet Feature: Return if radius <= 0 2017-05-30 23:09:29 +02:00
Zheng, Lei
7574429615 Path.Command: rounding instead of truncate in toGCode
Also changed default Path.Area pareameter ClipperScale to 1e6 which
corresponds to the default 5 digits output of Path.Command toGCode()
2017-05-30 18:49:34 +02:00
crobarcro
8482d2865e TopoShapeEdgePy.xml: improved docstrings
Corrected docstrings for *At methods (valueAt, tangentAt etc.) to explain parameter position meaning

Improved docstrings for FirstParameter, LastParameter, Length and getParameterByLength
2017-05-30 18:09:33 +02:00
WandererFan
d8eec8c7e1 Fix #1937 mis-shapen projections in TechDraw and Drawing
Complex curves need more bezier segments for accurate representation.
2017-05-30 15:44:38 +02:00
Abdullah Tahiri
b4e942c08b Checking for Document Restoring when extension has a null property
==================================================================

The problem:

OriginGroupExtension::OriginGroupExtension () {

    initExtensionType(OriginGroupExtension::getExtensionClassTypeId());

    EXTENSION_ADD_PROPERTY_TYPE ( Origin, (0), 0, App::Prop_Hidden, "Origin linked to the group" );
}

initializes the Origin property to null.

Then Document::Restore => readObjects => addObject => slotNewObject => ViewProviderDocumentObject::updateView => ViewProviderBody::updateData => ViewProviderGeometryObject::updateData =>
ViewProviderDocumentObject::updateData => ViewProvider::updateData => ViewProviderOriginGroupExtension::extensionUpdateData => updateOriginSize() => OriginGroupExtension::getOrigin,

the latter throws an exception because the origin property is null.

Afterwards, the origin property is initialized during Document::Restore => readObjects => ExtensionContainer::Restore() => PropertyContainer::Restore() => App::PropertyLink::Restore()
=> App::PropertyLink::setValue() => Property::hasSetValue, which triggers an onChange: Body::onChanged => BodyBase::onChanged => Feature::onChanged => DocumentObject::onChanged =>
Document::onChangedProperty => Document::slotChangedObject => ViewProviderOriginGroupExtension::slotChangedObjectGui => ViewProviderOriginGroupExtension::updateOriginSize =>
OriginGroupExtension::getOrigin,

now, the latter that is the same that was throwing the exception and generating the error message above, does not throw anymore because Origin has been initialized.

When creating a new object, isNew==true; whereas when loading a file, isNew==false. Therefore, when loading a file setupObject is not executed. SetupObject, effectively initializes
the extension via: Body::setupObject => DocumentObject::setupObject => OriginGroupExtension::onExtendedSetupObject.

DocumentObject * Document::addObject(const char* sType, const char* pObjectName, bool isNew)
{
    [more code here]
    // Call the object-specific initialization
    if (!d->undoing && !d->rollback && isNew) {
        pcObject->setupObject ();
    }
    [more code here]

As DocumentObject code is generic for all objects (workbenches), by design it was chosen to initialize the object only if new. Therefore a object or an extension of a object being restored,
between the addition (addObject) and the restoring of the properties, must by design expect it not to be initialized.

The solution:

Making use of the Restore flag at document level (the one at object level is not sufficient), no exception regarding the null property is reported during document restoring.

Ticket:
https://freecadweb.org/tracker/view.php?id=2530

fixes #2530
2017-05-30 13:01:45 +02:00
Yorik van Havre
b229abb127 Arch Fixed wrong direction of preset structures 2017-05-29 18:02:36 -03:00
Yorik van Havre
28f315f4f6 Draft: First version of Draft Label object 2017-05-29 16:57:25 -03:00
wmayer
86e328a248 check for valid vertexes when measuring angles between two edges 2017-05-29 20:49:35 +02:00
wmayer
a863938aa8 handle OCC exception when accessing point of a vertex 2017-05-29 20:36:06 +02:00
Kurt Kremitzki
3c85146c18 Invert test case 2017-05-29 12:59:00 -03:00
Kurt Kremitzki
ad6ba53577 Add PartDesignMirrored test 2017-05-29 12:59:00 -03:00
Kurt Kremitzki
36d4012b1e Change TestPartDesignApp to spaces and unix line endings 2017-05-29 12:59:00 -03:00
Kurt Kremitzki
c85de2dba1 Add PartDesignMirrored test 2017-05-29 12:59:00 -03:00
Kurt Kremitzki
c4a0d748ed Change TestPartDesignApp to spaces and unix line endings 2017-05-29 12:59:00 -03:00
wmayer
e694d7f90d properly raise exception in TopoShapePy::check 2017-05-29 16:52:44 +02:00
Yorik van Havre
0bead2c1d4 Arch: Small fix in site creation 2017-05-28 19:49:32 -03:00
Yorik van Havre
2a59e2ec67 Using PropertyFont in Arch, Draft 2017-05-27 22:55:56 -03:00
Bernd Hahnebach
0a387ea8e9 Test: add a def to run all test case clases from a test module 2017-05-27 20:38:50 -03:00
Amritpal Singh
ddfd793bb3 added PlacementList property for the Rebar object 2017-05-27 20:02:40 -03:00
Bernd Hahnebach
b0986504d7 FEM: group meshing, add some checks and output to catch some problems 2017-05-27 19:57:28 -03:00
Bernd Hahnebach
831e69cfd1 FEM: code formating, change tabs in spaces 2017-05-27 19:57:28 -03:00
Bernd Hahnebach
9e697e593a FEM: Fenics meshes, flake8 2017-05-27 19:57:28 -03:00
joha2
9edcbe2dd5 FEM: Fenics meshes, add support for xdmf format, some more improvements 2017-05-27 19:57:28 -03:00
Bernd Hahnebach
62a823854f FEM: constraint pressure, add support for shell meshes if they have group data 2017-05-27 19:57:28 -03:00
Bernd Hahnebach
1ef1ff52db FEM: ccx writer and mesh tools, fix bug in mesh group search 2017-05-27 19:57:28 -03:00
Bernd Hahnebach
fbc2ffad6b FEM: unittest, move mesh creation at end of test object creation 2017-05-27 19:57:27 -03:00