Skip to content

Commit

Permalink
Path: change wire discretization method used in Area
Browse files Browse the repository at this point in the history
  • Loading branch information
realthunder committed Jan 23, 2020
1 parent 96bdea2 commit 28b98f7
Showing 1 changed file with 7 additions and 1 deletion.
8 changes: 7 additions & 1 deletion src/Mod/Path/App/Area.cpp
Expand Up @@ -65,6 +65,7 @@
# include <gp_GTrsf.hxx>
# include <Standard_Version.hxx>
# include <GCPnts_QuasiUniformDeflection.hxx>
# include <GCPnts_UniformDeflection.hxx>
# include <GCPnts_UniformAbscissa.hxx>
# include <BRepBndLib.hxx>
# include <BRepLib_MakeFace.hxx>
Expand Down Expand Up @@ -342,7 +343,12 @@ static std::vector<gp_Pnt> discretize(const TopoDS_Edge &edge, double deflection
// same for any other discetization algorithm, althgouth it seems only
// QuasiUniformDeflection has this bug.

GCPnts_QuasiUniformDeflection discretizer(curve, deflection, first, last);
// NOTE: QuasiUniformDeflection has trouble with some B-Spline, see
// https://forum.freecadweb.org/viewtopic.php?f=15&t=42628
//
// GCPnts_QuasiUniformDeflection discretizer(curve, deflection, first, last);
//
GCPnts_UniformDeflection discretizer(curve, deflection, first, last);
if (!discretizer.IsDone ())
Standard_Failure::Raise("Curve discretization failed");
if(discretizer.NbPoints () > 1) {
Expand Down

0 comments on commit 28b98f7

Please sign in to comment.