链式(路径)选取方式
void ZiDongWanTou::cycleLine()
{
Session *theSession = Session::GetSession();
Part *displayPart(theSession->Parts()->Display());
Part *workPart(theSession->Parts()->Work());
/////链先取方式
std::vector<TaggedObject*>objects1 = this->edge_select01->GetProperties()->GetTaggedObjectVector("SelectedObjects");
line1 = dynamic_cast<Line*>(objects1[0]);
lineNum.push_back(line1->Tag());
/*Point3d p11(0.0, 0.0, 0.0);*/
Point3d p12(0.0, 0.0, 0.0);
Point3d p21(0.0, 0.0, 0.0);
//Point3d p22(0.0, 0.0, 0.0);
for(int i=0;i<objects1.size()-1;i++)
{
for(int j=1;i<objects1.size()-1;j++)
{
line2 = dynamic_cast<Line*>(objects1[j]);
p12=line1->EndPoint();
p21=line2->StartPoint(); ////p12=p21
if((p12.X==p21.X)&&(p12.Y==p21.Y)&&(p12.Z==p21.Z))
{
lineNum.push_back(line2->Tag());
line1 = line2;
break;
}
}
}
/////链先取方式 /////链先取方式
////以下为全部遍历方式
//Features::Feature *fcList;
//std::vector<NXObject *> entitiesArray; //std::vector是一种数组定义方式
//Features::FeatureCollection *fc=workPart->Features();//迭代
//Features::FeatureCollection::iterator itr=fc->begin();//获得第一个特征
//for (;itr!=fc->end();++itr) //循环获得所有特征
//{
// fcList=(*itr); //获得特征赋值给fcList
// NXString featType = NULL;
// featType = fcList->FeatureType();
// /*theSession->ListingWindow()->WriteLine(fcList->FeatureType());*/
// if(!strcmp(featType.GetLocaleText(),"LINE"))
// {
// //lineNum.push_back(fcList->Tag());
// entitiesArray = fcList->GetEntities(); //GetEntities方法,实体下0对象,Lineg下1对对象,基准下7对象,点集下对象最多
// lineNum.push_back(entitiesArray[0]->Tag());
// }
//}
//以下为全部遍历方式
//line1 =dynamic_cast<Line *>(entitiesArray[0]);
/*for(int i=0;i<lineNum.size();i++)
//{
// //NXObjectManager::Get(lineNum[i]);//通过tag得到 TaggedObject 对象指针.
////line1 =dynamic_cast<Line *>( NXObjectManager::Get(lineNum[i])); //dynamic_cast 将 TaggedObject对象指针转换为实际的 NX 对象指针
}*/
/*line1 = dynamic_cast<Line*>(entitiesArray[0]);
line2 = dynamic_cast<Line*>(entitiesArray[0]); */
//line1 =dynamic_cast<Line *>( NXObjectManager::Get(lineNum[0])); //dynamic_cast 将 TaggedObject对象指针转换为实际的 NX 对象指针
//line2 =dynamic_cast<Line *>( NXObjectManager::Get(lineNum[1])); //dynamic_cast 将 TaggedObject对象指针转换为实际的 NX 对象指针
//以下为全部遍历方式 //以下为全部遍历方式 // //以下为全部遍历方式
}