Commit Graph

494 Commits

Author SHA1 Message Date
Abdullah Tahiri
d64575a111 Sketcher: Merge, copy expressions
===================================

Support for copying expressions instead of hard values.

fixes #2936
2017-12-12 23:08:44 +01:00
Abdullah Tahiri
f2cca2e05a Sketcher Solver: Means to reset the initilization of movement
=============================================================

Just amazed it was working "so well" without never reseting to zero this.

It might bring advantages and close bugs... who knows!
2017-12-12 22:20:27 +01:00
Abdullah Tahiri
6210b602de Sketcher: Python command to delete all internal geometry and constraints of an sketch 2017-11-06 14:18:12 +01:00
Abdullah Tahiri
bfa6de056e Sketcher: Restore inter-body expression engine links in Carbon Copy 2017-11-02 19:52:26 +01:00
wmayer
bc3c9b0c5d override onExtendedDocumentRestored in AttachExtension 2017-10-25 22:52:39 +02:00
wmayer
8318cf54cb issue #0002613: Create symmetric geometry with conic 2017-10-16 15:56:32 +02:00
wmayer
314ad0ad6a issue #0002613: Create symmetric geometry with conic 2017-10-16 15:49:05 +02:00
wmayer
8b2156471f issue #0002613: Create symmetric geometry with conic 2017-10-16 15:31:04 +02:00
wmayer
9adddc08ac remove possibility of directly cross-referencing other body, use shape binder instead! 2017-10-13 17:28:21 +02:00
wmayer
1d17c043eb re-enable sketcher to reference elements of other body 2017-10-05 15:20:39 +02:00
wmayer
fde42545ba fix various coverity issues 2017-09-15 11:48:38 +02:00
wmayer
58e9f7477d 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
0d617f97d6 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
3be1611684 Refactoring Sketcher execute() to use solve() 2017-08-19 17:14:28 +02:00
Abdullah Tahiri
395f9e1576 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
32f868f1ca Fixing unreported bug behaving like #2710 without AutoUpdate under conflicting constraints + improving documentation 2017-08-19 17:14:27 +02:00
Abdullah Tahiri
daffa8e08e SketchObject Modifyknotmultiplicity written to support translatable exception messages 2017-08-17 22:45:22 +02:00
Abdullah Tahiri
fa3a4f1f4c Exceptions: translation support 2017-08-17 22:44:11 +02:00
Stefan Tröger
4b3fb99bf0 GeoFeatureGroup: Make link collection non-DAG save 2017-06-19 15:37:09 +02:00
Stefan Tröger
fd62ef30f3 Unify and fix group handling in geofeaturegroups 2017-06-19 15:37:09 +02:00
Alexander Lin
144e4759ce Adds extend feature to Mod/Sketcher
Fixes #1187
2017-06-19 13:07:37 +02:00
Abdullah Tahiri
318db40af8 Fixes #0002735 2017-05-31 23:59:17 +02:00
Abdullah Tahiri
51e90dd52b SketchObject:ModifyBSplineKnotMultiplicity re
written to use THROW macro and CADKernelError exception
2017-05-13 15:27:57 +02:00
Peter Lama
fa4bebf2e0 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
bcc3cb1fbb Sketcher: Basic symmetry for angle constraint
Fixes #0002804
2017-04-17 19:14:42 +02:00
wmayer
ca343c43ab fix scan coverity issues: unchecked dynamic_cast 2017-04-11 12:45:02 +02:00
Abdullah Tahiri
ea698474d5 Sketcher: addGeometry list addition using copy to avoid copying tags 2017-04-10 18:55:23 +02:00
Abdullah Tahiri
8e4ac4dd70 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
17098d011c Sketcher: Carbon Copy - Correct inverted logic (worked but it is not clear) 2017-04-10 18:55:23 +02:00
Abdullah Tahiri
1b5082201e Sketcher: Carbon Copy enable checks when not in a body 2017-04-10 18:55:23 +02:00
Abdullah Tahiri
4fd2e0df3c 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
fdf040f5b7 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
2bd65d9439 Sketcher: Fix sketchobject copy/clone 2017-04-10 08:57:25 +02:00
Abdullah Tahiri
d96c1a8fa9 Sketcher: Carbon Copy - refactoring of code 2017-04-10 08:57:25 +02:00
Abdullah Tahiri
1c26996b11 Sketcher: Carbon Copy aware of sketch orientation and location 2017-04-10 08:57:25 +02:00
Abdullah Tahiri
f9a9cc4eaf Sketcher: Carbon copy using copy instead of clone 2017-04-10 08:57:25 +02:00
Abdullah Tahiri
182b647493 Sketcher: CarbonCopy link values via expression engine 2017-04-10 08:57:25 +02:00
Abdullah Tahiri
11a0970b91 Sketcher: SketchObject basic carbon copy functionality - without expressions engine 2017-04-10 08:57:25 +02:00
Abdullah Tahiri
5e65fa4319 Sketcher: Only Reference constraints allowable on construction points like bspline knots 2017-04-08 12:58:06 +02:00
Abdullah Tahiri
ceace33db4 Sketcher: SketchObject Modifyknotmultplicity adapted to raise exceptions on errors 2017-04-08 12:58:06 +02:00
Abdullah Tahiri
bc71a0fc82 Sketcher: Adapt modify knot multiplicity code to preserve the unique identifier 2017-04-08 12:58:06 +02:00
Abdullah Tahiri
5072938482 Sketcher: OCC checks for knot functionality 2017-04-08 12:58:06 +02:00
Abdullah Tahiri
0907281146 Sketcher: SketchObject BSpline reduce knot multiplicity 2017-04-08 12:58:06 +02:00
Abdullah Tahiri
5fe623beb5 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
c260e2d2b7 Sketcher: Fixing crash on undoing knot multiplicity increase 2017-04-08 12:58:06 +02:00
Abdullah Tahiri
301d50771d Sketcher: Cleaning up BSpline knot multiplicity increase SketchObject implementation 2017-04-08 12:58:06 +02:00
Abdullah Tahiri
929c825791 Sketcher: SketchObject functionality to increase knot multiplicity 2017-04-08 12:58:06 +02:00
Abdullah Tahiri
6b81627949 Sketcher: Bspline - SketchObject - Delete Unused geometry extended to knots 2017-04-08 12:58:06 +02:00
Abdullah Tahiri
aaeb0c3407 Sketcher: Ensure that no point is set as construction by mistake/user mistake 2017-04-08 12:58:06 +02:00
Abdullah Tahiri
e66187695f 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