mildcat 发表于 2013-12-2 20:43:43

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;
    }





mildcat 发表于 2013-12-2 20:43:58

PLM之家-NX9.0二次开发实例 24 创建自定义基准CSYS控件使用(1)block UI创建

http://player.youku.com/player.php/sid/XMzA4Njg2ODI2OA==/v.swf

admin 发表于 2017-10-15 15:24:39

<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>

admin 发表于 2017-10-15 15:25:58

PLM之家-NX9.0二次开发实例 24 创建自定义基准CSYS控件使用(3)获取CSYS信息<p></p><div><br></div><div>http://player.youku.com/player.php/sid/XMzA4Njg3NDEwOA==/v.swf</div>

admin 发表于 2017-10-15 15:27:00

PLM之家-NX9.0二次开发实例 24 创建自定义基准CSYS控件使用(4)创建csys对象


http://player.youku.com/player.php/sid/XMzA4Njg5MzM4MA==/v.swf

admin 发表于 2017-10-15 15:27:52

PLM之家-NX9.0二次开发实例 24 创建自定义基准CSYS控件使用(5)更改CSYS对象颜色
http://player.youku.com/player.php/sid/XMzA4Njg5OTAyMA==/v.swf

笑看人生 发表于 2013-12-3 09:47:38

期待视频,,,,

东沟恋君 发表于 2013-12-8 15:37:44

楼主好厉害.

kakadong 发表于 2013-12-11 22:37:40

老大,顶你~

大叔跳shuffle 发表于 2013-12-15 11:33:02

22232ddddd

玉火车 发表于 2013-12-18 22:55:57

好好学习

累了就休息 发表于 2013-12-23 12:17:57

dsfsgsdgsdg

C_X_J 发表于 2013-12-24 10:29:06

学习学习。。。

泰山小猪 发表于 2013-12-28 12:02:42

相当给力,顶一个
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: PLM之家-NX9.0 二次开发实例视频-24 创建自定义基准CSYS