Commit Graph

251 Commits

Author SHA1 Message Date
wmayer
f8eaa6eff4 fix const correctness, restore sketcher icon 2018-01-26 17:21:02 +01:00
Abdullah Tahiri
31189b6c20 Sketcher: Python Interface for Constraint Virtual Space
=======================================================

set/get/toggle python interface to enable to set the virtual space status of a constraint via SketchObject.
2018-01-26 17:02:46 +01:00
wmayer
0b95e866b9 fix const correctness 2018-01-01 22:25:11 +01:00
Abdullah Tahiri
69535ad7cb Sketcher: Support for detecting expressions in constraints 2018-01-01 21:00:06 +01:00
wmayer
96beb5ec7d improve whitespaces 2018-01-01 19:36:57 +01:00
Abdullah Tahiri
9ce5756011 Sketcher: Fix transfer of tangency and perpendicular end-to-endpoint constraints
================================================================================

When transfering constraints to coincident points on deletion of geometry, a tangency/perpendicular constraint
cannot be blindly transfered as the destination edge may not be tangent/perpendicular leading to unexpected behaviour.

However, the user does expect that something that was coincident with such end-to-endpoint constraint (which implicitly includes a coincident constraint)
remains coincident after deletion. Therefore, the change of type to coincident.

This implicitly solves the problem of representation of constraints leading to a crash in coin3d.

fixes #3291
2018-01-01 19:27:41 +01:00
luzpaz
048c787e32 Sketcher: comment typos 2017-12-25 10:59:48 +01:00
Abdullah Tahiri
588f1bd795 Sketcher: Merge, copy expressions
===================================

Support for copying expressions instead of hard values.

fixes #2936
2017-12-12 23:08:44 +01:00
Abdullah Tahiri
9b781f9c54 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
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