Commit Graph

15114 Commits

Author SHA1 Message Date
Przemo Firszt
ae9fdfd724 Fix COPR build and remove fedora specific xdg files
Signed-off-by: Przemo Firszt <przemo@firszt.eu>
2018-11-01 10:50:07 -03:00
wmayer
b662ee77a7 Improve TaskAttacher dialog:
+ correct handling of active document
+ properly handle case if the view provider or document is deleted while the dialog is still open
2018-10-31 14:29:42 +01:00
wmayer
0a4eae24bc add/extend helper classes to safely access documents, document objects or view providers 2018-10-31 14:27:28 +01:00
wmayer
42601fc4e4 add/extend helper classes to savely access document, document objects or view providers 2018-10-31 11:24:45 +01:00
wmayer
c50f6aea53 add an assert to several Command methods to be notified in debug mode if no active document exists 2018-10-31 11:21:33 +01:00
wmayer
36271b4052 move from deprecated boost.signals to boost.signals2 library 2018-10-30 19:09:03 +01:00
wmayer
5536470348 improve whitespaces 2018-10-30 13:48:00 +01:00
Abdullah Tahiri
c04ee53aff 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
3ec9b798bf Fix BSpline/Circle conversion 2018-10-30 13:25:33 +01:00
wandererfan
47f4a9dacb Add formatter for gp_Pnt 2018-10-30 13:25:33 +01:00
wmayer
aca61e829d fixes -Winconsistent-missing-override 2018-10-30 13:21:59 +01:00
kreso-t
2e1524bc15 Path: Adaptive - set as standard feature
- i.e. removed from experimental features
2018-10-29 23:29:08 +01:00
kreso-t
4032bd302a 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
fffca1f2ee py3: OpenSCAD: fix type cast 2018-10-29 17:18:13 +01:00
Clemens Weissbacher
befb3ea8a8 py3: OpenSCAD: use io.open more explicit 2018-10-29 17:17:53 +01:00
wmayer
04372041e1 leave license field and url of a Part container empty to avoid possible confusion with imported 3rd-party STEP/IGES models 2018-10-29 15:24:12 +01:00
wandererfan
0352559266 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
9d60ced83d 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
f513305916 fix crash with Py3 when releasing memory buffer 2018-10-29 11:59:34 +01:00
wmayer
0e1cfea354 fixes 0003657: automatic rotation disabled by default 2018-10-28 20:45:02 +01:00
wmayer
4520aeb5ea fix -Wunused-private-field 2018-10-28 18:58:38 +01:00
Abdullah Tahiri
7abc5fec65 Sketcher: Fillet UI command Improved exception handling 2018-10-28 18:35:41 +01:00
Abdullah Tahiri
6c7684b2c7 Sketcher: Fillet extended CAD kernel information 2018-10-28 18:35:27 +01:00
Abdullah Tahiri
a93a5e9c93 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
578ea97647 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
af581dc689 Sketcher: GUI command updated to support filleting of bounded curves 2018-10-28 18:34:23 +01:00
Abdullah Tahiri
026459675c 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
0554944923 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
e5521fe0e1 Part: Geometry - refactoring of intersection code 2018-10-28 18:33:45 +01:00
Abdullah Tahiri
ae3ad1f84c 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
e189ee78c9 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
22f8c12235 Part: Geometry intersect routines throw when OCCT throws 2018-10-28 18:32:42 +01:00
Abdullah Tahiri
cb5827b140 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
c3592c8ff4 Part: Geometry Arcs inheriting from GeomTrimmedCurve 2018-10-28 18:32:15 +01:00
Abdullah Tahiri
b3cf67dffe Sketcher: filleting arcofconic-arcofconic command 2018-10-28 18:32:02 +01:00
Abdullah Tahiri
187f5c9023 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
e761180872 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
90ae032d6d 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
8a134466ed Part: New routines for curve intersection 2018-10-28 18:31:06 +01:00
Yorik van Havre
cec4fd1012 Arch: Finished implementing color support for Arch Reference 2018-10-28 13:57:05 -03:00
Yorik van Havre
87c034f666 Arch: Support part colors in Reference 2018-10-28 13:57:05 -03:00
wmayer
54561c5b6e extend FreeCAD.getUserMacroDir to accept boolean to either return actual or default macro directory 2018-10-28 17:10:10 +01:00
lorenz
0d9b20adb4 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
d077c7333f fix crash in debug mode in sketcher in case the equation matrix has rank zero 2018-10-28 14:51:14 +01:00
wmayer
7cfbf5d428 Raytracing: Fixed search locations of povray 2018-10-28 13:09:25 +01:00
wmayer
193c253289 add module for Qt translation stuff 2018-10-28 12:58:14 +01:00
Yorik van Havre
cab232a97f AddonManager: minor bugfix 2018-10-27 16:15:55 -03:00
Yorik van Havre
ce0f871cba py3 compatibility fixes 2018-10-27 16:04:51 -03:00
wmayer
cacab69204 fix crash with Py3 when releasing memory buffer 2018-10-27 19:58:54 +02:00
wmayer
0048778f80 remove trailing whitespaces 2018-10-27 18:12:36 +02:00