PLM之家-NX9.0 二次开发实例视频-24 创建自定义基准CSYS
PLM之家-NX9.0 二次开发实例视频-24 创建自定义基准CSYS内容:
创建自定义基准CSYS控件使用,熟悉使用CSYS控件,熟悉使用NX Open C++进行对象的颜色修改。
目的:
使用CSYS控件可以获得一个基准坐标,对应基准坐标需要使用坐标创建才能得到,要想对基准坐标进行颜色的修改,需要对基准的所有自对象进行修改。
try
{
//---- Enter your callback code here -----
NXOpen::ListingWindow*lw = theSession->ListingWindow();
stringstream ss;
NXOpen::Vector3d xdir,ydir;
NXOpen::Point3d originPoint;
lw->Open();
ss << ("创建的坐标系统信息如下:\n");
std::vector<NXOpen::TaggedObject *> coordObjects = this->coord_system0->GetProperties()->GetTaggedObjectVector("SelectedObjects");
NXOpen::CartesianCoordinateSystem *coord = dynamic_cast<NXOpen::CartesianCoordinateSystem *>(coordObjects);
coord->GetDirections(&xdir,&ydir);
ss<<"返回的坐标系X方向矢量是:"<<xdir.X<<"\t"<<xdir.Y<<"\t"<<xdir.Z<<endl;
ss<<"返回的坐标系Y方向矢量是:"<<ydir.X<<"\t"<<ydir.Y<<"\t"<<ydir.Z<<endl;
originPoint = coord->Origin();
ss<<"返回的坐标系中心是:"<<originPoint.X<<"\t"<<originPoint.Y<<"\t"<<originPoint.Z<<endl;
lw->WriteLine(ss.str());
// create the csys
Part *workpart(theSession->Parts()->Work());
Features::Feature *null_feature(NULL);
Features::DatumCsysBuilder *datumCsysBuilder ;
datumCsysBuilder = workpart->Features()->CreateDatumCsysBuilder(null_feature);
datumCsysBuilder->SetCsys(coord);
//set the scale factor
datumCsysBuilder->SetDisplayScaleFactor(this->double0->GetProperties()->GetDouble("Value"));
datumCsysBuilder->Commit();
std::vector< NXOpen::NXObject * >GetCommittedObjects;
GetCommittedObjects=datumCsysBuilder->GetCommittedObjects();
datumCsysBuilder->Destroy();
// set the color
NXOpen::DisplayModification *displayObject;
displayObject = theSession->DisplayManager()->NewDisplayModification();
displayObject->SetApplyToAllFaces(true);
// get the color from the UI
std::vector<int> color = this->colorPicker0->GetProperties()->GetIntegerVector("Value");
displayObject->SetNewColor(color);
std::vector <DisplayableObject *> csysObject;
ss.clear();
ss.str("");
ss<<"一个坐标系生成的对象有几个:"<< GetCommittedObjects.size()<<endl;
lw->WriteLine(ss.str());
for(unsigned int i = 0 ; i < GetCommittedObjects.size();i ++ )
{
csysObject.push_back( dynamic_cast<DisplayableObject *>(GetCommittedObjects));
}
displayObject->Apply(csysObject);
delete displayObject;
}
PLM之家-NX9.0二次开发实例 24 创建自定义基准CSYS控件使用(1)block UI创建
http://player.youku.com/player.php/sid/XMzA4Njg2ODI2OA==/v.swf <font size="5">PLM之家-NX9.0二次开发实例 24 创建自定义基准CSYS控件使用(2)项目创建</font><div><font size="5"><br></font></div><div>http://player.youku.com/player.php/sid/XMzA4Njg3MDM2MA==/v.swf<font size="5"><br></font><p></p><div><br></div><div><br></div></div> PLM之家-NX9.0二次开发实例 24 创建自定义基准CSYS控件使用(3)获取CSYS信息<p></p><div><br></div><div>http://player.youku.com/player.php/sid/XMzA4Njg3NDEwOA==/v.swf</div> PLM之家-NX9.0二次开发实例 24 创建自定义基准CSYS控件使用(4)创建csys对象
http://player.youku.com/player.php/sid/XMzA4Njg5MzM4MA==/v.swf
PLM之家-NX9.0二次开发实例 24 创建自定义基准CSYS控件使用(5)更改CSYS对象颜色
http://player.youku.com/player.php/sid/XMzA4Njg5OTAyMA==/v.swf
期待视频,,,, 楼主好厉害. 老大,顶你~ 22232ddddd 好好学习
dsfsgsdgsdg 学习学习。。。 相当给力,顶一个