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

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

  [复制链接]

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

320

主题

226

回帖

9784

积分

管理员

PLM之家NX|TC专家

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

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

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

x
PLM之家-NX9.0 二次开发实例视频-24 创建自定义基准CSYS
$ w: |# b* W# m0 i, }
3 l9 _% s: R9 T; \# P
6 [# [  P7 g* t* q: E: u' _
内容:1 M6 i+ t* F. P7 K
创建自定义基准CSYS控件使用,熟悉使用CSYS控件,熟悉使用NX Open C++进行对象的颜色修改。
$ r3 `! i( A! J6 |目的:
' M/ G6 f4 P0 Z使用CSYS控件可以获得一个基准坐标,对应基准坐标需要使用坐标创建才能得到,要想对基准坐标进行颜色的修改,需要对基准的所有自对象进行修改。
0 H7 `2 B8 n& X4 u3 G5 ]' N  t
) p% s2 C% I+ W! W" a  w  x- T+ b
& B' K' J  ^5 S0 y0 h
6 i) y$ c+ Z  N9 S

24 创建自定义基准CSYS

24 创建自定义基准CSYS
$ j- ?: \: i$ E4 I; v; X! d1 {
$ @9 X1 L% J6 a0 \9 _

! ^! O! x% d, g# |, }+ y4 U

7 F, L# N. Z; b+ R
  1. try  V$ D: Y3 S3 M
  2.     {. S# D0 Q- U- @- s/ P
  3.         //---- Enter your callback code here -----' M, }7 H0 E* z0 ~5 h" \2 o

  4. 8 v7 Y) y$ Q8 i5 I
  5.                      NXOpen::ListingWindow  *lw = theSession->ListingWindow();
    9 h* I, n( Q6 ^6 \
  6.                          stringstream ss;! j3 k% f1 Y0 t0 ~
  7.                         NXOpen::Vector3d xdir,ydir;- p  @6 w! `; N0 f- K+ y
  8.                         NXOpen::Point3d originPoint;! Y$ S8 X, Q; z& H1 H+ M$ g
  9.                         lw->Open();
    , U" z0 G, i; Q- ?
  10.                         ss << ("创建的坐标系统信息如下:\n");7 N8 `5 _/ e3 m& p' f. l, d6 Q3 f
  11.             std::vector<NXOpen::TaggedObject *> coordObjects = this->coord_system0->GetProperties()->GetTaggedObjectVector("SelectedObjects");; X/ [9 l- q) p2 z; L, e
  12.                         NXOpen::CartesianCoordinateSystem *coord = dynamic_cast<NXOpen::CartesianCoordinateSystem *>(coordObjects[0]);
    5 K9 T# _) k7 B
  13.                coord->GetDirections(&xdir,&ydir);# s9 X5 a. X; Q4 x
  14.                         ss<<"返回的坐标系X方向矢量是:"<<xdir.X<<"\t"<<xdir.Y<<"\t"<<xdir.Z<<endl;
    8 r! F& W& ^+ c) ~4 W& X) Y
  15.                         ss<<"返回的坐标系Y方向矢量是:"<<ydir.X<<"\t"<<ydir.Y<<"\t"<<ydir.Z<<endl;  C9 D) z0 X4 M' @( n0 p& _
  16.                         originPoint = coord->Origin();
    3 q& p& f  ^9 w2 G% m
  17.                         ss<<"返回的坐标系中心是:"<<originPoint.X<<"\t"<<originPoint.Y<<"\t"<<originPoint.Z<<endl;
    $ H1 I1 _% F- J& d) t
  18.                         lw->WriteLine(ss.str());
    # ?, `/ i! G; M% X: {1 [& n. b
  19.                   // create the csys8 h) Z9 ]6 y2 K- D
  20.                         Part *workpart(theSession->Parts()->Work());
    ) h9 ?' i) m9 r9 v: e
  21.                         Features::Feature *null_feature(NULL);& i3 j; n9 l  K$ ?& N
  22.                         Features::DatumCsysBuilder *datumCsysBuilder ;
    ; W8 E7 I4 A- \# S1 U1 S
  23.                         datumCsysBuilder = workpart->Features()->CreateDatumCsysBuilder(null_feature);7 f4 E/ a, d# H0 M) r
  24.                         datumCsysBuilder->SeTCsys(coord);
    7 L8 i( w5 F) A: w" I' G! W
  25.                         //set the scale factor% H( _% ^2 p& |! A
  26.                         datumCsysBuilder->SetDisplayScaleFactor(this->double0->GetProperties()->GetDouble("Value"));1 \0 [$ S7 V% H$ A3 n! F
  27.                         datumCsysBuilder->Commit();! B, u7 x. W( E2 o$ K
  28.                         std::vector< NXOpen::NXObject * >  GetCommittedObjects;2 i  R1 {* V8 i# V4 K4 X/ e
  29.                         GetCommittedObjects=datumCsysBuilder->GetCommittedObjects();
    8 H& ?; H) W) \% _* q0 }* k
  30.                         datumCsysBuilder->Destroy();$ O% J/ p" M; U2 _9 ^1 \
  31.                         // set the color  |- a3 D% A$ R1 N, E
  32.                     NXOpen::DisplayModification *displayObject;
    : U2 S5 ]3 M1 U* |) b
  33.                         displayObject = theSession->DisplayManager()->NewDisplayModification();* i: a: Z, C# _7 l
  34.                         displayObject->SetApplyToAllFaces(true);
    % z8 I' h) s- N- v

  35. 0 {7 H; `1 q$ \2 q8 `
  36.                         // get the color from the UI8 B# w: ]! S/ E" s' c/ d' _0 t* Q
  37.                         std::vector<int> color = this->colorPicker0->GetProperties()->GetIntegerVector("Value");& n* |5 G$ g% S( N# i
  38.                         displayObject->SetNewColor(color[0]);
    2 G, y$ p1 e3 a+ {9 \8 `
  39. ; ]: L- t( g( p0 f2 C* E) C
  40.                         std::vector <DisplayableObject *> csysObject;
    + s2 e+ H8 Z6 E/ R. v; @( i! c
  41.                         ss.clear();
    " b  V8 x5 a# a
  42.                         ss.str("");( U: d4 H" ^  B4 \" ]
  43.                         ss<<"一个坐标系生成的对象有几个:"<< GetCommittedObjects.size()<<endl;- o" u- \7 |+ d/ e9 P# g
  44.                         lw->WriteLine(ss.str());+ `5 L  I5 t6 C3 g+ R
  45.                         for(unsigned int i = 0 ; i < GetCommittedObjects.size();i ++ )
    9 Y/ [# I4 O' |" s
  46.                         {8 R3 _: U; y- s$ Q! g0 I6 \- ^
  47.                                 csysObject.push_back(        dynamic_cast<DisplayableObject *>(GetCommittedObjects[i]));
    1 W( \  v( r; X" R/ C1 L
  48.                         }/ n9 B1 N0 c8 U. X7 W
  49.                         displayObject->Apply(csysObject);
    7 q# M4 t5 g7 p& x, K
  50.                         delete displayObject;! F( l5 i# z( J2 S$ k2 B, B
  51.     }
复制代码
% H+ c1 ^4 e; p/ P

) `7 [, w2 v) ^' b0 k

6 P. {5 r; a! t. p
7 H' V6 x' Y' s; S/ r, `; B

/ o" V+ w: d- P, _3 s* r9 K- i5 R
: N$ g" n  v, [& L, x
该会员没有填写今日想说内容.
回复

使用道具 举报

全部回复127

320

主题

226

回帖

9784

积分

管理员

PLM之家NX|TC专家

积分
9784
 楼主| 发表于 2013-12-2 20:43:58 | 显示全部楼层
PLM之家-NX9.0二次开发实例 24 创建自定义基准CSYS控件使用(1)block UI创建3 X: s# W* u: @1 v - Q/ O5 v9 M0 T+ ]/ [; @( z8 {
该会员没有填写今日想说内容.
回复 支持 反对

使用道具 举报

2471

主题

1276

回帖

8万

积分

管理员

PLM之家站长

积分
82201
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
回复 支持 反对

使用道具 举报

2471

主题

1276

回帖

8万

积分

管理员

PLM之家站长

积分
82201
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
回复 支持 反对

使用道具 举报

2471

主题

1276

回帖

8万

积分

管理员

PLM之家站长

积分
82201
QQ
发表于 2017-10-15 15:27:00 | 显示全部楼层
PLM之家-NX9.0二次开发实例 24 创建自定义基准CSYS控件使用(4)创建csys对象* I- K1 u! a; P1 K0 T0 q; n* v
& O0 x$ T7 x# x. [+ l0 t$ }4 M7 A! P
3 g6 o3 @' a, w3 v

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

使用道具 举报

2471

主题

1276

回帖

8万

积分

管理员

PLM之家站长

积分
82201
QQ
发表于 2017-10-15 15:27:52 | 显示全部楼层
PLM之家-NX9.0二次开发实例 24 创建自定义基准CSYS控件使用(5)更改CSYS对象颜色
7 W1 j" h7 i& F- o
$ n6 i% C& R% Q
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了