diff --git a/src/Mod/PartDesign/App/FeaturePad.cpp b/src/Mod/PartDesign/App/FeaturePad.cpp index 6265075f01..7558595d58 100644 --- a/src/Mod/PartDesign/App/FeaturePad.cpp +++ b/src/Mod/PartDesign/App/FeaturePad.cpp @@ -68,9 +68,9 @@ Pad::Pad() Type.setEnums(TypeEnums); ADD_PROPERTY_TYPE(Length, (100.0), "Pad", App::Prop_None,"Pad length"); ADD_PROPERTY_TYPE(Length2, (100.0), "Pad", App::Prop_None,"Second Pad length"); - ADD_PROPERTY_TYPE(UseCustomVector, (0), "Pad", App::Prop_None, "Use custom vector for pad direction"); + ADD_PROPERTY_TYPE(UseCustomVector, (false), "Pad", App::Prop_None, "Use custom vector for pad direction"); ADD_PROPERTY_TYPE(Direction, (Base::Vector3d(1.0, 1.0, 1.0)), "Pad", App::Prop_None, "Pad direction vector"); - ADD_PROPERTY_TYPE(AlongCustomVector, (true), "Pad", App::Prop_None, "Measure length along custom direction vector"); + ADD_PROPERTY_TYPE(AlongSketchNormal, (true), "Pad", App::Prop_None, "Measure pad length along the sketch normal direction"); ADD_PROPERTY_TYPE(UpToFace, (0), "Pad", App::Prop_None, "Face where pad will end"); ADD_PROPERTY_TYPE(Offset, (0.0), "Pad", App::Prop_None, "Offset from face in which pad will end"); static const App::PropertyQuantityConstraint::Constraints signedLengthConstraint = {-DBL_MAX, DBL_MAX, 1.0}; @@ -79,6 +79,10 @@ Pad::Pad() // Remove the constraints and keep the type to allow to accept negative values // https://forum.freecadweb.org/viewtopic.php?f=3&t=52075&p=448410#p447636 Length2.setConstraints(nullptr); + + // for new pads UseCustomVector is false, thus disable Direction and AlongSketchNormal + AlongSketchNormal.setReadOnly(true); + Direction.setReadOnly(true); } short Pad::mustExecute() const @@ -89,7 +93,7 @@ short Pad::mustExecute() const Length2.isTouched() || UseCustomVector.isTouched() || Direction.isTouched() || - AlongCustomVector.isTouched() || + AlongSketchNormal.isTouched() || Offset.isTouched() || UpToFace.isTouched()) return 1; @@ -159,6 +163,10 @@ App::DocumentObjectExecReturn *Pad::execute(void) paddingDirection = Direction.getValue(); } + // disable options of UseCustomVector + AlongSketchNormal.setReadOnly(!UseCustomVector.getValue()); + Direction.setReadOnly(!UseCustomVector.getValue()); + // create vector in padding direction with length 1 gp_Dir dir(paddingDirection.x, paddingDirection.y, paddingDirection.z); @@ -178,7 +186,7 @@ App::DocumentObjectExecReturn *Pad::execute(void) return new App::DocumentObjectExecReturn("Pad: Creation failed because direction is orthogonal to sketch's normal vector"); // perform the length correction if not along custom vector - if (AlongCustomVector.getValue()) { + if (AlongSketchNormal.getValue()) { L = L / factor; L2 = L2 / factor; } diff --git a/src/Mod/PartDesign/App/FeaturePad.h b/src/Mod/PartDesign/App/FeaturePad.h index 9c646d2c27..6d38b0fedd 100644 --- a/src/Mod/PartDesign/App/FeaturePad.h +++ b/src/Mod/PartDesign/App/FeaturePad.h @@ -45,7 +45,7 @@ public: App::PropertyLength Length2; App::PropertyBool UseCustomVector; App::PropertyVector Direction; - App::PropertyBool AlongCustomVector; + App::PropertyBool AlongSketchNormal; App::PropertyLength Offset; /** @name methods override feature */ diff --git a/src/Mod/PartDesign/Gui/TaskPadParameters.cpp b/src/Mod/PartDesign/Gui/TaskPadParameters.cpp index f5dc799f9e..27851ad86a 100644 --- a/src/Mod/PartDesign/Gui/TaskPadParameters.cpp +++ b/src/Mod/PartDesign/Gui/TaskPadParameters.cpp @@ -75,7 +75,7 @@ TaskPadParameters::TaskPadParameters(ViewProviderPad *PadView, QWidget *parent, PartDesign::Pad* pcPad = static_cast(vp->getObject()); Base::Quantity l = pcPad->Length.getQuantityValue(); Base::Quantity l2 = pcPad->Length2.getQuantityValue(); - bool alongCustom = pcPad->AlongCustomVector.getValue(); + bool alongCustom = pcPad->AlongSketchNormal.getValue(); bool useCustom = pcPad->UseCustomVector.getValue(); double xs = pcPad->Direction.getValue().x; double ys = pcPad->Direction.getValue().y; @@ -157,7 +157,7 @@ TaskPadParameters::TaskPadParameters(ViewProviderPad *PadView, QWidget *parent, connect(ui->lengthEdit2, SIGNAL(valueChanged(double)), this, SLOT(onLength2Changed(double))); connect(ui->checkBoxAlongDirection, SIGNAL(toggled(bool)), - this, SLOT(onAlongDirectionChanged(bool))); + this, SLOT(onAlongSketchNormalChanged(bool))); connect(ui->groupBoxDirection, SIGNAL(toggled(bool)), this, SLOT(onDirectionToggled(bool))); connect(ui->XDirectionEdit, SIGNAL(valueChanged(double)), @@ -310,10 +310,10 @@ void TaskPadParameters::onLength2Changed(double len) recomputeFeature(); } -void TaskPadParameters::onAlongDirectionChanged(bool on) +void TaskPadParameters::onAlongSketchNormalChanged(bool on) { PartDesign::Pad* pcPad = static_cast(vp->getObject()); - pcPad->AlongCustomVector.setValue(on); + pcPad->AlongSketchNormal.setValue(on); recomputeFeature(); } @@ -466,7 +466,7 @@ double TaskPadParameters::getLength2(void) const return ui->lengthEdit2->value().getValue(); } -bool TaskPadParameters::getAlongCustom(void) const +bool TaskPadParameters::getAlongSketchNormal(void) const { return ui->checkBoxAlongDirection->isChecked(); } @@ -602,7 +602,7 @@ void TaskPadParameters::apply() FCMD_OBJ_CMD(obj, "UseCustomVector = " << (getCustom() ? 1 : 0)); FCMD_OBJ_CMD(obj, "Direction = (" << getXDirection() << ", " << getYDirection() << ", " << getZDirection() << ")"); - FCMD_OBJ_CMD(obj, "AlongCustomVector = " << (getAlongCustom() ? 1 : 0)); + FCMD_OBJ_CMD(obj, "AlongSketchNormal = " << (getAlongSketchNormal() ? 1 : 0)); FCMD_OBJ_CMD(obj,"Type = " << getMode()); QString facename = getFaceName(); FCMD_OBJ_CMD(obj,"UpToFace = " << facename.toLatin1().data()); diff --git a/src/Mod/PartDesign/Gui/TaskPadParameters.h b/src/Mod/PartDesign/Gui/TaskPadParameters.h index f639496331..f5e9846efa 100644 --- a/src/Mod/PartDesign/Gui/TaskPadParameters.h +++ b/src/Mod/PartDesign/Gui/TaskPadParameters.h @@ -58,7 +58,7 @@ public: private Q_SLOTS: void onLengthChanged(double); void onLength2Changed(double); - void onAlongDirectionChanged(bool); + void onAlongSketchNormalChanged(bool); void onDirectionToggled(bool); void onXDirectionEditChanged(double); void onYDirectionEditChanged(double); @@ -76,7 +76,7 @@ protected: private: double getLength(void) const; double getLength2(void) const; - bool getAlongCustom(void) const; + bool getAlongSketchNormal(void) const; bool getCustom(void) const; double getXDirection(void) const; double getYDirection(void) const;