PLM之家PLMHome-工业软件践行者

[原创视频] PLM之家-NX9.0 二次开发实例视频-24 创建自定义基准CSYS

  [复制链接]

2013-12-28 12:02:42 40993 133

mildcat 发表于 2013-12-2 20:43:43 |阅读模式

mildcat 楼主

2013-12-2 20:43:43

请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!

您需要 登录 才可以下载或查看,没有账号?注册

x
PLM之家-NX9.0 二次开发实例视频-24 创建自定义基准CSYS- N* H3 O% q( y

7 x; E3 |8 ^/ W8 b) @) F2 l
3 c2 {9 S' W$ N
内容:
1 E* q$ d: ?6 L/ ^创建自定义基准CSYS控件使用,熟悉使用CSYS控件,熟悉使用NX Open C++进行对象的颜色修改。
) M( d  U' D' |) D" A8 U6 P& y, l* q目的:8 t' I* K+ y" s( {
使用CSYS控件可以获得一个基准坐标,对应基准坐标需要使用坐标创建才能得到,要想对基准坐标进行颜色的修改,需要对基准的所有自对象进行修改。( G% c2 }# y4 {1 t: q2 ?% N

4 W+ ^4 P  k" @) `7 L9 K5 d) @# j# N& B: q* n
! I! o+ q: ~2 g( O3 H1 g

24 创建自定义基准CSYS

24 创建自定义基准CSYS
3 d7 f- v# a0 b

3 B  }. e+ n: B* y+ ^
/ j! P, c6 ^/ q3 L$ S8 Y

3 x6 U& u/ v" R
  1. try6 j9 K4 A* A( u9 L5 @& g3 a
  2.     {
    ( U4 N+ X+ M9 S& k8 S1 g
  3.         //---- Enter your callback code here -----1 d; l% k( y7 a$ c, I
  4. ( D( U* U1 P9 q
  5.                      NXOpen::ListingWindow  *lw = theSession->ListingWindow();; ?; O( ?. P6 X  T" \# j0 C
  6.                          stringstream ss;
    1 x7 v$ e1 k8 ^& \7 {
  7.                         NXOpen::Vector3d xdir,ydir;- Z1 Y4 {# q9 F& T( T
  8.                         NXOpen::Point3d originPoint;
    : t, @9 H- Y+ G5 m6 E$ [
  9.                         lw->Open();
    " U: L0 b1 `' e% W
  10.                         ss << ("创建的坐标系统信息如下:\n");
    6 r8 n; l  \* p8 t# S
  11.             std::vector<NXOpen::TaggedObject *> coordObjects = this->coord_system0->GetProperties()->GetTaggedObjectVector("SelectedObjects");
    7 R# ~: n) G2 D8 Q) @: J
  12.                         NXOpen::CartesianCoordinateSystem *coord = dynamic_cast<NXOpen::CartesianCoordinateSystem *>(coordObjects[0]);  A0 N/ z, T/ W- i, A
  13.                coord->GetDirections(&xdir,&ydir);
    / G* P- J* g, }: O7 A
  14.                         ss<<"返回的坐标系X方向矢量是:"<<xdir.X<<"\t"<<xdir.Y<<"\t"<<xdir.Z<<endl;. Q8 x  ]9 I6 t. Y* p' X, U
  15.                         ss<<"返回的坐标系Y方向矢量是:"<<ydir.X<<"\t"<<ydir.Y<<"\t"<<ydir.Z<<endl;; z8 q5 i- p4 J% q
  16.                         originPoint = coord->Origin();
    + |6 l( H; l. X: s# h
  17.                         ss<<"返回的坐标系中心是:"<<originPoint.X<<"\t"<<originPoint.Y<<"\t"<<originPoint.Z<<endl;
    - Y9 M' x$ P, B* n* Q
  18.                         lw->WriteLine(ss.str());, K& S0 W; w/ g& t' w
  19.                   // create the csys) D1 ?# q. C' U. c
  20.                         Part *workpart(theSession->Parts()->Work());1 t* m& c0 D. Q
  21.                         Features::Feature *null_feature(NULL);
    1 c) a9 R4 s: o. E" W
  22.                         Features::DatumCsysBuilder *datumCsysBuilder ;
    2 R& ?# Z, G6 I6 r8 n
  23.                         datumCsysBuilder = workpart->Features()->CreateDatumCsysBuilder(null_feature);
    " \( T( L( L; o' S5 a/ q" h* G! X
  24.                         datumCsysBuilder->SeTCsys(coord);
    ) U  B) t! ^4 a( {- J) f
  25.                         //set the scale factor
    ; P/ |- @: D% d7 r  a) U
  26.                         datumCsysBuilder->SetDisplayScaleFactor(this->double0->GetProperties()->GetDouble("Value"));; V0 p; U, c2 L( e
  27.                         datumCsysBuilder->Commit();1 J3 N# r, w1 o! B; K8 s
  28.                         std::vector< NXOpen::NXObject * >  GetCommittedObjects;
    * n" E+ M% p( A4 b* h/ B9 K
  29.                         GetCommittedObjects=datumCsysBuilder->GetCommittedObjects();
      U. u% N% N2 S- G4 o2 I
  30.                         datumCsysBuilder->Destroy();5 d) ?4 F+ d6 a' T' N0 \% Y; K
  31.                         // set the color
    0 ^, S" i8 L9 @5 v/ p6 @% C
  32.                     NXOpen::DisplayModification *displayObject;
    ' q% ^: a% s4 W8 f6 v
  33.                         displayObject = theSession->DisplayManager()->NewDisplayModification();
    / k+ f6 L( s, c/ F& u
  34.                         displayObject->SetApplyToAllFaces(true);0 d8 t4 a8 {, \" `# n5 i& V! O

  35. . g7 U+ `  v" c" o2 }  F
  36.                         // get the color from the UI
    ! M1 ^, u3 R, \$ T+ h! o& V
  37.                         std::vector<int> color = this->colorPicker0->GetProperties()->GetIntegerVector("Value");
    , c1 l" m) s* W6 s
  38.                         displayObject->SetNewColor(color[0]);
    ' ~7 [( V5 V0 t% `! Q
  39. ; t0 i+ w& y% i, o, t) l
  40.                         std::vector <DisplayableObject *> csysObject;5 }5 o9 t( x7 W6 S
  41.                         ss.clear();/ Q7 A: z" y  T9 t0 k( V+ O
  42.                         ss.str("");
    8 ]; e( d; p/ f2 B1 L- F
  43.                         ss<<"一个坐标系生成的对象有几个:"<< GetCommittedObjects.size()<<endl;; R/ v( X% F2 k' i+ z' u% X
  44.                         lw->WriteLine(ss.str());6 {7 I2 a! }: H- A6 V$ Y
  45.                         for(unsigned int i = 0 ; i < GetCommittedObjects.size();i ++ )- {* U- ]( k- v) [5 l7 E/ M& @
  46.                         {# p" C$ D& v# V' G
  47.                                 csysObject.push_back(        dynamic_cast<DisplayableObject *>(GetCommittedObjects[i]));- `8 w6 }. P& m7 f5 }4 w  G5 q9 `
  48.                         }
    ! k. C: c5 E% f: U2 h; m. M
  49.                         displayObject->Apply(csysObject);  B; O3 ?* v/ Q8 O- n: n) K) h
  50.                         delete displayObject;
    ) {: f! F. g4 v, n, P) P
  51.     }
复制代码

! u( P7 e( S* ^/ l. G  ]& C* b8 k# x: |7 v6 U5 S/ m
# |6 C  b  L; }5 X  x; K
0 [7 k$ u) Q/ ?! y) t2 z1 ^# G
4 M5 `! W6 |7 x3 H: x6 b/ J
1 Y4 y( W$ N7 Q
该会员没有填写今日想说内容.
回复

使用道具 举报

全部回复127

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

mildcat 来自 2#

2013-12-2 20:43:58

PLM之家-NX9.0二次开发实例 24 创建自定义基准CSYS控件使用(1)block UI创建 ; [" R: K/ \9 a+ e4 U* Y/ k* y {# [( V& \. {
该会员没有填写今日想说内容.
回复 支持 反对

使用道具 举报

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

admin 来自 131#

2017-10-15 15:24:39

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




上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 doTeam.tech
回复 支持 反对

使用道具 举报

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

admin 来自 132#

2017-10-15 15:25:58

PLM之家-NX9.0二次开发实例 24 创建自定义基准CSYS控件使用(3)获取CSYS信息


上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 doTeam.tech
回复 支持 反对

使用道具 举报

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

admin 来自 133#

2017-10-15 15:27:00

PLM之家-NX9.0二次开发实例 24 创建自定义基准CSYS控件使用(4)创建csys对象
4 V9 X4 Y* p' d8 q, Y, U3 _) T
  h; n7 e$ x6 Y) \8 Z

& W: ~, E+ i) ~1 C  C
, U1 u3 ^: F' M( Z& I5 Y8 [
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 doTeam.tech
回复 支持 反对

使用道具 举报

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

admin 来自 134#

2017-10-15 15:27:52

PLM之家-NX9.0二次开发实例 24 创建自定义基准CSYS控件使用(5)更改CSYS对象颜色7 ]7 [+ N" J, y. J) y

0 i  F, z4 P9 W/ W- W+ H  I: `
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 doTeam.tech
回复 支持 反对

使用道具 举报

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

东沟恋君 地板

2013-12-8 15:37:44

楼主好厉害.
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复 支持 反对

使用道具 举报

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

大叔跳shuffle 6#

2013-12-15 11:33:02

22232ddddd
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复 支持 反对

使用道具 举报

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

累了就休息 8#

2013-12-23 12:17:57

dsfsgsdgsdg
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复 支持 反对

使用道具 举报

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

泰山小猪 10#

2013-12-28 12:02:42

相当给力,顶一个
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复 支持 反对

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 注册

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

    本网站(plmhome.com)为PLM之家工业软件学习官网站

    展示的视频材料全部免费,需要高清和特殊技术支持请联系 QQ: 939801026

    PLM之家NX CAM二次开发专题模块培训报名开始啦

    我知道了