Commit Graph

430 Commits

Author SHA1 Message Date
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
b9ffb09a22 Sketcher: Carbon copy Python command 2017-04-10 08:57:25 +02:00
wmayer
3abc019af0 fix -Wsign-compare 2017-04-08 13:57:29 +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
d96c8421d4 Sketcher: Assertion on solver bspline control point creation to expose any potential index miscalculation and memory overflow 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
bc4ae73861 Sketcher: SketchObject - Python command to increase knot multiplicity 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
63ce5df76b Sketcher: Solver bypass of knotpoints
Internal geometry knot points, which were added as fixed parameters to the solver according to a previous commit, are tracked in the corresponding bspline as solver level,
without being a parameter to the solver, and upon solving, the position thereof is updated by means of OCC functionality.

This allows to show the knot points and solidarily move them when moving a bspline.
2017-04-08 12:58:06 +02:00
Abdullah Tahiri
4ace8e7b79 Sketcher: Construction points added as fixed parameters 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
Abdullah Tahiri
2369112fb5 Sketcher: Bspline solver knot support - unfinished 2017-04-08 12:58:06 +02:00
Kunda
784edd3f82 Typo fixes for doxygen and source comments
issue #0002914
2017-03-31 11:25:57 -03: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
Georges Dupéron
07d224e25f str(Sketcher.Constraint('Radius', 1, 2)) should not return "<Constraint '?'>"
str(Sketcher.Constraint('Radius', 1, 2)) should not return "<Constraint '?'>", it should return "<Constraint 'Radius'>"
2017-03-08 00:04:04 +01:00
Kurt Kremitzki
fa472ec075 Fix hexagon creation error 2017-03-03 11:17:37 -06:00
Kunda
99c99006b8 source typo fixes pt4 (only on py3 merged code) 2017-03-02 13:47:21 +01:00
looooo
dd02fc12b4 py3: Sketcher: remaining diff of python3-branch 2017-03-01 17:21:19 +01:00
wmayer
bcde3cd5a3 py3: ported Skechter to python3 2017-03-01 17:20:20 +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
55f373eef7 Sketcher: IncreaseBSplineDegree python implementation 2017-02-21 13:24:10 +01:00
Abdullah Tahiri
4abe462a41 Sketcher: ConverttoNURBS python implementation 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
9725be8686 Sketcher: Documentation of delete functions 2017-01-29 00:25:34 +01:00