mirror of
https://git.salome-platform.org/gitpub/modules/smesh.git
synced 2024-11-12 00:29:17 +05:00
#17636 [CEA 17369] Extrusion by normal: along average normal option issue
This commit is contained in:
parent
c64a5dc488
commit
2c751a0edd
@ -5850,6 +5850,11 @@ SMESH_MeshEditor::ExtrusionSweep (TIDSortedElemSet theElemSets[2],
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
if ( theParams.ToMakeBoundary() )
|
||||||
|
{
|
||||||
|
GetMeshDS()->Modified();
|
||||||
|
throw SALOME_Exception( SMESH_Comment("Can't extrude node #") << node->GetID() );
|
||||||
|
}
|
||||||
break; // newNodesItVec will be shorter than nbNodes
|
break; // newNodesItVec will be shorter than nbNodes
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1223,8 +1223,8 @@ bool SMESHGUI_ExtrusionDlg::ClickOnApply()
|
|||||||
bool byAverageNormal = ByAverageNormalCheck->isChecked();
|
bool byAverageNormal = ByAverageNormalCheck->isChecked();
|
||||||
int dim = (maxSelType == SMESH::FACE) ? 2 : 1;
|
int dim = (maxSelType == SMESH::FACE) ? 2 : 1;
|
||||||
|
|
||||||
groups = meshEditor->ExtrusionByNormal( faces, stepSize, nbSteps, useInputElemsOnly,
|
groups = meshEditor->ExtrusionByNormal( faces, stepSize, nbSteps, byAverageNormal,
|
||||||
byAverageNormal, makeGroups, dim );
|
useInputElemsOnly, makeGroups, dim );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -1261,9 +1261,9 @@ bool SMESHGUI_ExtrusionDlg::ClickOnApply()
|
|||||||
SMESH::Update( actor->getIO(), actor->GetVisibility() );
|
SMESH::Update( actor->getIO(), actor->GetVisibility() );
|
||||||
if ( makeGroups )
|
if ( makeGroups )
|
||||||
mySMESHGUI->updateObjBrowser(true); // new groups may appear
|
mySMESHGUI->updateObjBrowser(true); // new groups may appear
|
||||||
Init(false);
|
|
||||||
mySelectionMgr->clearSelected();
|
mySelectionMgr->clearSelected();
|
||||||
SelectorWdg->Clear();
|
Init(false);
|
||||||
|
|
||||||
SMESHGUI::Modified();
|
SMESHGUI::Modified();
|
||||||
}
|
}
|
||||||
@ -1615,8 +1615,8 @@ void SMESHGUI_ExtrusionDlg::onDisplaySimulation( bool toDisplayPreview )
|
|||||||
bool byAverageNormal = ByAverageNormalCheck->isChecked();
|
bool byAverageNormal = ByAverageNormalCheck->isChecked();
|
||||||
int dim = (maxSelType == SMESH::FACE) ? 2 : 1;
|
int dim = (maxSelType == SMESH::FACE) ? 2 : 1;
|
||||||
|
|
||||||
groups = meshEditor->ExtrusionByNormal( faces, stepSize, nbSteps, useInputElemsOnly,
|
groups = meshEditor->ExtrusionByNormal( faces, stepSize, nbSteps, byAverageNormal,
|
||||||
byAverageNormal, makeGroups, dim );
|
useInputElemsOnly, makeGroups, dim );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -5595,6 +5595,8 @@ class Mesh(metaclass = MeshMeta):
|
|||||||
if isinstance( Elements, list ):
|
if isinstance( Elements, list ):
|
||||||
if not Elements:
|
if not Elements:
|
||||||
raise RuntimeError("Elements empty!")
|
raise RuntimeError("Elements empty!")
|
||||||
|
if isinstance( Elements[0], Mesh ):
|
||||||
|
Elements = [ Elements[0].GetMesh() ]
|
||||||
if isinstance( Elements[0], int ):
|
if isinstance( Elements[0], int ):
|
||||||
Elements = self.GetIDSource( Elements, SMESH.ALL )
|
Elements = self.GetIDSource( Elements, SMESH.ALL )
|
||||||
unRegister.set( Elements )
|
unRegister.set( Elements )
|
||||||
|
Loading…
Reference in New Issue
Block a user