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

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

  [复制链接]

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

320

主题

226

回帖

9784

积分

管理员

PLM之家NX|TC专家

积分
9784
发表于 2013-12-2 20:43:43 | 显示全部楼层 |阅读模式

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

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

x
PLM之家-NX9.0 二次开发实例视频-24 创建自定义基准CSYS
; R/ y* Y! [# Q" K7 [- k' K. u0 Z" K1 }: b

. ~- J9 @, S" y) [/ u  O内容:
) {) S3 D6 ]3 Y创建自定义基准CSYS控件使用,熟悉使用CSYS控件,熟悉使用NX Open C++进行对象的颜色修改。
. K% D  {* S1 G2 B7 d8 E" E6 R; w' k目的:
. G7 S; e) m+ E, ~2 i0 T使用CSYS控件可以获得一个基准坐标,对应基准坐标需要使用坐标创建才能得到,要想对基准坐标进行颜色的修改,需要对基准的所有自对象进行修改。& t. B( F1 G7 x( Y
6 ~+ u' R. e, y' T8 |

& v: {: W2 E2 M" `$ L# Y6 U" i

6 s9 A, {4 l" Y

24 创建自定义基准CSYS

24 创建自定义基准CSYS

" u, G* o3 E3 `6 k
/ t% r+ C8 C, d5 R

$ `8 G% T; ^: n
7 B; t5 d1 K4 L* Q
  1. try4 M% {1 x$ A' p2 Q7 [, E3 d
  2.     {
    1 M+ s: \) `8 Y. U2 j, N2 r
  3.         //---- Enter your callback code here -----
    * M: `0 f# ^. n1 J, q% `0 @: G
  4. 2 D! u% j" P% f. H& n! v9 [( E
  5.                      NXOpen::ListingWindow  *lw = theSession->ListingWindow();
    - W/ {- x( G* N, Y. B7 F+ I
  6.                          stringstream ss;
    8 h# t# H/ F/ u  }
  7.                         NXOpen::Vector3d xdir,ydir;
    % y. C2 T" U. p2 ^' Y& q5 G& i- M* _
  8.                         NXOpen::Point3d originPoint;" \# n+ V( t- n$ J, W/ A
  9.                         lw->Open();
    # e' T" C# H: s/ M) U, @
  10.                         ss << ("创建的坐标系统信息如下:\n");
    . T3 B8 V4 `& H8 R4 [' i$ p
  11.             std::vector<NXOpen::TaggedObject *> coordObjects = this->coord_system0->GetProperties()->GetTaggedObjectVector("SelectedObjects");# F) g# V5 R) l
  12.                         NXOpen::CartesianCoordinateSystem *coord = dynamic_cast<NXOpen::CartesianCoordinateSystem *>(coordObjects[0]);: k% y0 r7 J5 h( P) @3 Y: i; D, z
  13.                coord->GetDirections(&xdir,&ydir);
    4 T: E6 M$ D% y0 n( d
  14.                         ss<<"返回的坐标系X方向矢量是:"<<xdir.X<<"\t"<<xdir.Y<<"\t"<<xdir.Z<<endl;, G2 W2 i( I+ `! W: Y
  15.                         ss<<"返回的坐标系Y方向矢量是:"<<ydir.X<<"\t"<<ydir.Y<<"\t"<<ydir.Z<<endl;
    ! C" ?% X; j, l5 \) y, u8 |
  16.                         originPoint = coord->Origin();! Z7 Y) A+ h8 O% Z5 r
  17.                         ss<<"返回的坐标系中心是:"<<originPoint.X<<"\t"<<originPoint.Y<<"\t"<<originPoint.Z<<endl;
    - m  q' G* o* A8 K3 {* r
  18.                         lw->WriteLine(ss.str());* |, Z! H9 j1 o6 I' f: j  \$ n
  19.                   // create the csys6 h5 N" w/ X% V* X( e4 v( {
  20.                         Part *workpart(theSession->Parts()->Work());
    ) n8 J4 `7 |) U% A3 L$ Q% E
  21.                         Features::Feature *null_feature(NULL);
    + L5 }1 O6 H8 R. C& A, a* K6 x( W
  22.                         Features::DatumCsysBuilder *datumCsysBuilder ;
    ( `9 S6 a4 |( X1 g5 L  i  |( X8 \& R
  23.                         datumCsysBuilder = workpart->Features()->CreateDatumCsysBuilder(null_feature);
    $ Z" t* {7 G* U! q* p
  24.                         datumCsysBuilder->SeTCsys(coord);! S9 h$ V8 A6 s* a0 D
  25.                         //set the scale factor
    5 }; _: `) N, D- ]4 F( P- h! a& B
  26.                         datumCsysBuilder->SetDisplayScaleFactor(this->double0->GetProperties()->GetDouble("Value"));$ F. Y3 R# P7 p6 T& B
  27.                         datumCsysBuilder->Commit();7 f0 R' G# j, }5 p/ X' l6 C
  28.                         std::vector< NXOpen::NXObject * >  GetCommittedObjects;
    7 U" b0 p$ k. q: q
  29.                         GetCommittedObjects=datumCsysBuilder->GetCommittedObjects();, G! G# X0 K- s  v: Z, g6 F4 K
  30.                         datumCsysBuilder->Destroy();
    ; B5 _; P4 S, T; K( X9 u
  31.                         // set the color" T, K( @' ?2 H
  32.                     NXOpen::DisplayModification *displayObject;7 }; B0 ~/ b) P6 a( N3 ^' e7 o
  33.                         displayObject = theSession->DisplayManager()->NewDisplayModification();
    - [* x; f# U0 t# d9 l$ Z/ p- Y$ H: }
  34.                         displayObject->SetApplyToAllFaces(true);
    6 H) T! V4 @, t" B! Q& _7 s1 K

  35. 8 ~2 z+ M0 I- @
  36.                         // get the color from the UI, H2 q' K% U& i6 b# a
  37.                         std::vector<int> color = this->colorPicker0->GetProperties()->GetIntegerVector("Value");2 r9 g' J" _! x! _1 i) d
  38.                         displayObject->SetNewColor(color[0]);
    ' O1 A1 z7 e# l2 n" H3 r1 T

  39. 9 l4 ]) l( o. L" x
  40.                         std::vector <DisplayableObject *> csysObject;
    1 d/ g6 r0 p7 i) `; X7 D
  41.                         ss.clear();& Q. N$ h: k& V# x6 @% E
  42.                         ss.str("");7 g5 @( ^+ l2 r1 w
  43.                         ss<<"一个坐标系生成的对象有几个:"<< GetCommittedObjects.size()<<endl;/ q6 G/ H. ~$ a' [
  44.                         lw->WriteLine(ss.str());
    ' I% Q5 i( x2 D
  45.                         for(unsigned int i = 0 ; i < GetCommittedObjects.size();i ++ )8 I: T) z# M  a) u' R6 [' f) p- G
  46.                         {  S5 F+ N0 P3 |
  47.                                 csysObject.push_back(        dynamic_cast<DisplayableObject *>(GetCommittedObjects[i]));
    2 ?/ f3 u8 Y; ^
  48.                         }: r: k+ K+ }5 r1 W. e; j
  49.                         displayObject->Apply(csysObject);4 e# J+ U' o# K/ i2 q
  50.                         delete displayObject;
    3 t4 H& J/ X  j
  51.     }
复制代码

# ?1 ^6 {& G' V, y& _- `; G: K$ ]
: B) e) j0 D7 k; R4 {- W) g2 |

- I! n0 n8 k" X/ e8 h+ h
; ?! J+ S$ \) c) c! H* C  H) h0 f

