Commit Graph

1385 Commits

Author SHA1 Message Date
wmayer
7ba92f96a5 reduce code duplication 2019-01-03 17:33:39 +01:00
wmayer
b8455531c1 declare private intersect() function as static to make clear it doesn't belong to a GeomCurve instance 2019-01-03 15:40:59 +01:00
tomate44
9ea523a9e0 fix intersectCC method missing some intersection points for Geom2d curves 2019-01-03 12:33:58 +01:00
wmayer
ccf99f57c0 add slice apart command to sub-menu 2019-01-01 22:21:07 +01:00
wmayer
70aaf3e95f fixes 0003756: Tooltips should not start with the internal name of the tool 2019-01-01 16:54:12 +01:00
wmayer
47fc808157 fixes 0003757: Join icon menu in the Boolean toolbar does not show command names nor tooltips 2019-01-01 16:48:43 +01:00
wmayer
fd9516e071 fixes 0003755: Crash when using Part - Refine Shape on certain files 2018-12-31 15:06:21 +01:00
DeepSOIC
407dc25dba Part: add Slice Apart command 2018-12-27 14:30:06 +01:00
DeepSOIC
f275a95008 PartGui: use icon in Compound viewprovider 2018-12-27 14:30:05 +01:00
DeepSOIC
c025a77797 PartGui: add ExplodeCompound to menu and toolbars 2018-12-27 14:30:05 +01:00
DeepSOIC
3c23f2aa50 PartGui: update icons
* replace Part_Compound icon with a new one
* add Part_ExplodeCompound icon
2018-12-27 14:30:05 +01:00
DeepSOIC
368f0f0ccd Part: "Explode compound" tool 2018-12-27 14:30:04 +01:00
Yorik van Havre
3e6e9ed690 Part: Fixed translation issues 2018-12-27 10:51:49 -02:00
Yorik van Havre
2ea84272fd Updated translations from crowdin 2018-12-23 13:54:30 -02:00
wmayer
60581cff90 prepare for OCCT 7.3.1 2018-12-13 23:10:10 +01:00
wmayer
729b9e7afa add missing headers, prepare for OCCT 7.3.1 2018-12-13 23:08:48 +01:00
DeepSOIC
3b2c3b1d99 PartGui: fix typo in pop-up message
spotted by @bitacovir in crowdin:
https://crowdin.com/translate/freecad/563/en-hu#6513090
2018-12-13 09:02:22 -03:00
DeepSOIC
5d5ac035f7 PartGui: fix error popup message
reported by kazan417 in crowdin
https://crowdin.com/translate/freecad/563/en-hu#6500315
2018-12-10 20:55:51 -03:00
plgarcia
792bb8282a Drags and drop with groups 2018-11-29 21:25:28 +01:00
wmayer
ddb20468ad some additions to pR 1794:
add a special XMLAttributeError class to indicate an error when accessing a missing attribute
in PropertyContainer::Restore make error handling more flexible
2018-11-19 19:07:56 +01:00
Abdullah Tahiri
b6a37e153f Example implementation 2018-11-19 11:31:10 +01:00
Abdullah Tahiri
10b12ddedb fix exception catching by reference 2018-11-19 11:31:09 +01:00
Abdullah Tahiri
8db80c5c99 Property: dropping isorderrelevant boolean member in favour of bit in the status of the properties 2018-11-19 11:31:09 +01:00
Abdullah Tahiri
1b152ee689 Example code of propagating the result of the partial restore 2018-11-19 11:31:08 +01:00
Abdullah Tahiri
d62e886407 PropertyGeometryList: enable a partial recover on certain errors 2018-11-19 11:31:07 +01:00
Abdullah Tahiri
591718f918 App:Geometry make LineSegments do a best effort for recovering erroneus data 2018-11-19 11:31:07 +01:00
wmayer
e02695b91f Replace Base::Exception with appropriate subclass 2018-11-14 19:45:20 +01:00
wmayer
9fde41ff19 Allow user to define a custom minimum deviation for the tessellation 2018-11-09 13:42:38 +01:00
wmayer
7fbd1c6beb remove some more boost.signals leftover 2018-11-07 11:42:44 +01:00
wmayer
fbb8e86cbf remove trailing spaces 2018-11-05 11:55:14 +01:00
DeepSOIC
195c492993 Part: Attacher: fix blocking error message
fix #3662
for now, just allow accepting attachment even if attachment is faulty
2018-11-04 14:45:49 -03:00
Abdullah Tahiri
6f42f3dacc Part: Geometry tangent with Vector3d overload 2018-11-04 14:43:24 -03:00
luz.paz
4c2f2cd210 Misc. typos and whitespace
Found via `codespell -q 3 --skip="*.po,*.ts,./.git,./src/3rdParty,./src/CXX,./src/zipios++,./src/Mod/Assembly/App/opendcm,./ChangeLog.txt" -I ../fc-word-whitelist.txt` and `grep`. Excess whitespace auto-removed by Atom editor.
2018-11-03 16:13:06 -03:00
wmayer
e86f7caea8 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
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
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
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
b1858f2cf4 Part: Geometry Arcs inheriting from GeomTrimmedCurve 2018-10-28 18:32:15 +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
wmayer
a53027342e rework error handling mechanism 2018-10-24 19:38:43 +02:00
wmayer
f84971fca2 avoid throwing exception in intersectCC 2018-10-05 22:17:20 +02:00
wmayer
a0916a9a66 avoid re-throwing an exception in case normal is not defined 2018-10-04 23:31:55 +02:00