Commit Graph

228 Commits

Author SHA1 Message Date
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
wmayer
97c9174840 fix various warnings 2017-02-21 22:51:26 +01:00
wmayer
f2dc8c5d31 Some fixes of pr 538
fix -Wreturn-type
homogenous naming style
use official spelling of B-spline
2017-02-21 13:30:43 +01:00
Abdullah Tahiri
5133a874ad Sketcher: Delete non-suported BSpline constraints on NURBS conversion 2017-02-21 13:24:10 +01:00
Abdullah Tahiri
4c9073eeb6 Sketcher: SketchObject convert to NURBS support for External Geometry 2017-02-21 13:24:10 +01:00
Abdullah Tahiri
f1cf2fca44 Sketcher: Expose Internal Geometry for BSplines
===============================================

This commit changes the behaviour of expose internal geometry for bsplines and makes it converge with the implementation for other complex forms.

This functionality now does not introduce constraints (the DoF is not affected by its execution).

BSplines, when created, are still created as polynomic. However, exposing previously deleted or otherwise hidden (increase of degree) poles does not
constraint them.

why?

While a priori the old behaviour is advantageous for the user in many situations, it severely breaks NURBS-ized shapes and gets in the way of bsplines after
increasing the degree of the bspline.
2017-02-21 13:24:10 +01:00
Abdullah Tahiri
afd761041d Sketcher: BSpline Increase Degree tool 2017-02-21 13:24:10 +01:00
Abdullah Tahiri
d5b068e0ab Sketcher: Shape to NURBS conversion 2017-02-21 13:24:10 +01:00
Abdullah Tahiri
2ecfb6743b Sketcher: Bspline support for external geometry 2017-02-21 13:24:10 +01:00
wmayer
67a0bd4750 improve whitespaces 2017-02-18 09:44:58 +01:00
Mateusz Skowroński
7e42975556 Fix more GCC warnings. 2017-02-18 09:35:31 +01:00
Abdullah Tahiri
b708957080 Sketcher: BSpline deletion/special hideunused internal geometry
===============================================================

The implementation of BSpline differs from previous complex forms.

The BSpline is created constraint to be polynomic (non-rational), with radius of first circle and equality constraints.

Hide unused internal geometry considers as unused the following constraints:
- A pole which has equality constraints with another pole of the same bspline
- Any radius constraint on a pole

Deletion of a BSpline will delete the internal geometry that is unused as per the definition above.

If there is another constraint (other than the Internal alignment constraint) it will leave the internal geometry having such constraint undeleted.
2017-02-02 10:42:38 +01:00
Abdullah Tahiri
0edf17245c Sketcher: Fix deletion of geometry having internal geometry inserted before the geometry 2017-01-28 23:08:27 +01:00
wmayer
62b4782ed6 Several fixes:
+ use different iterator variable for nexted loops
+ avoid loss of data warnings
+ improve layout
2017-01-20 19:40:49 +01:00
wmayer
0955ccf594 fix whitespaces 2017-01-20 19:22:50 +01:00