Commit Graph

378 Commits

Author SHA1 Message Date
DeepSOIC
1bbc764e9e Sketcher: fix reversed geometry and rotated arcs
Fixes a bug where an arc, ellipse, or arc-of-ellipse, being reversed in
XY plane, behaved badly in sketcher (see forum thread "Sketch: how to
handle reversed external arcs?"
http://forum.freecadweb.org/viewtopic.php?f=10&t=9130 ).
Also fixes a problem with rotated arcs (see forum thread "Rotating Arc
in Sketcher"
http://forum.freecadweb.org/viewtopic.php?f=22&t=9145#p74262 ).

This is done by adding an emulation flag to a few methods in
Part::GeomXXX, which makes the shape to pretend being non-reversed
(CCW). This causes endpoints of reversed arcs of circles lineked as
external geometry to swap, causing broken sketches sometimes.
2015-02-17 12:27:31 +01:00
Sebastian Hoogen
fcabea8d92 meshing was removed from StlTransfer
with OCCT CR0025357 issue #1906
2015-02-12 13:46:14 +01:00
Sebastian Hoogen
b54dd77a50 rename python classes for shapes and
implememnt __getstate__ and __setstate__ to enable pickling
issue #1948
2015-02-04 17:07:29 +01:00
Sebastian Hoogen
56c055c269 Set offset mode for extrusion draft 2015-01-20 11:30:13 +01:00
wmayer
8eb3847cf4 + fixes #0001922: occ exception during python shell.makeHalfSpace 2015-01-16 23:11:07 +01:00
wmayer
f2cd83fa78 + add toShape() to Part.Point, allow to pass Part.Point in Part.Vertex 2015-01-15 11:39:53 +01:00
wmayer
37c881c9b5 + do not throw exception from inside signal handler to get useful stack trace for segmentation faults 2015-01-13 22:01:59 +01:00
wmayer
801bfa8936 + fixes #0001662: IGES does not export correctly 2015-01-11 12:14:41 +01:00
Sebastian Hoogen
d7e4c54a1e issue #1450 2015-01-10 12:09:00 -02:00
wmayer
7301f4ba60 + fixes #0001652: Proper support of units for all geometric primitives 2015-01-07 15:31:07 +01:00
wmayer
b76601b068 + fixes #0000763: Bad IGS import 2015-01-05 16:28:40 +01:00
wmayer
d57de8c6d3 + minor optimization 2015-01-02 12:26:29 +01:00
Abdullah Tahiri
948eb8e636 Part: Extension of Geometry::Curve
Part: Extension of Geometry::Curve to wrap more functions of OCC

Apart from:
    bool tangent(double u, gp_Dir&) const;
that was already implemented, now it also implements:
    Base::Vector3d pointAtParameter(double u) const;
    Base::Vector3d firstDerivativeAtParameter(double u) const;
    Base::Vector3d secondDerivativeAtParameter(double u) const;
    bool normal(double u, gp_Dir& dir) const;
    bool closestParameter(Base::Vector3d point, double &u);

i.e. apart from giving the tangent vector for a given curve at parameter value u,
it also gives:
   - The point cartesian coordinates of the curve point at parameter value u
   - The vector of the first derivative at parameter value u
   - The vector of the second derivative at parameter value u
   - The normal vector to the curve at parameter value u
   - The parameter value of a curve closest ot a given point

Code cleanup: Changing Trim functionality of Ellipse to use OCC calculations

Part Curve functions extension: closestParameterToBasicCurve

It provides the parameter of the curve closest to a given point. If the curve is a Trimmed curve, the parameter of the basic underlaying curve closest to the point is provided.
2015-01-02 11:48:28 +01:00
wmayer
d0af6efecb + fixes #0001889: Crash when undoing move of base object of a part fillet 2015-01-01 21:05:19 +01:00
wmayer
55127da4f2 + fixes #0001878: model refine exception 2014-12-28 18:10:02 +01:00
wmayer
d4019e96f7 + fixes #0001874: Scripted constraints not evaluated correctly 2014-12-23 15:32:03 +01:00
wmayer
f84da6b6fd + fix build failure 2014-12-21 11:21:32 +01:00
Abdullah Tahiri
a551765bbe Part Module New Feature: Hyperbola & ArcOfHyperbola
- Completed Hyperbola c++ implementation and python wrapper
- Created ArOfHyperbola c++ and python wrapper implementation
2014-12-21 00:54:07 +01:00
Abdullah Tahiri
3d87ef6b4f Part Module New Feature: Parabola & ArcOfParabola
- Completed Parabola c++ implementation and python wrapper implementation
- Created ArOfParabola c++ and python wrapper implementation
2014-12-21 00:51:24 +01:00
wmayer
9c101f2ffb + remove Makefile.am, remove some leftovers, avoid including unneeded headers in GCS.cpp 2014-12-20 14:06:54 +01:00
Abdullah Tahiri
4946eddc6b Sketcher New Feature: Ellipse support
- Ellipse introduction button via (center,majaxis extreme, a point in edge), ellipse is always CCW so that Z axis goes in the positive direction of the sketch
- Backwards compatibility with files of previous versions of ellipse not defining a phi angle
- Art by Jim (all the icons you see and the XPMs shown on creation of an ellipse)
- Element Widget support for ellipses
- Box selection for ellipses
- Point on Ellipse constraint based on the gardener's method based on Ulrich's function proposal (radcan simplified, i.e. with simplify_radical sage function)
- Tangent: Ellipse to Line based on DeepSOIC's geometric formulation (radcan simplified)

Sketcher New Feature: Internal Alignment Constraint
- The element to which internal alignment is applied has to be selected last.
- All other elements are added in the order of priority, taking into account existing elements
- Art by Jim (beautiful icons).

Sketcher New Feature: Tool to show/hide/restore the internal geometry of an element
- New functionality for show/hide internal geometry:
  toggles between hiding all unused internal geometry elements and showing all internal geometry.
  The restore function is implicit to the showing all internal geometry

Sketcher New Feature: Arc of Ellipse support
- Part::Geometry + Python implementation
- ArcOfEllipse creation method
- Art by Jim (all the icons you see and the XPMs shown on creation of arc of ellipse elements)
- Sketcher Element widget for ArcOfEllipse.

Bug fix: Select elements associated to constraints works now for foci internal alignment constraints
2014-12-20 12:33:29 +01:00
jriegel
58411cbbd3 Merge branch 'refs/heads/master' into review-CL-Bundler 2014-11-29 15:43:19 +01:00
Sebastian Hoogen
46a00d1380 remove support for automake 2014-11-26 10:26:30 +01:00
jriegel
8d98a8a064 Merge branch 'refs/heads/master' into review-CL-Bundler
Conflicts:
	src/3rdParty/salomesmesh/CMakeLists.txt
2014-11-22 13:51:04 +01:00
jriegel
dc5c15c926 small fix for VS 2013 2014-11-22 12:46:10 +01:00
WandererFan
7df59105a4 Work around for Mantis issue 0954 on Helix Primitive
To be removed after OCC helix bug corrected.
2014-11-17 17:45:34 -05:00
WandererFan
b3236dba6c Fix #0001722 Left-handed helix with an angle>0 produces 1 too many turns 2014-11-06 10:49:02 -02:00
blobfish
05246a99ba Part: ModelRefine: Fix for avoid edges of edgeFuse not working 2014-11-05 14:54:38 +01:00
blobfish
3b09e111e1 Part: ModelRefine: adding bspline support 2014-11-05 14:54:36 +01:00
blobfish
9d4aba8a1c Part: ModelRefine: Add FixMissingSeam 2014-11-05 14:54:36 +01:00
blobfish
0b0a731d29 Part: ModelRefine: fix for missing tolerances. 2014-11-05 14:54:35 +01:00
Jan Rheinländer
6e11995967 Part: ModelRefine: Enhancement for cylindrical faces 2014-11-05 14:54:34 +01:00
wmayer
adf3c12ced + better exception handling in Part module 2014-11-04 11:03:51 +01:00
wmayer
908c11edd7 + fixes #0001798: Support general ellipsoid with three radii 2014-10-30 18:02:18 +01:00
wmayer
aad7e9fb07 + change between AP203 and AP214 schemes 2014-10-30 13:07:25 +01:00
wmayer
61c92961e3 + customize IGES header 2014-10-29 16:39:33 +01:00
wmayer
a64e73d229 + split STEP and IGES settings into separate pages, handle Brep mode of IGES format 2014-10-28 19:27:23 +01:00
Sebastian Hoogen
01cf0f5872 issue #1027 use unicode filepaths 2014-10-11 13:32:06 +02:00
Sebastian Hoogen
6157cf3c4a fixes #1782 remove unused precsion parameters
from gp_Trsf::SetValues
2014-10-11 13:03:02 +02:00
wmayer
696d4a5f4a + fix warnings with clang 2014-09-24 17:46:04 +02:00
wmayer
2b8b11c71f + build with Qt < 4.7 and OCC < 6.5 2014-09-20 17:49:29 +02:00
Sebastian Hoogen
d49528b27e issue #1700 replace PyExc_Exception 2014-09-17 11:15:57 +02:00
Sebastian Hoogen
af50cbf964 fixes #0001422: Subclass Exception
inherit Base.FreeCADError form RuntimeError
inherit Part.OCCError from Base.FreeCADError
inherit OCCDomainError from Part.OCCError
inherit OCCRangeError from Part.OCCError
inherit OCCConstructionError from OCCDomainError
inherit OCCDimensionError from OCCDomainError
Added PY_CATCH_OCC macro
replace PyExc_Exception
use FreeCADError in makeWireString
catch exception in BSplineCurve.increasedegree
2014-09-17 11:15:56 +02:00
Sebastian Hoogen
5ffa0d8903 python property Continuity of GeometrySurface 2014-09-01 11:04:38 +02:00
wmayer
419664e0ea + restore lost changes, improve whitspaces, suppress useless MSVC warnings 2014-08-28 12:37:42 +02:00
jriegel
d0d832896a Merge remote-tracking branch 'refs/remotes/origin/jriegel/NewWinBuild' into jriegel/review-NewLibPack
Conflicts:
	src/3rdParty/salomesmesh/CMakeLists.txt
2014-08-27 15:39:00 +02:00
jriegel
0d3db11327 OCL tests 2014-08-17 20:15:12 +02:00
Sebastian Hoogen
716087ee46 fixes #0001684: Sweep ignores the list of subshapes 2014-08-15 14:35:59 +02:00
wmayer
b26ed2a3a9 + Support Quasi methods in discretize() 2014-08-14 19:11:51 +02:00
wmayer
21ec6f0e6e + Give example for discretize() matching the shape type 2014-08-14 11:38:39 +02:00