Commit Graph

172 Commits

Author SHA1 Message Date
Abdullah Tahiri
49cffc495f Sketcher: BSpline basic SketchObject support 2017-01-05 21:45:47 +01:00
wwmayer
52a65710f8 Merge pull request #401 from abdullahtahiriyo/parabola_2017
Parabola 2017
2016-12-28 13:48:13 +01:00
Abdullah Tahiri
19f6417434 Sketcher: Arc Of Parabola - Symmetry tool 2016-12-28 01:25:33 +01:00
Abdullah Tahiri
1508cc6ab4 Sketcher: Arc Of Hyperbola - Symmetry tool 2016-12-27 02:13:23 +01:00
Abdullah Tahiri
31470f6013 Sketcher: Copy/Clone and Array support for Arcs of Parabola and Hyperbola 2016-12-26 23:23:34 +01:00
Abdullah Tahiri
9dffe12182 Sketcher: Arc Of Parabola - Delete unused internal geometry on deletion 2016-12-26 22:06:40 +01:00
Abdullah Tahiri
addd13f2ca Sketcher: Arc Of Hyperbola - Delete unused internal geometry on deletion 2016-12-26 19:42:57 +01:00
Abdullah Tahiri
3aef32152f Sketcher: fix compilation warnings 2016-12-26 19:19:10 +01:00
Abdullah Tahiri
f3106a7cf2 Sketcher: Parabola Expose Internal Geometry
==========================================

Also automatically on creation
2016-12-22 16:10:52 +01:00
wmayer
4db3591e68 fix CIDs 129192, 129078 2016-12-18 12:42:43 +01:00
wmayer
90b9ba81cf fix CIDs 154877, 154878, 154879, 154880, 154881, 154882, 154885 2016-12-18 12:15:26 +01:00
Abdullah Tahiri
0e0b6f9306 Sketcher: Parabola SketchObject basic functionality
===================================================

Except Trimming & Expose Internal Geometry, that will be added separately.
2016-12-18 00:41:40 +01:00
wmayer
273f3995c0 add class GeomArcOfConic to reduce code duplication 2016-12-04 14:20:56 +01:00
Abdullah Tahiri
90ac981339 Sketcher: Hyperbola added supported type
========================================

Allows to restore a saved hyperbola in a sketch.
2016-11-27 18:45:33 +01:00
Abdullah Tahiri
76ec75a980 fix in minor axis Expose Internal Geometry for hyperbola 2016-11-27 18:45:33 +01:00
Abdullah Tahiri
cbfc4f02a0 Hyperbola InternalAlignment
Focus is working.
2016-11-27 18:45:33 +01:00
Abdullah Tahiri
cb5981fceb In Part:Geometry:
- Fixing Hyperbola classes to get CCW emulation (like Ellipse classes).

In Sketcher:
- The Sketcher representation deals with the right branch of the Hyperbola only.
- Solver model is: Center, Focus1 (focus of the right branch), minor radius (b).
- HyperbolicArcRangeToEndPoints code is the one of Ellipse <= Awaiting DeepSOIC help ;)
- ConstraintPointOnHyperbola solver constraint is now implemented and should be working.
- No InternalAligment constraints implemented yet.
2016-11-27 18:45:33 +01:00
Abdullah Tahiri
e928e418ec Sketcher: New Feature: Hyperbola/ArcOfHyperbola
===============================================

- ArcOfHyperbola creation method
- Solver representation (undefined moving)
- SketchObjectPyImp (here we still miss the Part->Partdesign conversion)
- Sketch validation for hyperbola
- Hyperbola creation method: shows the "proof of concept", but it is very buggy!!

Notes:
- Missing icons, probably missing geo normal curve implementation - rebasing -
- Fixes to adapt Hyperbola to Derivector implementation and make it compile
2016-11-27 18:45:33 +01:00
wmayer
706094fbc2 clear expression when setting constraint non-driving 2016-11-11 12:33:20 +01:00
wmayer
079ef4daf6 fix several memory leaks:
SketchObject::delGeometry
SketchObject::delExternal
SketchObject::delAllExternal
SketchObject::validateExternalLinks
2016-10-24 16:32:18 +02:00
wmayer
f590f8a868 fix memory leak in SketchObject::transferConstraints 2016-10-24 14:35:24 +02:00
wmayer
562f8eedc1 fix linking failure with gcc/clang 2016-10-23 14:10:01 +02:00
wmayer
b1904dfd28 replace hard coded numbers with static constants 2016-10-23 13:44:26 +02:00
wmayer
9d52b05888 fix Coverity issues 2016-08-19 22:51:33 +02:00
wmayer
c294c8bdbd + rename methods in Vector3 class
+ add convenience methods Cross and Dot to Vector3 class
+ fix bug in DistanceToLineSegment in Vector3 class
2016-07-30 15:14:47 +02:00
wmayer
8ca5e0b5f1 + fix gcc warning of unused variable 2016-05-22 18:45:37 +02:00
DeepSOIC
7cea600c08 Sketcher: change rules of external linkage
Was:
+ allowed: links to support
+ allowed: free links within one body,
+ Ctrl-protected: links between bodies of ?one? part
- blocked: (everything else) . i.e., if sketch is not in a body, only
links to support are allowed.

