void optimizeFace(tag_t tempBody)
{
Session* theSession = Session::GetSession();
Part* workPart(theSession->Parts()->Work());
Part* displayPart(theSession->Parts()->Display());
Features::OptimizeFaceBuilder* optimizeFaceBuilder1;
optimizeFaceBuilder1 = workPart->Features()->CreateOptimizeFaceBuilder();
optimizeFaceBuilder1->SetDistanceTolerance(0.0254);
Body* body1(dynamic_cast<Body*>(NXOpen::NXObjectManager::Get(tempBody)));
FaceBodyRule* faceBodyRule1;
faceBodyRule1 = workPart->ScRuleFactory()->CreateRuleFaceBody(body1);
std::vector<SelectionIntentRule*> rules1(1);
rules1[0] = faceBodyRule1;
optimizeFaceBuilder1->FacesToOptimize()->ReplaceRules(rules1, false);
optimizeFaceBuilder1->SetReport(0);
NXObject* nXObject1;
nXObject1 = optimizeFaceBuilder1->Commit();
optimizeFaceBuilder1->Destroy();
}