Commit Graph

11548 Commits

Author SHA1 Message Date
wmayer
f898eafd64 move from deprecated boost.signals to boost.signals2 library 2018-10-30 19:09:03 +01:00
wmayer
3858b179c3 improve whitespaces 2018-10-30 13:48:00 +01:00
Abdullah Tahiri
e10068a648 Sketcher: Trimming support bug
==============================

OCCT Geom2dAPI_InterCurveCurve based intersector does not detect intersection with the endpoint of a tangent line:
https://tracker.dev.opencascade.org/view.php?id=30217

This is a work-around that introduces endpoints of secondary curves as intersections, and uses projection to reject
projections further away than precision::confusion().

fixes #2463
2018-10-30 13:41:40 +01:00
wandererfan
408c31634f Fix BSpline/Circle conversion 2018-10-30 13:25:33 +01:00
wandererfan
f0420d6cbd Add formatter for gp_Pnt 2018-10-30 13:25:33 +01:00
wmayer
2f4b61dacb fixes -Winconsistent-missing-override 2018-10-30 13:21:59 +01:00
kreso-t
cd34f3d127 Path: Adaptive - set as standard feature
- i.e. removed from experimental features
2018-10-29 23:29:08 +01:00
kreso-t
976e804e2c Path: Adaptive - fix for path cleaning
- fix for side-effect introduced by last change
(completely collinear paths were filtered out)
2018-10-29 23:29:08 +01:00
Clemens Weissbacher
6e7beb1a0b py3: OpenSCAD: fix type cast 2018-10-29 17:18:13 +01:00
Clemens Weissbacher
1be9f18b52 py3: OpenSCAD: use io.open more explicit 2018-10-29 17:17:53 +01:00
wandererfan
2b84be64cc Fix spurious error message
-  in FeatureGroove, the check for multiple
   solids in result was checking the wrong
   variable.
2018-10-29 10:29:23 -03:00
kreso-t
c2f2db8b56 Path: Adaptive - finishing path improvements
- fixed bug in path cleaning (artifacts on the finish path)
- increased path discretization resolution
2018-10-29 10:28:54 -03:00
wmayer
42c5b2e9ca fixes 0003657: automatic rotation disabled by default 2018-10-28 20:45:02 +01:00
Abdullah Tahiri
1d86a83b30 Sketcher: Fillet UI command Improved exception handling 2018-10-28 18:35:41 +01:00
Abdullah Tahiri
957c22a61a Sketcher: Fillet extended CAD kernel information 2018-10-28 18:35:27 +01:00
Abdullah Tahiri
044e0f6c20 Sketcher: Use transparent exception mechanism for fillets
=========================================================

This ensures that the exception back in the c++ that invoked python retains the type of exception and can be properly catched.
2018-10-28 18:34:50 +01:00
Abdullah Tahiri
7effa68eeb Part: Geometry use CADKernelError exception for OCCT
====================================================

Part of the geometry was using CADKernelError and part was using RunTimeError exceptions, so unify criteria.

Runtime is very generic and does not need to stem from OCCT.

- Also rename of a typo basic to basis, to be coherent with OCCT terminology
2018-10-28 18:34:36 +01:00
Abdullah Tahiri
4b9d90321a Sketcher: GUI command updated to support filleting of bounded curves 2018-10-28 18:34:23 +01:00
Abdullah Tahiri
f1a98c3101 Sketcher: Support for filleting bounded curves
==============================================

Generally, bounded curves require that the curves are coincident at one point, the vertex to be filleted.

Trimmed curves, like combinations of line segments, arcs of conics, do not require it, as they are able to extend the trimmed
curve using the basis curve. However, they work fine when there is such a coincidence.
2018-10-28 18:34:12 +01:00
Abdullah Tahiri
649d115afb Part: Geometry New Bounded-Trimmed-curve inheritance
====================================================

The new hierarchy is as this:
GeomArcOfConic:GeomTrimmedCurve:GeomBoundedCurve:GeomCurve

A bounded curve is one having a start and endpoint, like an arc, a line segment, or a b-spline

A trimmed curve is one arising from trimming a basis curve, line an arc or a line segment, but NOT a b-spline.

An arc of Conic is one arising from a conic section, line an arc, but neither a line segment, nor a b-spline.

This new hierarchy enables a more consistent handling of geometry and it is closer to the OCCT hierarchy.
2018-10-28 18:33:58 +01:00
Abdullah Tahiri
0ed7b1d691 Part: Geometry - refactoring of intersection code 2018-10-28 18:33:45 +01:00
Abdullah Tahiri
c946de8fb4 Part: Geometry - intersection - checkendpoints
===============================================

Extrema algorithms sometimes fails when coincident endpoints