New:

* Across Parts, from Part to outside part, from document into part:
blocked
* Within one part (also if directly in document): allowed.
except links from body to outside or to other bodies are screened (hold
Ctrl to allow).
Support (attachment) is totally ignored in this logic.
2016-05-21 01:31:06 +03:00
Alexander Golubev
27667cf5e6 Fix warnings introduced in new PartDesign
Mostly unused wariables and compare of signed & unsigned
2016-04-12 18:12:21 +02:00
DeepSOIC
f143e08fad Fix problems with unlimited external geometry
Caused by recent changes by abdullah, which assumes there is external
geometry only if sketch has support.
http://forum.freecadweb.org/viewtopic.php?f=3&t=12746&p=102087#p102087
2016-04-12 18:12:21 +02:00
Stefan Tröger
a92746da22 crossreferences only with ctrl button and fix missing return value 2016-04-12 18:12:20 +02:00
DeepSOIC
b21950326c Sketcher: when refusing to link external, print why (in statusbar) 2016-04-12 18:12:20 +02:00
DeepSOIC
61dd847db1 Sketcher: allow referencing everything; add testing for circular references 2016-04-12 18:12:20 +02:00
Alexander Golubev
305151be34 App/Origin: big refactoring
- Rebase App::Origin on App::DocumentObject
 - Keep all control over the Origin structure inside the Origin and it's
   ViewProvider
 - Add OriginFeature class as common base for App::Plane and App::Line
 - Rebase App::Plane and App::Line on top of newly created class and
   move to the file.
 - Change Origin's ViewProvider API associated with temporary display
 - Lots of associated changes to files
 - Several minor fixes
 - Lots of new bugs
2016-04-12 18:12:18 +02:00
Alexander Golubev
2e27001382 Sketcher: minor enhance in sketch interaction with body 2016-04-12 18:12:16 +02:00
DeepSOIC
93fff0e65f Sketcher: new attachment engine 2016-04-12 18:12:12 +02:00
DeepSOIC
1b754d35c5 Sketcher: change Support from PropertyLinkSub to PropertyLinkSubList
Note: may fail to build after this commit...
2016-04-12 18:12:12 +02:00
DeepSOIC
1226fec82c Sketcher: fix free-standing sketches
See forum thread, Sketch support == NULL
http://forum.freecadweb.org/viewtopic.php?f=20&t=10942
2016-04-12 18:12:07 +02:00
DeepSOIC
b9745f22bb Sketcher: Fix duplicate external avoidance false positives
Attempting to link to Edge1 of one object failed when there was already
an Edge1 linked from another object.
2016-04-12 18:12:06 +02:00
Jan Rheinländer
0ada1d1b12 Fixed bug that did not allow selecting datum planes as external references in sketches 2016-04-12 18:11:59 +02:00
jrheinlaender
c854915514 Fix bug where external reference was ignored without an error message 2016-04-12 18:11:55 +02:00
jrheinlaender
99e68a2a75 Improved SketchObject error reporting 2016-04-12 18:11:55 +02:00
jrheinlaender
20b8b53851 Fix bug in SketchObject::execute() that throws exception instead of returning an error 2016-04-12 18:11:55 +02:00
jrheinlaender
ecfc586109 Centralize the check for valid external geometry to ensure consistency 2016-04-12 18:11:55 +02:00
jrheinlaender
49c42d77cb Detect external geometry that is a circle which becomes a bspline after projection 2016-04-12 18:11:52 +02:00
jrheinlaender
73d55c538b Allow geometry from other bodies in the same par as external geometry for sketches 2016-04-12 18:11:52 +02:00
jrheinlaender
de17a3ede4 Pad/Pocket: Allow extrude up to a datum plane 2016-04-12 18:11:50 +02:00
jrheinlaender
857ede8847 Moved generic Datum class to Part module to avoid Sketcher dependency on PartDesign 2016-04-12 18:11:49 +02:00
jrheinlaender
dc9c6b0e5d Miscellaneous fixes 2016-04-12 18:11:49 +02:00
Abdullah Tahiri
4154482dfc Sketcher Bug fix: Solver information update on over-constrained situation
==================================================================================

Why?
if lastDoF<0, then an over-constrained situation has ensued and geometry is not to be updated, as geometry can not follow the constraints.
However, solver information needs to be updated.

Solution:
Just trigger a constraint change so that signaling is sent to ViewProviderSketch via boost and the solver information updated, using
Constraints.touch().
2016-01-09 13:42:12 +01:00
wmayer
60d59b608a + fixes #0001956: FreeCAD 0.14.370x hangs when attempting to edit sketch containing ellipse 2015-12-27 11:44:47 +01:00