Mantis issue 0021778: [CEA 612] MakeSolid on an unclosed shell in TUI

This commit is contained in:
jfa 2012-08-06 13:39:16 +00:00
parent 3d2b867351
commit 8fb1906b75
2 changed files with 14 additions and 6 deletions

View File

@ -258,11 +258,13 @@ bool BuildGUI_SolidDlg::isValid (QString& msg)
GEOM::MeasureOpPtr anOp; GEOM::MeasureOpPtr anOp;
anOp.take(myGeomGUI->GetGeomGen()->GetIMeasureOperations(getStudyId())); anOp.take(myGeomGUI->GetGeomGen()->GetIMeasureOperations(getStudyId()));
for ( int i = 0, n = myShells.count(); i < n && ok; i++ ) { if (!GroupSolid->CheckButton1->isChecked() || myShells.count() == 1) {
CORBA::String_var aRes = anOp->IsGoodForSolid(myShells[i].get()); for (int i = 0, n = myShells.count(); i < n && ok; i++) {
if (strlen(aRes.in())) { CORBA::String_var aRes = anOp->IsGoodForSolid(myShells[i].get());
msg = QObject::tr(aRes.in()).arg(GEOMBase::GetName(myShells[i].get())); if (strlen(aRes.in())) {
ok = false; msg = QObject::tr(aRes.in()).arg(GEOMBase::GetName(myShells[i].get()));
ok = false;
}
} }
} }
return ok; return ok;

View File

@ -3016,7 +3016,7 @@ class geompyDC(GEOM._objref_GEOM_Gen):
# @return New GEOM.GEOM_Object, containing the created solid. # @return New GEOM.GEOM_Object, containing the created solid.
# #
# @ref tui_creation_solid "Example" # @ref tui_creation_solid "Example"
def MakeSolid(self,theShells): def MakeSolid(self, theShells):
""" """
Create a solid, bounded by the given shells. Create a solid, bounded by the given shells.
@ -3027,6 +3027,12 @@ class geompyDC(GEOM._objref_GEOM_Gen):
New GEOM.GEOM_Object, containing the created solid. New GEOM.GEOM_Object, containing the created solid.
""" """
# Example: see GEOM_TestAll.py # Example: see GEOM_TestAll.py
if len(theShells) == 1:
descr = self.MeasuOp.IsGoodForSolid(theShells[0])
#if len(descr) > 0:
# raise RuntimeError, "MakeSolidShells : " + descr
if descr == "WRN_SHAPE_UNCLOSED":
raise RuntimeError, "MakeSolidShells : Unable to create solid from unclosed shape"
anObj = self.ShapesOp.MakeSolidShells(theShells) anObj = self.ShapesOp.MakeSolidShells(theShells)
RaiseIfFailed("MakeSolidShells", self.ShapesOp) RaiseIfFailed("MakeSolidShells", self.ShapesOp)
return anObj return anObj