Commit Graph

242 Commits

Author SHA1 Message Date
Abdullah Tahiri
3aec9b3859 Sketcher: Python command to delete all internal geometry and constraints of an sketch 2017-11-06 14:18:12 +01:00
Abdullah Tahiri
e4a52991b6 Sketcher: Restore inter-body expression engine links in Carbon Copy 2017-11-02 19:52:26 +01:00
wmayer
a16f5bf9aa override onExtendedDocumentRestored in AttachExtension 2017-10-25 22:52:39 +02:00
wmayer
6786bb4c79 issue #0002613: Create symmetric geometry with conic 2017-10-16 15:56:32 +02:00
wmayer
c9fb7985f9 issue #0002613: Create symmetric geometry with conic 2017-10-16 15:49:05 +02:00
wmayer
520ec2c095 issue #0002613: Create symmetric geometry with conic 2017-10-16 15:31:04 +02:00
wmayer
fb2b9d6cef remove possibility of directly cross-referencing other body, use shape binder instead! 2017-10-13 17:28:21 +02:00
wmayer
30379bc1ce re-enable sketcher to reference elements of other body 2017-10-05 15:20:39 +02:00
wmayer
770c9ce095 fix various coverity issues 2017-09-15 11:48:38 +02:00
wmayer
be6b8dcd40 create shape of sketch on project load in case it has been saved without a recompute beforehand 2017-09-12 15:55:35 +02:00
wmayer
949c86d364 Port to occ7.2:
+ Standard_Failure::Caught() is now marked as deprecated and should be replaced with standard C++ exception handling
2017-09-01 16:27:46 +02:00
Abdullah Tahiri
cea242d7fe Refactoring Sketcher execute() to use solve() 2017-08-19 17:14:28 +02:00
Abdullah Tahiri
3d4920e4e7 Sketcher: Extension to report redundancy, Standardisation of return codes for solve, documentation, initialisation of solver information
========================================================================================================================================

Motivation:
- Improve notifications of redundancy in the solver (Bonus effect, now the sketcher refuses to add a redundant datum constraint)
- Initialize all solver information, so that it is accurate also in corner cases.
- Provide different return codes for the different solver status/conflicting/redundant/overconstraint (also looking forward for a future refactoring)

Impact:
- Python users that are currently using the return code of solve() for detecting overconstraint/conflicting/solver error, if any, might have to adapt their scripts.
Those who are just checking for zero/non-zero will have to do nothing.
2017-08-19 17:14:28 +02:00
Abdullah Tahiri
48f76bd0af Fixing unreported bug behaving like #2710 without AutoUpdate under conflicting constraints + improving documentation 2017-08-19 17:14:27 +02:00
Abdullah Tahiri
4ad3f9993d SketchObject Modifyknotmultiplicity written to support translatable exception messages 2017-08-17 22:45:22 +02:00
Abdullah Tahiri
3c630dc319 Exceptions: translation support 2017-08-17 22:44:11 +02:00
Stefan Tröger
4ecd831bfd GeoFeatureGroup: Make link collection non-DAG save 2017-06-19 15:37:09 +02:00
Stefan Tröger
bdf981e770 Unify and fix group handling in geofeaturegroups 2017-06-19 15:37:09 +02:00
Alexander Lin
c51d0b4e16 Adds extend feature to Mod/Sketcher
Fixes #1187
2017-06-19 13:07:37 +02:00
Abdullah Tahiri
1a33f3bf99 Fixes #0002735 2017-05-31 23:59:17 +02:00
Abdullah Tahiri
80c91a5de7 SketchObject:ModifyBSplineKnotMultiplicity re
written to use THROW macro and CADKernelError exception
2017-05-13 15:27:57 +02:00
Peter Lama
a75a98ef27 Use OCCT Handle macro for Handle_ classes
This is the result of running OCCT's upgrade script provided
with OCCT 7.0. See
https://www.opencascade.com/content/freecad-occt710-and-windows-rtti-data-missing#comment-form
and
https://www.forum.freecadweb.org/viewtopic.php?f=4&t=21405&start=120#p169019
for why this is necessary for OCCT >= 7.1
2017-04-20 12:27:34 +02:00
Abdullah Tahiri
b6833e882e Sketcher: Basic symmetry for angle constraint
Fixes #0002804
2017-04-17 19:14:42 +02:00
wmayer
292fdebe49 fix scan coverity issues: unchecked dynamic_cast 2017-04-11 12:45:02 +02:00
Abdullah Tahiri
147bf899d5 Sketcher: addGeometry list addition using copy to avoid copying tags 2017-04-10 18:55:23 +02:00
Abdullah Tahiri
96fcedbd30 Sketcher: Carbon Copy - Allow cross-body sketcher links
=======================================================

The instructions are shown on the status bar.

