Sketcher: fixes no horizontal/vertical on segment after horizontal/vertical alignment
===================================================================================== Selecting first the horizontal/vertical constraint and applying to a line segment with a previous horizontal/vertical alignment constraint caused FreeCAD to refuse applying it. fixes #4013
This commit is contained in:
committed by
abdullahtahiriyo
parent
f22d1393c7
commit
3810381d92
@@ -1341,12 +1341,12 @@ void CmdSketcherConstrainHorizontal::applyConstraint(std::vector<SelIdPair> &sel
|
||||
// check if the edge already has a Horizontal/Vertical/Block constraint
|
||||
for (std::vector< Sketcher::Constraint * >::const_iterator it= vals.begin();
|
||||
it != vals.end(); ++it) {
|
||||
if ((*it)->Type == Sketcher::Horizontal && (*it)->First == CrvId){
|
||||
if ((*it)->Type == Sketcher::Horizontal && (*it)->First == CrvId && (*it)->FirstPos == Sketcher::none){
|
||||
QMessageBox::warning(Gui::getMainWindow(), QObject::tr("Double constraint"),
|
||||
QObject::tr("The selected edge already has a horizontal constraint!"));
|
||||
return;
|
||||
}
|
||||
if ((*it)->Type == Sketcher::Vertical && (*it)->First == CrvId) {
|
||||
if ((*it)->Type == Sketcher::Vertical && (*it)->First == CrvId && (*it)->FirstPos == Sketcher::none) {
|
||||
QMessageBox::warning(Gui::getMainWindow(), QObject::tr("Impossible constraint"),
|
||||
QObject::tr("The selected edge already has a vertical constraint!"));
|
||||
return;
|
||||
@@ -1588,12 +1588,12 @@ void CmdSketcherConstrainVertical::applyConstraint(std::vector<SelIdPair> &selSe
|
||||
// check if the edge already has a Horizontal or Vertical constraint
|
||||
for (std::vector< Sketcher::Constraint * >::const_iterator it= vals.begin();
|
||||
it != vals.end(); ++it) {
|
||||
if ((*it)->Type == Sketcher::Horizontal && (*it)->First == CrvId){
|
||||
if ((*it)->Type == Sketcher::Horizontal && (*it)->First == CrvId && (*it)->FirstPos == Sketcher::none){
|
||||
QMessageBox::warning(Gui::getMainWindow(), QObject::tr("Impossible constraint"),
|
||||
QObject::tr("The selected edge already has a horizontal constraint!"));
|
||||
return;
|
||||
}
|
||||
if ((*it)->Type == Sketcher::Vertical && (*it)->First == CrvId) {
|
||||
if ((*it)->Type == Sketcher::Vertical && (*it)->First == CrvId && (*it)->FirstPos == Sketcher::none) {
|
||||
QMessageBox::warning(Gui::getMainWindow(), QObject::tr("Double constraint"),
|
||||
QObject::tr("The selected edge already has a vertical constraint!"));
|
||||
return;
|
||||
|
||||
Reference in New Issue
Block a user