Fix #3401 warning on multiple solid

- PartDesign only uses the first result shape
  of an operation and discards the rest without
  warning.

- this also fixes #1707
This commit is contained in:
wandererfan
2018-07-13 10:23:42 -03:00
committed by Yorik van Havre
parent c6b3949704
commit 883a726d52
14 changed files with 106 additions and 2 deletions
@@ -331,6 +331,7 @@ App::DocumentObjectExecReturn *Transformed::execute(void)
// lets check if the result is a solid
if (current.IsNull())
return new App::DocumentObjectExecReturn("Resulting shape is not a solid", *o);
/*std::vector<TopoDS_Shape>::const_iterator individualIt;
for (individualIt = individualTools.begin(); individualIt != individualTools.end(); ++individualIt)
{
@@ -377,6 +378,11 @@ App::DocumentObjectExecReturn *Transformed::execute(void)
for (rej_it_map::const_iterator it = nointersect_trsfms.begin(); it != nointersect_trsfms.end(); ++it)
for (trsf_it::const_iterator it2 = it->second.begin(); it2 != it->second.end(); ++it2)
rejected[it->first].push_back(**it2);
int solidCount = countSolids(support);
if (solidCount > 1) {
return new App::DocumentObjectExecReturn("Transformed: Result has multiple solids. Check parameters.");
}
this->Shape.setValue(getSolid(support));