NX二次开发-NXOpen方式遍历所有体workPart->Bodies();

NX11+VS2013

#include <NXOpen/DisplayManager.hxx>
#include <NXOpen/Body.hxx>
#include <NXOpen/BodyCollection.hxx>
#include <NXOpen/NXException.hxx>
#include <NXOpen/NXObject.hxx>
#include <NXOpen/Part.hxx>
#include <NXOpen/PartCollection.hxx>


NXOpen::Session *theSession = NXOpen::Session::GetSession();
NXOpen::Part *workPart(theSession->Parts()->Work());
NXOpen::Part *displayPart(theSession->Parts()->Display());

std::vector<tag_t> BodyVecotor;
NXOpen::Body *WorkBody;
NXOpen::BodyCollection *Bodys = workPart->Bodies();
NXOpen::BodyCollection::iterator Ite = Bodys->begin();
for (; Ite != Bodys->end(); ++Ite)
{
	WorkBody = (*Ite);
	BodyVecotor.push_back(WorkBody->Tag());

	NXOpen::DisplayModification *displayModification1;
	displayModification1 = theSession->DisplayManager()->NewDisplayModification();
	displayModification1->SetNewColor(36);
	std::vector<NXOpen::DisplayableObject *> objects1(1);
	NXOpen::Body *body1(dynamic_cast<NXOpen::Body *>(workPart->Bodies()->FindObject(WorkBody->JournalIdentifier())));
	objects1[0] = body1;
	displayModification1->Apply(objects1);		
}

char msg[256];
sprintf_s(msg, "当前有%d个体", BodyVecotor.size());
lw->Open();
lw->WriteLine(msg);

Caesar卢尚宇  [email protected]

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/lu1287580078/article/details/82928642