diff --git a/src/Mod/PartDesign/App/FeaturePolarPattern.cpp b/src/Mod/PartDesign/App/FeaturePolarPattern.cpp index a871c1bbed..e0b387d91a 100644 --- a/src/Mod/PartDesign/App/FeaturePolarPattern.cpp +++ b/src/Mod/PartDesign/App/FeaturePolarPattern.cpp @@ -74,7 +74,8 @@ short PolarPattern::mustExecute() const const std::list PolarPattern::getTransformations(const std::vector) { double angle = Angle.getValue(); - if (angle < Precision::Confusion()) + double radians = Base::toRadians(angle); + if (radians < Precision::Angular()) throw Base::ValueError("Pattern angle too small"); int occurrences = Occurrences.getValue(); if (occurrences < 1) @@ -92,9 +93,9 @@ const std::list PolarPattern::getTransformations(const std::vector(angle) / occurrences; // Because e.g. two occurrences in 360 degrees need to be 180 degrees apart + offset = radians / occurrences; // Because e.g. two occurrences in 360 degrees need to be 180 degrees apart else - offset = Base::toRadians(angle) / (occurrences - 1); + offset = radians / (occurrences - 1); App::DocumentObject* refObject = Axis.getValue(); if (refObject == NULL)