Implement Constraint creation on Slot

This commit is contained in:
jriegel 2014-04-17 04:41:25 +02:00
parent 39d065717c
commit 39f7353663

View File

@ -2994,40 +2994,52 @@ public:
Gui::Command::doCommand(Gui::Command::Doc,"App.ActiveDocument.%s.addGeometry(Part.Line(App.Vector(%f,%f,0),App.Vector(%f,%f,0)))", Gui::Command::doCommand(Gui::Command::Doc,"App.ActiveDocument.%s.addGeometry(Part.Line(App.Vector(%f,%f,0),App.Vector(%f,%f,0)))",
sketchgui->getObject()->getNameInDocument(), sketchgui->getObject()->getNameInDocument(),
EditCurve[0].fX,EditCurve[0].fY,EditCurve[34].fX,EditCurve[34].fY); EditCurve[0].fX,EditCurve[0].fY,EditCurve[34].fX,EditCurve[34].fY);
//// add the four coincidents to ty them together // add the four coincidents to ty them together
//Gui::Command::doCommand(Gui::Command::Doc,"App.ActiveDocument.%s.addConstraint(Sketcher.Constraint('Coincident',%i,2,%i,1)) " Gui::Command::doCommand(Gui::Command::Doc,"App.ActiveDocument.%s.addConstraint(Sketcher.Constraint('Coincident',%i,1,%i,1)) "
// ,sketchgui->getObject()->getNameInDocument() ,sketchgui->getObject()->getNameInDocument()
// ,firstCurve,firstCurve+1); ,firstCurve,firstCurve+3);
//Gui::Command::doCommand(Gui::Command::Doc,"App.ActiveDocument.%s.addConstraint(Sketcher.Constraint('Coincident',%i,2,%i,1)) " Gui::Command::doCommand(Gui::Command::Doc,"App.ActiveDocument.%s.addConstraint(Sketcher.Constraint('Coincident',%i,2,%i,1)) "
// ,sketchgui->getObject()->getNameInDocument() ,sketchgui->getObject()->getNameInDocument()
// ,firstCurve+1,firstCurve+2); ,firstCurve,firstCurve+2);
//Gui::Command::doCommand(Gui::Command::Doc,"App.ActiveDocument.%s.addConstraint(Sketcher.Constraint('Coincident',%i,2,%i,1)) " Gui::Command::doCommand(Gui::Command::Doc,"App.ActiveDocument.%s.addConstraint(Sketcher.Constraint('Coincident',%i,2,%i,1)) "
// ,sketchgui->getObject()->getNameInDocument() ,sketchgui->getObject()->getNameInDocument()
// ,firstCurve+2,firstCurve+3); ,firstCurve+2,firstCurve+1);
//Gui::Command::doCommand(Gui::Command::Doc,"App.ActiveDocument.%s.addConstraint(Sketcher.Constraint('Coincident',%i,2,%i,1)) " Gui::Command::doCommand(Gui::Command::Doc,"App.ActiveDocument.%s.addConstraint(Sketcher.Constraint('Coincident',%i,2,%i,2)) "
// ,sketchgui->getObject()->getNameInDocument() ,sketchgui->getObject()->getNameInDocument()
// ,firstCurve+3,firstCurve); ,firstCurve+3,firstCurve+1);
//// add the horizontal constraints //// add the either horizontal or vertical constraints
//Gui::Command::doCommand(Gui::Command::Doc,"App.ActiveDocument.%s.addConstraint(Sketcher.Constraint('Horizontal',%i)) " if(fabs(lx)>fabs(ly))
// ,sketchgui->getObject()->getNameInDocument() Gui::Command::doCommand(Gui::Command::Doc,"App.ActiveDocument.%s.addConstraint(Sketcher.Constraint('Horizontal',%i)) "
// ,firstCurve); ,sketchgui->getObject()->getNameInDocument()
//Gui::Command::doCommand(Gui::Command::Doc,"App.ActiveDocument.%s.addConstraint(Sketcher.Constraint('Horizontal',%i)) " ,firstCurve+2);
// ,sketchgui->getObject()->getNameInDocument() else
// ,firstCurve+2); Gui::Command::doCommand(Gui::Command::Doc,"App.ActiveDocument.%s.addConstraint(Sketcher.Constraint('Vertical',%i)) "
//// add the vertical constraints ,sketchgui->getObject()->getNameInDocument()
//Gui::Command::doCommand(Gui::Command::Doc,"App.ActiveDocument.%s.addConstraint(Sketcher.Constraint('Vertical',%i)) " ,firstCurve+2);
// ,sketchgui->getObject()->getNameInDocument() //// add the tnagent constraints
// ,firstCurve+1); Gui::Command::doCommand(Gui::Command::Doc,"App.ActiveDocument.%s.addConstraint(Sketcher.Constraint('Tangent',%i,%i)) "
//Gui::Command::doCommand(Gui::Command::Doc,"App.ActiveDocument.%s.addConstraint(Sketcher.Constraint('Vertical',%i)) " ,sketchgui->getObject()->getNameInDocument()
// ,sketchgui->getObject()->getNameInDocument() ,firstCurve,firstCurve+2);
// ,firstCurve+3); Gui::Command::doCommand(Gui::Command::Doc,"App.ActiveDocument.%s.addConstraint(Sketcher.Constraint('Tangent',%i,%i)) "
,sketchgui->getObject()->getNameInDocument()
,firstCurve,firstCurve+3);
Gui::Command::doCommand(Gui::Command::Doc,"App.ActiveDocument.%s.addConstraint(Sketcher.Constraint('Tangent',%i,%i)) "
,sketchgui->getObject()->getNameInDocument()
,firstCurve+1,firstCurve+2);
Gui::Command::doCommand(Gui::Command::Doc,"App.ActiveDocument.%s.addConstraint(Sketcher.Constraint('Tangent',%i,%i)) "
,sketchgui->getObject()->getNameInDocument()
,firstCurve+1,firstCurve+3);
// make the two arcs equal
Gui::Command::doCommand(Gui::Command::Doc,"App.ActiveDocument.%s.addConstraint(Sketcher.Constraint('Equal',%i,%i)) "
,sketchgui->getObject()->getNameInDocument()
,firstCurve,firstCurve+1);
Gui::Command::commitCommand(); Gui::Command::commitCommand();
Gui::Command::updateActive(); Gui::Command::updateActive();
// add auto constraints at the start of the first side // add auto constraints at the start of the first side
if (sugConstr1.size() > 0) { if (sugConstr1.size() > 0) {
createAutoConstraints(sugConstr1, getHighestCurveIndex() - 3 , Sketcher::start); createAutoConstraints(sugConstr1, getHighestCurveIndex() - 3 , Sketcher::mid);
sugConstr1.clear(); sugConstr1.clear();
} }
@ -3037,6 +3049,7 @@ public:
sugConstr2.clear(); sugConstr2.clear();
} }
EditCurve.clear(); EditCurve.clear();
sketchgui->drawEdit(EditCurve); sketchgui->drawEdit(EditCurve);
sketchgui->purgeHandler(); // no code after this line, Handler get deleted in ViewProvider sketchgui->purgeHandler(); // no code after this line, Handler get deleted in ViewProvider