Commit Graph

999 Commits

Author SHA1 Message Date
wmayer
1a97aa2e26 fixes #0002994: Validate Sketch's missing coincidence tool finds false positives 2017-04-10 17:17:40 +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
e8a0776778 Sketcher: Updated resource file 2017-04-10 08:57:25 +02:00
Abdullah Tahiri
58a891ab94 Sketcher: Bspline knot multiplicity icons 2017-04-10 08:57:25 +02:00
Abdullah Tahiri
03d242e202 Sketcher: New function to reuse of python exception message text in the UI 2017-04-10 08:57:25 +02:00
Abdullah Tahiri
19565c3270 Sketcher: Carbon Copy - inform user of the limitations and disallow selection 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
0ad91f79bd Sketcher: Carbon Copy toolbar command 2017-04-10 08:57:25 +02:00
Abdullah Tahiri
6917d314b8 Sketcher: Updating resource file 2017-04-10 08:57:25 +02:00
Abdullah Tahiri
3d67071659 Sketcher: Carbon copy icons 2017-04-10 08:57:25 +02:00
Abdullah Tahiri
3cfef62381 Sketcher: Carbon copy Python command 2017-04-10 08:57:25 +02:00
wmayer
35884fd3c2 fix -Wsign-compare 2017-04-08 13:57:29 +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
d27599bfdc Sketcher: Increase/Decrease knot multiplicity toolbar commands adapted to provide more meaningful error messages 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
9e2eea6bbd Sketcher: Adapt increase multiplicity toolbar command to use unique identifier 2017-04-08 12:58:06 +02:00
Abdullah Tahiri
86932a6f01 Sketcher: Decrease multiplicity command adaptation to unique identifier 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
5e28c49417 Sketcher: Clear knot selection after multiplicity operation 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
dc34f7e9fb Sketcher: Dropdown toolbar button for increase/decrease BSpline knot multiplicity 2017-04-08 12:58:06 +02:00
Abdullah Tahiri
f6f92b428d Sketcher: BSpline Decrease knot multiplity toolbar command 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
b6688f2da2 Sketcher: Increase knot multiplicity auto-reconstruction of pole circles for UI user 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
28396fdd54 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
af71924a98 Sketcher: Increase multiplicity command - no creation of unsolicited internal geometry 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
1e8181cbe0 Sketcher: TestSketcherApp.py fix AppConveyor sporadic failures 2017-04-08 12:58:06 +02:00
Abdullah Tahiri
6a451abb8b Sketcher: Curvature comb general representation scale fix 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
a34ada692d Sketcher: BSpline creation adapted to the more flexible python constructor 2017-04-08 12:58:06 +02:00
Abdullah Tahiri
7a2760695a Sketcher: SketchObject - Python command to increase knot multiplicity 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
6f46ce747b Sketcher: Enable reuse of constraint helper functions in other toolbars
=======================================================================

bool checkBothExternal(int GeoId1, int GeoId2);
void getIdsFromName(const std::string &name, const Sketcher::SketchObject* Obj, int &GeoId, Sketcher::PointPos &PosId);
bool inline isVertex(int GeoId, Sketcher::PointPos PosId);
bool inline isEdge(int GeoId, Sketcher::PointPos PosId);
bool isSimpleVertex(const Sketcher::SketchObject* Obj, int GeoId, Sketcher::PointPos PosId);
bool IsPointAlreadyOnCurve(int GeoIdCurve, int GeoIdPoint, Sketcher::PointPos PosIdPoint, Sketcher::SketchObject* Obj);
2017-04-08 12:58:06 +02:00
Abdullah Tahiri
0a9e647a01 Sketcher: Add toolbar command to increase knot multiplicity 2017-04-08 12:58:06 +02:00
Abdullah Tahiri
f36721e529 Sketcher: Enable showing knots on BSpline creation 2017-04-08 12:58:06 +02:00
Abdullah Tahiri
77e1d1327c Sketcher: Bspline toolbar command show/hide knot multiplicity geometry information layer 2017-04-08 12:58:06 +02:00
Abdullah Tahiri
e9c508f467 Sketcher: Bspline knot multiplicity geometry information layer 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
33be143f48 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
65b7e606e5 Sketcher: Construction points added as fixed parameters 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