2 ]- z6 d# x9 f, _$ v; j( q) {) [8 ]/ d. r0 x% ?
该会员没有填写今日想说内容.
回复

使用道具 举报

全部回复127

320

主题

226

回帖

9784

积分

管理员

PLM之家NX|TC专家

积分
9784
 楼主| 发表于 2013-12-2 20:43:58 | 显示全部楼层
PLM之家-NX9.0二次开发实例 24 创建自定义基准CSYS控件使用(1)block UI创建8 x2 k' ]0 g% \& a$ N4 ^ # B r$ s9 T }
该会员没有填写今日想说内容.
回复 支持 反对

使用道具 举报

2470

主题

1275

回帖

8万

积分

管理员

PLM之家站长

积分
82162
QQ
发表于 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
回复 支持 反对

使用道具 举报

2470

主题

1275

回帖

8万

积分

管理员

PLM之家站长

积分
82162
QQ
发表于 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
回复 支持 反对

使用道具 举报

2470

主题

1275

回帖

8万

积分

管理员

PLM之家站长

积分
82162
QQ
发表于 2017-10-15 15:27:00 | 显示全部楼层
PLM之家-NX9.0二次开发实例 24 创建自定义基准CSYS控件使用(4)创建csys对象
/ A$ ~* w7 {0 s  G( {4 x
* ~8 c; f. F$ s1 P0 B& O

$ |5 K- E4 |4 `; j! L
4 l0 Y( ?+ @. x& R- f5 U/ `
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 doTeam.tech
回复 支持 反对

使用道具 举报

2470

主题

1275

回帖

8万

积分

管理员

PLM之家站长

积分
82162
QQ
发表于 2017-10-15 15:27:52 | 显示全部楼层
PLM之家-NX9.0二次开发实例 24 创建自定义基准CSYS控件使用(5)更改CSYS对象颜色
; a( ]5 `6 o6 I, u3 k; Q, u
+ n$ B3 m. y7 A0 ]$ Z% J7 D* S. k
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 doTeam.tech
回复 支持 反对

使用道具 举报

0

主题

64

回帖

358

积分

中级会员

积分
358
发表于 2013-12-8 15:37:44 | 显示全部楼层
楼主好厉害.
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复 支持 反对

使用道具 举报

0

主题

16

回帖

44

积分

新手上路

积分
44
发表于 2013-12-15 11:33:02 | 显示全部楼层
22232ddddd
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复 支持 反对

使用道具 举报

0

主题

25

回帖

88

积分

注册会员

积分
88
发表于 2013-12-23 12:17:57 | 显示全部楼层
dsfsgsdgsdg
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复 支持 反对

使用道具 举报

13

主题

92

回帖

443

积分

中级会员

积分
443
发表于 2013-12-28 12:02:42 | 显示全部楼层
相当给力,顶一个
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复 支持 反对

使用道具 举报

发表回复

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

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

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

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

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

    我知道了