PLM之家PLMHome-国产软件践行者

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

  [复制链接]

2013-12-28 12:02:42 39709 127

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

mildcat 楼主

2013-12-2 20:43:43

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

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

x
PLM之家-NX9.0 二次开发实例视频-24 创建自定义基准CSYS
1 y) `3 M0 Y1 h+ O: r
- Y# v" S2 b& k8 r4 H( Q
9 ]( `/ q! ?' ?: l
内容:
& [: `& q" X7 E: \& c创建自定义基准CSYS控件使用,熟悉使用CSYS控件,熟悉使用NX Open C++进行对象的颜色修改。
8 y0 }: ?7 o& e9 ~' j. {# m目的:6 {! n6 N! ^) p. O/ P; h
使用CSYS控件可以获得一个基准坐标,对应基准坐标需要使用坐标创建才能得到,要想对基准坐标进行颜色的修改,需要对基准的所有自对象进行修改。
9 E: ?: V5 X; l  T$ k  U" F' p7 y# |; t

- }3 c" J+ E- \( J

2 T  \8 Q" R' f) ~

24 创建自定义基准CSYS

24 创建自定义基准CSYS
/ B- E" Z) Z: t3 a( t; C4 W
& f/ @0 f9 w& M2 {0 N$ `' Y

6 V; R  z+ B0 V# ^# v2 b) A

6 q1 o: o! R) P& v
  1. try
    ) X7 m! o. W& e9 s& v: c2 B
  2.     {
    9 j9 G& |' F" ]: m. G
  3.         //---- Enter your callback code here ------ y- E, j* k& @' n8 l# ~
  4. & M  l9 h% B& L# I; V) B/ k# x
  5.                      NXOpen::ListingWindow  *lw = theSession->ListingWindow();
    6 o  R2 }5 _2 S" p. _
  6.                          stringstream ss;
    $ ]7 Y" k) g/ d% t( {. \5 s5 h
  7.                         NXOpen::Vector3d xdir,ydir;
    + o" A7 L' e2 I
  8.                         NXOpen::Point3d originPoint;+ \! S$ r' o/ T) e! O
  9.                         lw->Open();3 p3 m4 P3 ~  n$ ]! x! Z; A
  10.                         ss << ("创建的坐标系统信息如下:\n");. y5 J$ o, @% e7 t& H. ]
  11.             std::vector<NXOpen::TaggedObject *> coordObjects = this->coord_system0->GetProperties()->GetTaggedObjectVector("SelectedObjects");& i( f3 y7 d" j4 A: `9 z% _
  12.                         NXOpen::CartesianCoordinateSystem *coord = dynamic_cast<NXOpen::CartesianCoordinateSystem *>(coordObjects[0]);
    # ^! |0 k8 \/ V/ x) z( v: X& w
  13.                coord->GetDirections(&xdir,&ydir);
    + G: ?2 D- @% E: L/ @
  14.                         ss<<"返回的坐标系X方向矢量是:"<<xdir.X<<"\t"<<xdir.Y<<"\t"<<xdir.Z<<endl;% J" w% I# E! R
  15.                         ss<<"返回的坐标系Y方向矢量是:"<<ydir.X<<"\t"<<ydir.Y<<"\t"<<ydir.Z<<endl;
    & @6 T* @- {; s& V/ N; ~$ V3 R
  16.                         originPoint = coord->Origin();9 f5 o' S  l7 t9 q+ ^' ^! E
  17.                         ss<<"返回的坐标系中心是:"<<originPoint.X<<"\t"<<originPoint.Y<<"\t"<<originPoint.Z<<endl;$ s  q, ^3 ~6 k+ h
  18.                         lw->WriteLine(ss.str());
    % R1 I2 w7 n' B2 ]
  19.                   // create the csys
    3 B3 ]6 {, J  Z5 _3 y! I( X
  20.                         Part *workpart(theSession->Parts()->Work());7 {8 H/ u2 U7 o% H, E: y
  21.                         Features::Feature *null_feature(NULL);; y& q5 I& H9 ^# B8 O/ G
  22.                         Features::DatumCsysBuilder *datumCsysBuilder ;) h* O2 E* p! c/ n
  23.                         datumCsysBuilder = workpart->Features()->CreateDatumCsysBuilder(null_feature);1 y# @. {7 r" M; Z6 o
  24.                         datumCsysBuilder->SeTCsys(coord);
    + ~. e1 P1 Z  R
  25.                         //set the scale factor5 g/ J9 E8 k+ W$ T! @  h% G
  26.                         datumCsysBuilder->SetDisplayScaleFactor(this->double0->GetProperties()->GetDouble("Value"));
    / P) h* H) I" F! o' Y
  27.                         datumCsysBuilder->Commit();5 T4 c! Q2 J. U) s/ M
  28.                         std::vector< NXOpen::NXObject * >  GetCommittedObjects;% O- O& Z8 ?9 N4 B; \
  29.                         GetCommittedObjects=datumCsysBuilder->GetCommittedObjects();8 W/ p8 @! E9 J1 D
  30.                         datumCsysBuilder->Destroy();; ^8 e5 P! T  |0 ?$ |
  31.                         // set the color
    1 n  s! S2 v5 |1 G
  32.                     NXOpen::DisplayModification *displayObject;
    9 l& D8 _# i0 x1 B* B# ?4 K/ M" T4 ]
  33.                         displayObject = theSession->DisplayManager()->NewDisplayModification();* B' V/ y# W  B  Y. a# t/ Q
  34.                         displayObject->SetApplyToAllFaces(true);5 s) Z! _4 T8 v  f" W; ?$ [( S* C

  35. $ S$ y" f$ _( T3 B9 ^0 U
  36.                         // get the color from the UI
    : \6 K9 H! r2 j  I( o9 U8 A9 h1 j8 v2 g% m
  37.                         std::vector<int> color = this->colorPicker0->GetProperties()->GetIntegerVector("Value");9 O3 l0 ~# l3 O2 X7 p
  38.                         displayObject->SetNewColor(color[0]);2 u, L& T: [; Z7 v9 {8 v8 y3 i/ ]

  39. 7 s1 e$ U( u. L8 V6 w
  40.                         std::vector <DisplayableObject *> csysObject;
    ' s) I# p* r% a" W$ \# j
  41.                         ss.clear();
    3 @3 A% Z+ u4 t% v) M8 |
  42.                         ss.str("");
    % i! D6 ]5 ~0 m$ J0 H5 w
  43.                         ss<<"一个坐标系生成的对象有几个:"<< GetCommittedObjects.size()<<endl;  A3 V" h1 f0 k) `, I& u8 F: b3 C
  44.                         lw->WriteLine(ss.str());
    3 x) [5 e" g5 ?
  45.                         for(unsigned int i = 0 ; i < GetCommittedObjects.size();i ++ )
    # Q: w* K) Y- }& i4 ], j7 i* t
  46.                         {
    9 I/ o4 U" X; Q
  47.                                 csysObject.push_back(        dynamic_cast<DisplayableObject *>(GetCommittedObjects[i]));. u- I" b/ K  X
  48.                         }$ f# B' }* `& W! K, c+ g# m1 j
  49.                         displayObject->Apply(csysObject);
    & c. n/ O# f; C) u- l7 K+ I2 O
  50.                         delete displayObject;
    3 L/ a* p1 U; F$ u7 r( z
  51.     }
复制代码

' Q4 d" o5 D1 F0 V; v7 ~
% i! t# f+ S9 ?0 |5 W* y6 o5 G

$ G, M& D4 h- B0 f3 S4 r. q: J- ^: P. V) P4 i% I+ f
' O, Z4 j) n$ l
5 r3 J9 K$ I2 A
该会员没有填写今日想说内容.
回复

