查看: 45436|回复: 127

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

 火... [复制链接]

320

主题

226

回帖

9784

积分

管理员

PLM之家NX|TC专家

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

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

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

×
PLM之家-NX9.0 二次开发实例视频-24 创建自定义基准CSYS
" G  m& n& F  g& x7 ?/ `0 l
! o- h# f3 M# b8 @: R. }% F8 K% o

; o. O4 y* X3 a& i" m内容:
/ m' S. ?4 x! w7 B创建自定义基准CSYS控件使用,熟悉使用CSYS控件,熟悉使用NX Open C++进行对象的颜色修改。
: Y& J- s- g9 ?6 _' L目的:
0 a" V! |' t8 r/ U6 ~* p使用CSYS控件可以获得一个基准坐标,对应基准坐标需要使用坐标创建才能得到,要想对基准坐标进行颜色的修改,需要对基准的所有自对象进行修改。/ N* V  z7 Z* T/ w

. n8 G/ d: U8 _) A6 ]: Y
2 O! \5 J$ f* O+ Q2 N' G
* v8 ]/ t8 d! [5 c& N

24 创建自定义基准CSYS

24 创建自定义基准CSYS
$ t1 W' w. N' k( C# m, [* S" G

& T8 K6 E# q. p+ Y
1 I4 Q4 z- C) A/ f/ h8 W
' N4 A2 i, v$ ?  Q. ~3 N% H, b% ]) m
  1. try: ~1 k$ A# D  k9 h; c) Z
  2.     {6 K* K& i7 i. E6 E: B
  3.         //---- Enter your callback code here -----* O- g! D( M& H" V  I

  4. ) e/ h3 }8 Q4 g; K; M7 ~# R& C
  5.                      NXOpen::ListingWindow  *lw = theSession->ListingWindow();- p, g! T2 S! Z& }% S/ D
  6.                          stringstream ss;4 [+ U. b1 G4 P9 P- I# S# Q
  7.                         NXOpen::Vector3d xdir,ydir;
    , X) T# I  T. d# T& H
  8.                         NXOpen::Point3d originPoint;
    3 }# L7 k1 r, d0 h- h
  9.                         lw->Open();
    " H- e1 X4 ~: d+ W
  10.                         ss << ("创建的坐标系统信息如下:\n");
    2 p/ R( M3 D9 [! H
  11.             std::vector<NXOpen::TaggedObject *> coordObjects = this->coord_system0->GetProperties()->GetTaggedObjectVector("SelectedObjects");
    $ Y0 n' X. @$ E( S6 u
  12.                         NXOpen::CartesianCoordinateSystem *coord = dynamic_cast<NXOpen::CartesianCoordinateSystem *>(coordObjects[0]);
    - l  Z0 \' P/ r0 ?
  13.                coord->GetDirections(&xdir,&ydir);# a8 R8 m1 s; k+ \
  14.                         ss<<"返回的坐标系X方向矢量是:"<<xdir.X<<"\t"<<xdir.Y<<"\t"<<xdir.Z<<endl;
    ( t/ o* ~9 }8 r' L+ R) j
  15.                         ss<<"返回的坐标系Y方向矢量是:"<<ydir.X<<"\t"<<ydir.Y<<"\t"<<ydir.Z<<endl;2 r' X; M1 \0 j% V
  16.                         originPoint = coord->Origin();
      A4 O; F$ l, @: v, v# N0 D" J' }; G
  17.                         ss<<"返回的坐标系中心是:"<<originPoint.X<<"\t"<<originPoint.Y<<"\t"<<originPoint.Z<<endl;
    & b& R! r& k! ?+ ]: B% E* Y6 O7 l
  18.                         lw->WriteLine(ss.str());. z& u3 Z: y3 w& c
  19.                   // create the csys
    ! b- X. Q  \; D( c
  20.                         Part *workpart(theSession->Parts()->Work());
    2 m8 l; t; Q* ^% `; g; I
  21.                         Features::Feature *null_feature(NULL);/ C7 {( _3 w" L9 {, a+ g
  22.                         Features::DatumCsysBuilder *datumCsysBuilder ;
    7 V; `. f% L+ o* F$ a+ w$ c! p  _
  23.                         datumCsysBuilder = workpart->Features()->CreateDatumCsysBuilder(null_feature);/ q: _: i- S7 |1 d5 \/ H/ I4 V
  24.                         datumCsysBuilder->SeTCsys(coord);6 }& W( j. M7 K! S2 b( _0 [
  25.                         //set the scale factor
    ' ]; s/ f  p- }" k
  26.                         datumCsysBuilder->SetDisplayScaleFactor(this->double0->GetProperties()->GetDouble("Value"));
      D& b5 P! h, V/ d( l# V. f/ F
  27.                         datumCsysBuilder->Commit();
    " }2 _! @4 i) J+ j# U
  28.                         std::vector< NXOpen::NXObject * >  GetCommittedObjects;! j+ I6 N* `% Z  \1 I. Z) E
  29.                         GetCommittedObjects=datumCsysBuilder->GetCommittedObjects();
    , D6 S1 ?* A6 A# p2 G2 x
  30.                         datumCsysBuilder->Destroy();8 C' d, U1 J/ s& G. r  K
  31.                         // set the color* \9 a1 B" F" @  l# Q$ ?9 l; a
  32.                     NXOpen::DisplayModification *displayObject;6 z, @" ~! }! z) O, @9 ?  m9 q
  33.                         displayObject = theSession->DisplayManager()->NewDisplayModification();* k9 R$ Q, w0 c' N+ E+ V) M
  34.                         displayObject->SetApplyToAllFaces(true);+ ?; u! K% E3 H) ?
  35. $ H, |4 c& r  ?: m$ N/ d1 f
  36.                         // get the color from the UI& n$ q/ W* A) ]9 z8 ^
  37.                         std::vector<int> color = this->colorPicker0->GetProperties()->GetIntegerVector("Value");$ t% r' I5 Y) d2 A7 A
  38.                         displayObject->SetNewColor(color[0]);+ u3 r; A: m% R! L; ]
  39. ) a: j2 m9 s, q0 |6 p- l
  40.                         std::vector <DisplayableObject *> csysObject;2 {7 ]' i5 }( t6 _3 j2 z2 p3 i% v
  41.                         ss.clear();
    " t4 Y( Y4 V1 B- E8 ~. ~/ R% ^
  42.                         ss.str("");
    ' w' U* l! C# {7 W: x" G
  43.                         ss<<"一个坐标系生成的对象有几个:"<< GetCommittedObjects.size()<<endl;  d: A; a/ ~+ ~1 A
  44.                         lw->WriteLine(ss.str());+ q- ]! A& T, p* N5 P
  45.                         for(unsigned int i = 0 ; i < GetCommittedObjects.size();i ++ )
    . ?, V/ x! `. p0 ?
  46.                         {
    0 h/ B# F; A: X! F7 t
  47.                                 csysObject.push_back(        dynamic_cast<DisplayableObject *>(GetCommittedObjects[i]));
    0 j7 B8 a4 o0 r2 p+ V. t/ p! [3 l7 H
  48.                         }
    7 J" P! i4 y! G1 W  w* L
  49.                         displayObject->Apply(csysObject);
    " N# v9 [5 U$ d! S4 t7 R! |
  50.                         delete displayObject;
    1 K. I( o+ x: x7 J2 W# _
  51.     }
复制代码

# I' y- v  m. U$ S0 L$ o) I1 C+ v1 i# k7 H  o; z& K
1 c8 e3 |: s' B
8 _! A" V0 w8 M) |! Q* Q# a. r0 C

: ]5 q: @! U7 t; m
5 \9 r) V' c- y) I+ G" a- T
该会员没有填写今日想说内容.
回复

使用道具 举报

320

主题

226

回帖

9784

积分

管理员

PLM之家NX|TC专家

积分
9784
 楼主| 发表于 2013-12-2 20:43:58 | 显示全部楼层
PLM之家-NX9.0二次开发实例 24 创建自定义基准CSYS控件使用(1)block UI创建7 h4 J, b n+ D+ {4 x8 e 4 j: W* I5 }# ?9 c# \
该会员没有填写今日想说内容.
回复 支持 反对

使用道具 举报

4

主题

4

回帖

52

积分

管理员

积分
52
发表于 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.doteam.tech
回复 支持 反对

使用道具 举报

4

主题

4

回帖

52

积分

管理员

积分
52
发表于 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.doteam.tech
回复 支持 反对

使用道具 举报

4

主题

4

回帖

52

积分

管理员

积分
52
发表于 2017-10-15 15:27:00 | 显示全部楼层
PLM之家-NX9.0二次开发实例 24 创建自定义基准CSYS控件使用(4)创建csys对象
. A3 ?) J/ ~9 U3 [4 o) B# |& X  g0 |% S0 s" W4 c7 Q! D
: u3 h! f: O# E4 G

$ o" Z- o8 l7 `0 D1 f
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复 支持 反对

使用道具 举报

4

主题

4

回帖

52

积分

管理员

积分
52
发表于 2017-10-15 15:27:52 | 显示全部楼层
PLM之家-NX9.0二次开发实例 24 创建自定义基准CSYS控件使用(5)更改CSYS对象颜色& Q! q9 v) _; O3 [

7 |7 j: E0 Q' L- t" N, k( M
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.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
回复 支持 反对

使用道具 举报

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

本版积分规则

在本版发帖
关注公众号
QQ客服返回顶部