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

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

  [复制链接]

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

320

主题

226

回帖

9784

积分

管理员

PLM之家NX|TC专家

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

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

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

x
PLM之家-NX9.0 二次开发实例视频-24 创建自定义基准CSYS
- N* r4 \- ^- |, a! y8 S
, P- |  a, r6 s$ e4 |
/ ]2 C- x% p! _& v% J- ]3 z+ b: l+ [
内容:
1 E4 ]. {+ V2 P) M) F+ K创建自定义基准CSYS控件使用,熟悉使用CSYS控件,熟悉使用NX Open C++进行对象的颜色修改。
( C/ _+ ^# n% J+ f, q% d目的:
& M. D9 _2 P7 P7 s( ^使用CSYS控件可以获得一个基准坐标,对应基准坐标需要使用坐标创建才能得到,要想对基准坐标进行颜色的修改,需要对基准的所有自对象进行修改。
$ U! s2 _; B6 Z! `, T2 F# U: l8 F
0 u' ~+ I+ Y1 E5 j* u; m* `
0 \, b) `( L" o+ g8 P1 ~

24 创建自定义基准CSYS

24 创建自定义基准CSYS
+ D& F) ?$ c' [- r& L/ ^
- F) v/ f. J# p, f
6 w! I7 F4 u$ K8 _( E
) ]- I2 \  g: P% d4 l
  1. try3 |0 h+ G2 T7 r  |! r: T) {
  2.     {2 Q2 b# I- S+ {/ Y
  3.         //---- Enter your callback code here -----" @/ p* D1 S1 h4 e6 N5 x: t
  4. 6 ]! t7 V7 M1 m7 [& w2 ?$ D
  5.                      NXOpen::ListingWindow  *lw = theSession->ListingWindow();# R6 j( V5 Y- K7 ]9 A( x+ j, `, ]
  6.                          stringstream ss;
    . q" d8 g: w& X( E
  7.                         NXOpen::Vector3d xdir,ydir;
    : l% @: u$ R+ g$ G. z6 Y
  8.                         NXOpen::Point3d originPoint;
    " H& M" u! J6 A3 H6 u
  9.                         lw->Open();$ O8 q+ N- F( ~3 ^* l) U  R
  10.                         ss << ("创建的坐标系统信息如下:\n");
    2 m3 t1 @  v$ W3 _
  11.             std::vector<NXOpen::TaggedObject *> coordObjects = this->coord_system0->GetProperties()->GetTaggedObjectVector("SelectedObjects");% g: M8 B: X; z0 I. s* e
  12.                         NXOpen::CartesianCoordinateSystem *coord = dynamic_cast<NXOpen::CartesianCoordinateSystem *>(coordObjects[0]);: t2 L$ B( A1 o- d3 f, T
  13.                coord->GetDirections(&xdir,&ydir);
    / u/ q& S$ V! B
  14.                         ss<<"返回的坐标系X方向矢量是:"<<xdir.X<<"\t"<<xdir.Y<<"\t"<<xdir.Z<<endl;7 Y( D" i; X1 ^# o) D5 J
  15.                         ss<<"返回的坐标系Y方向矢量是:"<<ydir.X<<"\t"<<ydir.Y<<"\t"<<ydir.Z<<endl;* H, g4 }, s! T% z$ f; V+ x& H
  16.                         originPoint = coord->Origin();* ?% R4 n, U; T! T
  17.                         ss<<"返回的坐标系中心是:"<<originPoint.X<<"\t"<<originPoint.Y<<"\t"<<originPoint.Z<<endl;
    6 r$ t0 P' [* K3 l  }% Y
  18.                         lw->WriteLine(ss.str());; N" r5 U5 Q- t/ M
  19.                   // create the csys* c7 H+ D# j' f  i6 i  _: B
  20.                         Part *workpart(theSession->Parts()->Work());5 R: R, C# ]9 _$ Y: z
  21.                         Features::Feature *null_feature(NULL);, R5 I/ a5 `; \* T  b' L
  22.                         Features::DatumCsysBuilder *datumCsysBuilder ;
    # \  f! [$ ~4 v- I, @
  23.                         datumCsysBuilder = workpart->Features()->CreateDatumCsysBuilder(null_feature);
    " b9 H! u8 M- ?4 Q: J$ n( T% ?
  24.                         datumCsysBuilder->SeTCsys(coord);
    0 E# B, T1 m6 q! K! K
  25.                         //set the scale factor
    , X( v( {9 d; k1 D# p
  26.                         datumCsysBuilder->SetDisplayScaleFactor(this->double0->GetProperties()->GetDouble("Value"));& Y" `+ c" |, t
  27.                         datumCsysBuilder->Commit();
    ) B7 j, G/ k3 x; p# c  p# M
  28.                         std::vector< NXOpen::NXObject * >  GetCommittedObjects;
    - X7 O8 _% |3 E7 k3 x. Q
  29.                         GetCommittedObjects=datumCsysBuilder->GetCommittedObjects();. i% Q/ u9 r* H. J6 l0 Y5 ~
  30.                         datumCsysBuilder->Destroy();8 v. b( f  i, R' B2 W( `* H7 }& J
  31.                         // set the color
    - i1 I; s7 ^3 P2 i
  32.                     NXOpen::DisplayModification *displayObject;+ L9 i( s. n! x& m
  33.                         displayObject = theSession->DisplayManager()->NewDisplayModification();
    ' ^" p' n$ G5 n4 d( H! U
  34.                         displayObject->SetApplyToAllFaces(true);
    ' ]5 _  [3 i$ W; J; G
  35. $ y6 d6 K) W& v
  36.                         // get the color from the UI7 z4 G4 V: @$ S( g
  37.                         std::vector<int> color = this->colorPicker0->GetProperties()->GetIntegerVector("Value");
    + {5 F0 H( U+ G
  38.                         displayObject->SetNewColor(color[0]);- s9 _; Y- y7 `# K5 I9 I3 t6 o

  39. " E- `3 X2 H7 F* G0 }& H
  40.                         std::vector <DisplayableObject *> csysObject;
    : P, K! H0 \0 K- n9 p0 v1 t) q& C
  41.                         ss.clear();( ^3 s% X  S8 R) s, {1 g  H
  42.                         ss.str("");
    9 g( H0 g# g* S$ i" M
  43.                         ss<<"一个坐标系生成的对象有几个:"<< GetCommittedObjects.size()<<endl;1 h6 M0 y9 g3 [! k" `
  44.                         lw->WriteLine(ss.str());3 H" l8 v) W7 u' ~1 O# \
  45.                         for(unsigned int i = 0 ; i < GetCommittedObjects.size();i ++ )
    6 j' U* I; j5 e  Q. b- v
  46.                         {6 B& b; @' h9 ^5 f
  47.                                 csysObject.push_back(        dynamic_cast<DisplayableObject *>(GetCommittedObjects[i]));
    - F3 X# M9 R- e0 D1 ~
  48.                         }: ?0 X7 X" G1 h! t. ~; T% E7 Z
  49.                         displayObject->Apply(csysObject);+ C* I) `0 ?! P' @/ H* c$ r# s
  50.                         delete displayObject;* y' C. j1 f5 C- G) q
  51.     }
复制代码

, m' J+ E- W- s  F! E7 \& E1 h2 v+ ~/ b
! m8 y- r: O6 U1 a
1 D; @& w% {! M2 Q
- e% U( u: P; Q$ u& _
3 `; t0 p* F: E# z6 [
该会员没有填写今日想说内容.
回复

使用道具 举报

全部回复127

320

主题

226

回帖

9784

积分

管理员

PLM之家NX|TC专家

积分
9784
 楼主| 发表于 2013-12-2 20:43:58 | 显示全部楼层
PLM之家-NX9.0二次开发实例 24 创建自定义基准CSYS控件使用(1)block UI创建, R& Y1 L7 ^; {, }* K: G ( ^; t+ L+ V8 U5 B
该会员没有填写今日想说内容.
回复 支持 反对

使用道具 举报

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对象
/ n2 F0 b% A$ T! f
; A$ k  X) S; N6 ?
% [4 `" u, s5 t! N

. s3 ?7 t& r1 G# z6 ?; u
上海点团信息科技有限公司,承接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对象颜色! K6 n: j9 ~5 }

. e5 _, F4 |8 c4 I* F' m, C1 s
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了