press CTRL to allow cross-body link

press ALT to by-pass directional requirements

press CTRL+ALT to allow a cross-body link and by-pass directional requirements
2017-04-10 18:55:23 +02:00
Abdullah Tahiri
8323917423 Sketcher: Carbon Copy - Correct inverted logic (worked but it is not clear) 2017-04-10 18:55:23 +02:00
Abdullah Tahiri
7818f1f08b Sketcher: Carbon Copy enable checks when not in a body 2017-04-10 18:55:23 +02:00
Abdullah Tahiri
71a555a6bb Sketcher: using copy in addGeometry instead of clone to avoid that python users inadvertendly generate two geometries with the same Geometry tag 2017-04-10 08:57:25 +02:00
Abdullah Tahiri
4fe698e1ee Sketcher: Carbon Copy
=====================

Carbon copy checks for parallel planes, translated origin and rotated axes, so that it can provide flipping detection when using reverse mappings.

This commit enables you to press CTRL will activating the tool in order to bypass this checks. Without the checks you will get a sketch exactly as the one
you want to copy, there are no corrections at all. This enables you to copy a profile on a new plane at a different direction for example for lofting purposes.
2017-04-10 08:57:25 +02:00
Abdullah Tahiri
e54b6a12c1 Sketcher: Fix sketchobject copy/clone 2017-04-10 08:57:25 +02:00
Abdullah Tahiri
68445dea1f Sketcher: Carbon Copy - refactoring of code 2017-04-10 08:57:25 +02:00
Abdullah Tahiri
0d70996ec4 Sketcher: Carbon Copy aware of sketch orientation and location 2017-04-10 08:57:25 +02:00
Abdullah Tahiri
30ffd1db0c Sketcher: Carbon copy using copy instead of clone 2017-04-10 08:57:25 +02:00
Abdullah Tahiri
e9764d89e4 Sketcher: CarbonCopy link values via expression engine 2017-04-10 08:57:25 +02:00
Abdullah Tahiri
88b75cd53a Sketcher: SketchObject basic carbon copy functionality - without expressions engine 2017-04-10 08:57:25 +02:00
Abdullah Tahiri
418beea589 Sketcher: Only Reference constraints allowable on construction points like bspline knots 2017-04-08 12:58:06 +02:00
Abdullah Tahiri
7e9571ae87 Sketcher: SketchObject Modifyknotmultplicity adapted to raise exceptions on errors 2017-04-08 12:58:06 +02:00
Abdullah Tahiri
2a4d5a422d Sketcher: Adapt modify knot multiplicity code to preserve the unique identifier 2017-04-08 12:58:06 +02:00
Abdullah Tahiri
99da93192b Sketcher: OCC checks for knot functionality 2017-04-08 12:58:06 +02:00
Abdullah Tahiri
7b60a97465 Sketcher: SketchObject BSpline reduce knot multiplicity 2017-04-08 12:58:06 +02:00
Abdullah Tahiri
a17ac10b0b Sketcher: Expose Internal Geometry for BSplines
===============================================

New convenience for the user. If the first pole is radius length constraint, then any newly exposed internal geometry is created with equality constraint to the first pole.

This is really convenient in the case the user is working with polynomic bsplines, as any operation involving losing/gaining a pole (for example increase in multiplicity of a knot).
2017-04-08 12:58:06 +02:00
Abdullah Tahiri
3fa87fd1d8 Sketcher: Fixing crash on undoing knot multiplicity increase 2017-04-08 12:58:06 +02:00
Abdullah Tahiri
6653d96697 Sketcher: Cleaning up BSpline knot multiplicity increase SketchObject implementation 2017-04-08 12:58:06 +02:00
Abdullah Tahiri
2f6ee0673f Sketcher: SketchObject functionality to increase knot multiplicity 2017-04-08 12:58:06 +02:00
Abdullah Tahiri
8bdae94ef3 Sketcher: Bspline - SketchObject - Delete Unused geometry extended to knots 2017-04-08 12:58:06 +02:00
Abdullah Tahiri
325eb2799d Sketcher: Ensure that no point is set as construction by mistake/user mistake 2017-04-08 12:58:06 +02:00
Abdullah Tahiri
ed3f5a5419 Sketcher: SketchObject Expose internal geometry extended to knots
=================================================================

Very important remark:

Until now, points could not be construction = true.

For now on, if a point is construction = true, the solver will ignore it.
2017-04-08 12:58:06 +02:00
AjinkyaDahale
7bdcfb0a20 Issue #2682
Modifying a check in SketchObject::validateExternalLinks() for datums.
Hopefully will not cause trouble.
There is still a problem where if the check fails, all constraints will
be lost!
2017-03-21 12:10:21 +01:00
wmayer
b4bf37e9c5 fix wrong return type 2017-02-24 15:44:28 +01:00