I am not sure if it is a bug in OCCT or it is just not intended.

This commits adds an extra check to add endpoints if within tolerance.
https://forum.freecadweb.org/viewtopic.php?f=10&t=31700
2018-10-28 18:33:32 +01:00
Abdullah Tahiri
4d1e981138 Part: Geometry GeomTrim Geomline segment type
=============================================

Make line segment inherit from GeomTrim. This allows seamless management of trimmed curves.
2018-10-28 18:33:19 +01:00
Abdullah Tahiri
396998467b Part: Geometry intersect routines throw when OCCT throws 2018-10-28 18:32:42 +01:00
Abdullah Tahiri
7c1a218847 Sketcher: Inter-trimmed-curve filleting
=======================================

Algorithm changed to use offset curves, so as to avoid moving geometry in the sketcher.
2018-10-28 18:32:30 +01:00
Abdullah Tahiri
b1858f2cf4 Part: Geometry Arcs inheriting from GeomTrimmedCurve 2018-10-28 18:32:15 +01:00
Abdullah Tahiri
0aa3da513a Sketcher: filleting arcofconic-arcofconic command 2018-10-28 18:32:02 +01:00
Abdullah Tahiri
44c5f1a67e Sketcher: Fillet support inter-conics
==============================================

Specific support for filleting between conics.

It does not support B-Splines or line segments.
2018-10-28 18:31:48 +01:00
Abdullah Tahiri
8b97a31372 Part: Geometry refactoring
==========================

python c+ wrapper to use twin class c++ function instead of duplicating the code
2018-10-28 18:31:35 +01:00
Abdullah Tahiri
9e349c33a8 Part: Geometry - improvements/bug fixes
=======================================

routine for closest parameter to point was failing on endpoints. The former version
used the parameter of the basis curve, which sometimes was giving parameter values
incoherent. This version uses distance to endpoints when a projection on the trimmed
curve can not be found.
2018-10-28 18:31:22 +01:00
Abdullah Tahiri
f301feec31 Part: New routines for curve intersection 2018-10-28 18:31:06 +01:00
Yorik van Havre
4c9356f0f5 Arch: Finished implementing color support for Arch Reference 2018-10-28 13:57:05 -03:00
Yorik van Havre
a3729d5ca9 Arch: Support part colors in Reference 2018-10-28 13:57:05 -03:00
wmayer
17c783051b extend FreeCAD.getUserMacroDir to accept boolean to either return actual or default macro directory 2018-10-28 17:10:10 +01:00
lorenz
e517c00d9b py3: Fem: remove extra b'ees
https://forum.freecadweb.org/viewtopic.php?f=18&t=30954
2018-10-28 15:13:30 +01:00
wmayer
465152bcc9 fix crash in debug mode in sketcher in case the equation matrix has rank zero 2018-10-28 14:51:14 +01:00
wmayer
4362ddc797 Raytracing: Fixed search locations of povray 2018-10-28 13:09:25 +01:00
Yorik van Havre
57726db47f AddonManager: minor bugfix 2018-10-27 16:15:55 -03:00
Yorik van Havre
7fabfde0ef py3 compatibility fixes 2018-10-27 16:04:51 -03:00
wmayer
3443fd9661 replace deprecated failUnless with assertEqual 2018-10-27 17:44:37 +02:00
ickby
c60364772a Persistence: Test cases for content dump
It turned our that the document could not be dumped as the xml specifier was used as first element. As the dumping added the <content> element around it was invalid. However, content is required to read properties. Hence the xml element generation was moved.
2018-10-27 16:15:30 +02:00
wmayer
2af5a983a2 unit test for / operator of Quantity 2018-10-27 15:58:40 +02:00
George Shuklin
7ec3984cbe Add support for dLabel.ViewObject.Line
If it's false, do not draw line (and arrow), text only
2018-10-26 19:25:44 -03:00
George Shuklin
9543d54647 Add arrows to dLabel getSVG, minor style cleanup 2018-10-26 19:25:44 -03:00
George Shuklin
3a85a1fd41 Add line for annotation (no arrow yet) 2018-10-26 19:25:44 -03:00
George Shuklin
3391a5ea4b Initial work, only text (no lines) 2018-10-26 19:25:44 -03:00
triplus
10cd4cc7af Hide Draft tray toolbar
Forum discussion:

https://forum.freecadweb.org/viewtopic.php?f=3&t=31720
2018-10-26 04:26:20 +02:00
wandererfan
4fa707f46d Respect "InvertZoom" parameter 2018-10-26 00:49:53 +02:00
wandererfan
9c1587cfad Fix delayed rotation of DVP based Views 2018-10-26 00:49:53 +02:00
wandererfan
b2135da447 Workaround for #3332 2018-10-26 00:49:52 +02:00