Hello,
I have some difficulties to select a face by name inside an assembly.
The component selection works fine, I can see it in solidworks itself (green selection color) but when I do the loop on all faces, the currentFaceName variable is always empty "".
But in Solidworks when I right click on any face, "Face properties" the name is well displayed !
Does anyone know what's going on ?
Thanks
string currentFaceName;
SelectData swSelData = Document.SelectionManager.CreateSelectData();
bool status1 = Document.Extension.SelectByID2(componentName, TemplateName.Component, 0, 0, 0, false, 0, null, 0);
comp = Document.SelectionManager.GetSelectedObject6(1, -1);
body = comp.GetBody();
object[] tabFaces;
tabFaces = body.GetFaces();
for(int i=0; i
{
if (tabFaces[i] != null)
{
currentFaceName = Document.GetEntityName(tabFaces[i]);
if (currentFaceName == faceName)
{
Entity ent = (Entity)tabFaces[i];
bool status = ent.Select4(false, swSelData);
if (!status)
{
throw new Exception("!!! Fail to select face in assembly : " + faceName);
}
break;
}
}
}
SolidworksApi/macros