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

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

  [复制链接]

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

320

主题

226

回帖

9784

积分

管理员

PLM之家NX|TC专家

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

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

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

x
PLM之家-NX9.0 二次开发实例视频-24 创建自定义基准CSYS
' s) U6 y7 R0 A. J: P
1 y3 ?0 v2 B9 u& v3 R  c9 l

" N2 \$ o$ m4 \' v内容:
8 L. R/ P* {  i. q# n$ d创建自定义基准CSYS控件使用,熟悉使用CSYS控件,熟悉使用NX Open C++进行对象的颜色修改。$ |* i( R- u; [
目的:
4 B2 L6 H. j+ [2 V/ J使用CSYS控件可以获得一个基准坐标,对应基准坐标需要使用坐标创建才能得到,要想对基准坐标进行颜色的修改,需要对基准的所有自对象进行修改。$ {% s2 w! x" c# Y* `
$ l. @0 E  T+ h3 Q+ k* E: ]

; |+ q! E0 e8 y- `4 z1 n3 T  u

1 R5 v5 ~0 F- O# [7 d# S4 a; E

24 创建自定义基准CSYS

24 创建自定义基准CSYS

; i  g8 z7 }; W5 N, V4 V( ?4 V

! K7 V1 S- f8 Y6 F; O9 i0 c; m
- ~9 ^) I2 y! _$ E* @
9 d4 V- R  {* L3 p! ]
  1. try' |5 ~. o  v5 b+ S" f- \
  2.     {
    ) b' O; J/ z$ J
  3.         //---- Enter your callback code here -----, t% t/ \, R- ~2 X) t. s
  4. # b$ W4 `; d( x( l2 A3 i
  5.                      NXOpen::ListingWindow  *lw = theSession->ListingWindow();, @, V  i/ M% m, b+ e% h3 a- H
  6.                          stringstream ss;0 ?* `' U9 Q% D# Q3 E% Z
  7.                         NXOpen::Vector3d xdir,ydir;
    . F  ?8 m% s" s5 v
  8.                         NXOpen::Point3d originPoint;4 u. y" \  m5 Q5 v
  9.                         lw->Open();
    8 z8 i, k: L3 h+ [* ^& k3 d
  10.                         ss << ("创建的坐标系统信息如下:\n");' V) @. u# @3 ]3 J' t4 ?+ F
  11.             std::vector<NXOpen::TaggedObject *> coordObjects = this->coord_system0->GetProperties()->GetTaggedObjectVector("SelectedObjects");
    7 {: P  ?4 e) g' ^, H) _. h5 ]
  12.                         NXOpen::CartesianCoordinateSystem *coord = dynamic_cast<NXOpen::CartesianCoordinateSystem *>(coordObjects[0]);
      ?* I7 v  D6 z3 K/ W! u
  13.                coord->GetDirections(&xdir,&ydir);
    , b% d- y, k2 a% }2 L) o7 [
  14.                         ss<<"返回的坐标系X方向矢量是:"<<xdir.X<<"\t"<<xdir.Y<<"\t"<<xdir.Z<<endl;
    5 v0 G1 q/ @+ C- g0 u  P) X9 {
  15.                         ss<<"返回的坐标系Y方向矢量是:"<<ydir.X<<"\t"<<ydir.Y<<"\t"<<ydir.Z<<endl;8 ~- B, j: W- O% x/ [
  16.                         originPoint = coord->Origin();9 Q% ^$ s4 w, E' x7 P4 [% ?
  17.                         ss<<"返回的坐标系中心是:"<<originPoint.X<<"\t"<<originPoint.Y<<"\t"<<originPoint.Z<<endl;
    5 F5 c( o! O, w; p3 f  U: _. b
  18.                         lw->WriteLine(ss.str());3 c" X" g& u+ O+ {4 \3 v
  19.                   // create the csys0 p; P: {! l% ~3 U' f' _# A" J3 Z
  20.                         Part *workpart(theSession->Parts()->Work());
    % J' D+ u# l4 t" `' ^
  21.                         Features::Feature *null_feature(NULL);
    ) G2 K; v: q& f/ s8 ?- }
  22.                         Features::DatumCsysBuilder *datumCsysBuilder ;
    0 v1 E  l+ n$ ?4 Q# _, l
  23.                         datumCsysBuilder = workpart->Features()->CreateDatumCsysBuilder(null_feature);) K0 j4 T( U! u) l) W4 C
  24.                         datumCsysBuilder->SeTCsys(coord);, q6 {5 e5 ^9 n1 ?  o
  25.                         //set the scale factor
    # w: ^4 ]  x8 l; K( t
  26.                         datumCsysBuilder->SetDisplayScaleFactor(this->double0->GetProperties()->GetDouble("Value"));3 t3 T6 m5 [% q. @
  27.                         datumCsysBuilder->Commit();
    - ?& r7 q" Y& I4 l7 }. h+ g: y
  28.                         std::vector< NXOpen::NXObject * >  GetCommittedObjects;
    & F2 ^  N2 @8 S5 B, @( m" u/ y+ ^
  29.                         GetCommittedObjects=datumCsysBuilder->GetCommittedObjects();
    % R% E. W( ]4 h+ v4 K6 u' s0 L3 O
  30.                         datumCsysBuilder->Destroy();
    9 B" e" b$ A" F, x; J
  31.                         // set the color
    ) J2 g  P& \6 Y  t# y. C
  32.                     NXOpen::DisplayModification *displayObject;
    # a2 Q; e2 [& w1 b
  33.                         displayObject = theSession->DisplayManager()->NewDisplayModification();! j+ F! |9 U1 M8 H5 T0 j8 ]/ t
  34.                         displayObject->SetApplyToAllFaces(true);' S, E5 h% q4 E, v& b
  35. 1 ~+ Q' u" R8 n. n. ]1 X
  36.                         // get the color from the UI$ q1 B' O# x) e' _
  37.                         std::vector<int> color = this->colorPicker0->GetProperties()->GetIntegerVector("Value");3 B5 s7 W) n7 i$ g2 Q
  38.                         displayObject->SetNewColor(color[0]);
    . i% p0 @% W( P

  39. 7 b2 T  x% ~* i
  40.                         std::vector <DisplayableObject *> csysObject;0 b; Q/ j% R- Q( B6 ^
  41.                         ss.clear();
    2 P% a$ Y! \: S9 T# {7 E& @  g
  42.                         ss.str("");
    7 [2 R; e" A7 C
  43.                         ss<<"一个坐标系生成的对象有几个:"<< GetCommittedObjects.size()<<endl;8 X( P# [0 T. B6 H) u1 D
  44.                         lw->WriteLine(ss.str());
    0 r. }% {% o6 N# I, h" g" t
  45.                         for(unsigned int i = 0 ; i < GetCommittedObjects.size();i ++ )6 i; a6 W; H* a& w" {3 ~
  46.                         {
      y4 Y3 o$ M: G( p. S& l2 \3 [
  47.                                 csysObject.push_back(        dynamic_cast<DisplayableObject *>(GetCommittedObjects[i]));
    ( p  _7 x5 y) U  R' w7 \1 c
  48.                         }
    - l. M- p2 D  G! A+ g
  49.                         displayObject->Apply(csysObject);' h. A/ A6 y. J9 w1 }
  50.                         delete displayObject;# q1 w7 E1 Q( g
  51.     }
复制代码
7 j& J. T! `' Y) c
: m2 ^; E% I8 i  p
5 Y1 u# @: ]* Q$ A0 E9 W
3 I% y3 G$ m; E( c+ T2 m

+ a- F# u4 v3 a! n
7 B# m( k* |: o$ L6 ?
该会员没有填写今日想说内容.
回复

使用道具 举报

全部回复127

320

主题

226

回帖

9784

积分

管理员

PLM之家NX|TC专家

积分
9784
 楼主| 发表于 2013-12-2 20:43:58 | 显示全部楼层
PLM之家-NX9.0二次开发实例 24 创建自定义基准CSYS控件使用(1)block UI创建" A5 f; [0 b8 a' J) ]! Z- k 6 y8 _/ v* c3 g' @
该会员没有填写今日想说内容.
回复 支持 反对

使用道具 举报

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对象
9 V4 O8 p* R% I' d. r1 M
% w) J( ?5 u& Y( S4 n

3 d; S1 e# N7 `8 S! Y5 s1 w* q3 Z
7 ?! Y7 k9 p7 G7 j5 F# N" n
上海点团信息科技有限公司,承接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对象颜色" u3 x( B/ R( j9 Z
2 \) `4 `* _# G
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了