reduce solver calls and fix cylinder-cylinder coincident options
This commit is contained in:
parent
e9540eadcc
commit
bc8d2d2294
|
@ -57,6 +57,7 @@ short ItemAssembly::mustExecute() const {
|
|||
|
||||
App::DocumentObjectExecReturn* ItemAssembly::execute(void) {
|
||||
|
||||
Base::Console().Message("Execute\n");
|
||||
try {
|
||||
|
||||
//create a solver and init all child assemblys with subsolvers
|
||||
|
|
|
@ -274,6 +274,9 @@ public:
|
|||
s->m_cluster = m_cluster->createCluster().first;
|
||||
s->m_storage = m_storage;
|
||||
s->m_cluster->template setProperty<dcm::type_prop>(details::subcluster);
|
||||
#ifdef USE_LOGGING
|
||||
stop_log(s->sink);
|
||||
#endif
|
||||
return s;
|
||||
};
|
||||
|
||||
|
|
|
@ -181,7 +181,7 @@ void CmdAssemblyConstraint::activated(int iMsg)
|
|||
doCommand(Doc, typestr2.str().c_str());
|
||||
doCommand(Doc, "App.activeDocument().%s.Constraints = App.activeDocument().%s.Constraints + [App.activeDocument().ActiveObject]", ConstGrp->getNameInDocument(), ConstGrp->getNameInDocument());
|
||||
|
||||
updateActive();
|
||||
//updateActive();
|
||||
doCommand(Doc, "Gui.ActiveDocument.setEdit('%s',0)", ConstrName.c_str());
|
||||
|
||||
commitCommand();
|
||||
|
@ -250,7 +250,7 @@ void CmdAssemblyConstraintDistance::activated(int iMsg)
|
|||
doCommand(Doc, "App.activeDocument().ActiveObject.Second = %s", asSubLinkString(part2.first, objs[1].getSubNames()[0]).c_str());
|
||||
doCommand(Doc, "App.activeDocument().%s.Constraints = App.activeDocument().%s.Constraints + [App.activeDocument().ActiveObject]", ConstGrp->getNameInDocument(), ConstGrp->getNameInDocument());
|
||||
|
||||
updateActive();
|
||||
//updateActive();
|
||||
doCommand(Doc, "Gui.ActiveDocument.setEdit('%s',0)", ConstrName.c_str());
|
||||
|
||||
commitCommand();
|
||||
|
@ -313,10 +313,12 @@ void CmdAssemblyConstraintFix::activated(int iMsg)
|
|||
doCommand(Doc, "App.activeDocument().ActiveObject.First = %s", asSubLinkString(part.first, objs[0].getSubNames()[0]).c_str());
|
||||
doCommand(Doc, "App.activeDocument().%s.Constraints = App.activeDocument().%s.Constraints + [App.activeDocument().ActiveObject]", ConstGrp->getNameInDocument(), ConstGrp->getNameInDocument());
|
||||
|
||||
updateActive();
|
||||
//updateActive();
|
||||
doCommand(Doc, "Gui.ActiveDocument.setEdit('%s',0)", ConstrName.c_str());
|
||||
|
||||
commitCommand();
|
||||
|
||||
Gui::Selection().clearCompleteSelection();
|
||||
}
|
||||
|
||||
|
||||
|
@ -380,11 +382,12 @@ void CmdAssemblyConstraintAngle::activated(int iMsg)
|
|||
doCommand(Doc, "App.activeDocument().ActiveObject.Second = %s", asSubLinkString(part2.first, objs[1].getSubNames()[0]).c_str());
|
||||
doCommand(Doc, "App.activeDocument().%s.Constraints = App.activeDocument().%s.Constraints + [App.activeDocument().ActiveObject]", ConstGrp->getNameInDocument(), ConstGrp->getNameInDocument());
|
||||
|
||||
updateActive();
|
||||
//updateActive();
|
||||
doCommand(Doc, "Gui.ActiveDocument.setEdit('%s',0)", ConstrName.c_str());
|
||||
|
||||
commitCommand();
|
||||
|
||||
Gui::Selection().clearCompleteSelection();
|
||||
}
|
||||
|
||||
|
||||
|
@ -448,10 +451,12 @@ void CmdAssemblyConstraintOrientation::activated(int iMsg)
|
|||
doCommand(Doc, "App.activeDocument().ActiveObject.Second = %s", asSubLinkString(part2.first, objs[1].getSubNames()[0]).c_str());
|
||||
doCommand(Doc, "App.activeDocument().%s.Constraints = App.activeDocument().%s.Constraints + [App.activeDocument().ActiveObject]", ConstGrp->getNameInDocument(), ConstGrp->getNameInDocument());
|
||||
|
||||
updateActive();
|
||||
//updateActive();
|
||||
doCommand(Doc, "Gui.ActiveDocument.setEdit('%s',0)", ConstrName.c_str());
|
||||
|
||||
commitCommand();
|
||||
|
||||
Gui::Selection().clearCompleteSelection();
|
||||
}
|
||||
|
||||
/******************************************************************************************/
|
||||
|
@ -514,10 +519,12 @@ void CmdAssemblyConstraintCoincidence::activated(int iMsg)
|
|||
doCommand(Doc, "App.activeDocument().ActiveObject.Second = %s", asSubLinkString(part2.first, objs[1].getSubNames()[0]).c_str());
|
||||
doCommand(Doc, "App.activeDocument().%s.Constraints = App.activeDocument().%s.Constraints + [App.activeDocument().ActiveObject]", ConstGrp->getNameInDocument(), ConstGrp->getNameInDocument());
|
||||
|
||||
updateActive();
|
||||
//updateActive();
|
||||
doCommand(Doc, "Gui.ActiveDocument.setEdit('%s',0)", ConstrName.c_str());
|
||||
|
||||
commitCommand();
|
||||
|
||||
Gui::Selection().clearCompleteSelection();
|
||||
}
|
||||
|
||||
/******************************************************************************************/
|
||||
|
@ -580,10 +587,12 @@ void CmdAssemblyConstraintAlignment::activated(int iMsg)
|
|||
doCommand(Doc, "App.activeDocument().ActiveObject.Second = %s", asSubLinkString(part2.first, objs[1].getSubNames()[0]).c_str());
|
||||
doCommand(Doc, "App.activeDocument().%s.Constraints = App.activeDocument().%s.Constraints + [App.activeDocument().ActiveObject]", ConstGrp->getNameInDocument(), ConstGrp->getNameInDocument());
|
||||
|
||||
updateActive();
|
||||
//updateActive();
|
||||
doCommand(Doc, "Gui.ActiveDocument.setEdit('%s',0)", ConstrName.c_str());
|
||||
|
||||
commitCommand();
|
||||
|
||||
Gui::Selection().clearCompleteSelection();
|
||||
}
|
||||
|
||||
void CreateAssemblyConstraintCommands(void)
|
||||
|
|
|
@ -420,7 +420,8 @@ void TaskAssemblyConstraints::setPossibleOptions() {
|
|||
|
||||
if(isCombination(g1,g2, dcm::geometry::line, dcm::geometry::cylinder) ||
|
||||
isCombination(g1,g2, dcm::geometry::plane, dcm::geometry::plane) ||
|
||||
isCombination(g1,g2, dcm::geometry::line, dcm::geometry::cylinder)) {
|
||||
isCombination(g1,g2, dcm::geometry::line, dcm::geometry::cylinder) ||
|
||||
isCombination(g1,g2, dcm::geometry::cylinder, dcm::geometry::cylinder)) {
|
||||
ui->parallel->setEnabled(true);
|
||||
ui->equal->setEnabled(true);
|
||||
ui->opposite->setEnabled(true);
|
||||
|
|
Loading…
Reference in New Issue
Block a user