[PD] Hole: fix angle constraints
- all 3 angles cannot be >= 180° - also add missing minimum in UI for taper angle
This commit is contained in:
@@ -645,7 +645,7 @@ const char* Hole::ThreadDirectionEnums[] = { "Right", "Left", NULL};
|
||||
|
||||
PROPERTY_SOURCE(PartDesign::Hole, PartDesign::ProfileBased)
|
||||
|
||||
const App::PropertyAngle::Constraints Hole::floatAngle = { Base::toDegrees<double>(Precision::Angular()), 360.0, 1.0 };
|
||||
const App::PropertyAngle::Constraints Hole::floatAngle = { Base::toDegrees<double>(Precision::Angular()), 180.0 - Base::toDegrees<double>(Precision::Angular()), 1.0 };
|
||||
// OCC can only create holes with a min diameter of 10 times the Precision::Confusion()
|
||||
const App::PropertyQuantityConstraint::Constraints diameterRange = { 10 * Precision::Confusion(), FLT_MAX, 1.0 };
|
||||
|
||||
|
||||
@@ -129,6 +129,7 @@ TaskHoleParameters::TaskHoleParameters(ViewProviderHole* HoleView, QWidget* pare
|
||||
ui->HoleCutDepth->setValue(pcHole->HoleCutDepth.getValue());
|
||||
ui->HoleCutDepth->setDisabled(pcHole->HoleCutDepth.isReadOnly());
|
||||
ui->HoleCutCountersinkAngle->setMinimum(pcHole->HoleCutCountersinkAngle.getMinimum());
|
||||
ui->HoleCutCountersinkAngle->setMaximum(pcHole->HoleCutCountersinkAngle.getMaximum());
|
||||
ui->HoleCutCountersinkAngle->setValue(pcHole->HoleCutCountersinkAngle.getValue());
|
||||
ui->HoleCutCountersinkAngle->setDisabled(pcHole->HoleCutCountersinkAngle.isReadOnly());
|
||||
|
||||
@@ -139,6 +140,7 @@ TaskHoleParameters::TaskHoleParameters(ViewProviderHole* HoleView, QWidget* pare
|
||||
else
|
||||
ui->drillPointAngled->setChecked(true);
|
||||
ui->DrillPointAngle->setMinimum(pcHole->DrillPointAngle.getMinimum());
|
||||
ui->DrillPointAngle->setMaximum(pcHole->DrillPointAngle.getMaximum());
|
||||
ui->DrillPointAngle->setValue(pcHole->DrillPointAngle.getValue());
|
||||
ui->DrillForDepth->setChecked(pcHole->DrillForDepth.getValue());
|
||||
// drill point settings are only enabled (sensible) if type is 'Dimension'
|
||||
@@ -166,6 +168,8 @@ TaskHoleParameters::TaskHoleParameters(ViewProviderHole* HoleView, QWidget* pare
|
||||
ui->Tapered->setChecked(pcHole->Tapered.getValue());
|
||||
// Angle is only enabled (sensible) if tapered
|
||||
ui->TaperedAngle->setEnabled(pcHole->Tapered.getValue());
|
||||
ui->TaperedAngle->setMinimum(pcHole->TaperedAngle.getMinimum());
|
||||
ui->TaperedAngle->setMaximum(pcHole->TaperedAngle.getMaximum());
|
||||
ui->TaperedAngle->setValue(pcHole->TaperedAngle.getValue());
|
||||
ui->Reversed->setChecked(pcHole->Reversed.getValue());
|
||||
|
||||
|
||||
Reference in New Issue
Block a user