使用道具 举报

全部回复127

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

mildcat 来自 2#

2013-12-2 20:43:58

PLM之家-NX9.0二次开发实例 24 创建自定义基准CSYS控件使用(1)block UI创建 $ @1 C0 p' S% ~+ F0 u2 f+ n x) L( S4 a
该会员没有填写今日想说内容.
回复 支持 反对

使用道具 举报

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

admin 来自 #

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 网址 www.diantuankj.com/ doTeam.tech
回复 支持 反对

使用道具 举报

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

admin 来自 #

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 网址 www.diantuankj.com/ doTeam.tech
回复 支持 反对

使用道具 举报

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

admin 来自 #

2017-10-15 15:27:00

PLM之家-NX9.0二次开发实例 24 创建自定义基准CSYS控件使用(4)创建csys对象
  R* ?+ s& _5 A9 W! P
. ], N2 y, L8 M. j' U
3 [; t* l( x/ `# `, O2 f% }

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

使用道具 举报

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

admin 来自 #

2017-10-15 15:27:52

PLM之家-NX9.0二次开发实例 24 创建自定义基准CSYS控件使用(5)更改CSYS对象颜色& ^! I, w# j- w0 ~, e5 u
& k( ~* E& _/ g' Q1 l
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ 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二次开发专题模块培训报名开始啦

    我知道了