PLM之家PLMHome-国产软件践行者

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

  [复制链接]

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

mildcat 发表于 2013-12-2 20:43:43 |阅读模式

mildcat 楼主

2013-12-2 20:43:43

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

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

x
PLM之家-NX9.0 二次开发实例视频-24 创建自定义基准CSYS
' ?6 k6 ], n9 m2 k1 p  S4 }/ C! Z, h6 }- T: B# [+ ^3 j: Q9 G

! w& i5 Q0 ?/ P) _3 i: d4 x内容:; Y4 a% t$ h: ~. e
创建自定义基准CSYS控件使用,熟悉使用CSYS控件,熟悉使用NX Open C++进行对象的颜色修改。
4 a# D3 `3 p1 E* Q4 x目的:7 a# u0 v! ^# x- @* u. K  V
使用CSYS控件可以获得一个基准坐标,对应基准坐标需要使用坐标创建才能得到,要想对基准坐标进行颜色的修改,需要对基准的所有自对象进行修改。
6 u) W/ ?" O# e0 f) b& c& l
+ i9 m8 |6 m: |/ y- D; E  R; [# _4 i) |! d% c; }1 z$ ]1 C( z
- [/ D% \# m$ Q4 ~0 y

24 创建自定义基准CSYS

24 创建自定义基准CSYS
' z; m. Q2 W+ |/ ~+ i
" `3 C# i2 r" K) d& H

% s, b6 J% T' L% K& Z! R

( W4 T1 `# g, _. Y0 c
  1. try) W7 ?* G( p$ ?) j
  2.     {9 w0 ~2 ], M7 u) ^6 T* ]( g
  3.         //---- Enter your callback code here -----  ^( ]! q" Z- O$ \

  4. . m: B2 C" [2 ~5 f/ @( \8 Q
  5.                      NXOpen::ListingWindow  *lw = theSession->ListingWindow();
    3 p. X0 l2 W( O  f
  6.                          stringstream ss;
    # q# j( T8 a2 ~& `
  7.                         NXOpen::Vector3d xdir,ydir;1 J: A8 Q  D* ~( g4 v1 [
  8.                         NXOpen::Point3d originPoint;
    + }" M0 Z# s6 R5 k* W. ^# w) @
  9.                         lw->Open();
    . B" ~% P% P9 K5 d; w! p8 @+ A. ]
  10.                         ss << ("创建的坐标系统信息如下:\n");  |6 b0 Z6 F# i, V. x* U, B
  11.             std::vector<NXOpen::TaggedObject *> coordObjects = this->coord_system0->GetProperties()->GetTaggedObjectVector("SelectedObjects");+ o+ r4 R; t! I& G  u
  12.                         NXOpen::CartesianCoordinateSystem *coord = dynamic_cast<NXOpen::CartesianCoordinateSystem *>(coordObjects[0]);
    , l+ J4 i, |) F! c' X, U$ y' R% Z+ u
  13.                coord->GetDirections(&xdir,&ydir);! Z- o  f* A( ~  h2 `* [" w
  14.                         ss<<"返回的坐标系X方向矢量是:"<<xdir.X<<"\t"<<xdir.Y<<"\t"<<xdir.Z<<endl;
    . E* C6 @. c1 b: k6 w, P* z- M
  15.                         ss<<"返回的坐标系Y方向矢量是:"<<ydir.X<<"\t"<<ydir.Y<<"\t"<<ydir.Z<<endl;- J/ X7 s( ~- H6 B" K/ ~
  16.                         originPoint = coord->Origin();
      p; u( p. q  k# z; }% F0 b
  17.                         ss<<"返回的坐标系中心是:"<<originPoint.X<<"\t"<<originPoint.Y<<"\t"<<originPoint.Z<<endl;8 }' j7 G+ r. U
  18.                         lw->WriteLine(ss.str());
    9 S/ \4 R2 {3 c8 w8 z6 n3 H  }7 a
  19.                   // create the csys
    0 O  Q, D7 V8 L" Z5 T
  20.                         Part *workpart(theSession->Parts()->Work());
    : E% E( Y& c; X2 y
  21.                         Features::Feature *null_feature(NULL);. E  I5 y6 B& i; q1 E$ O
  22.                         Features::DatumCsysBuilder *datumCsysBuilder ;. t4 x! z( k6 q6 P; T
  23.                         datumCsysBuilder = workpart->Features()->CreateDatumCsysBuilder(null_feature);
    + U4 u9 i8 M4 n& g
  24.                         datumCsysBuilder->SeTCsys(coord);
      Y- \. `/ t- e: E
  25.                         //set the scale factor/ v& M0 I4 Z5 R; }
  26.                         datumCsysBuilder->SetDisplayScaleFactor(this->double0->GetProperties()->GetDouble("Value"));' D6 s$ |7 w  E( Q5 _# r& B6 d. H
  27.                         datumCsysBuilder->Commit();  F3 [" U2 i( c
  28.                         std::vector< NXOpen::NXObject * >  GetCommittedObjects;" ~1 b% }  N% d/ c
  29.                         GetCommittedObjects=datumCsysBuilder->GetCommittedObjects();  @9 a& w  p( a% |2 s
  30.                         datumCsysBuilder->Destroy();0 `. z9 q* ?  @6 {
  31.                         // set the color/ t, b! B8 }0 l5 Z
  32.                     NXOpen::DisplayModification *displayObject;- E  w6 [+ @! J) Y  }" r& B
  33.                         displayObject = theSession->DisplayManager()->NewDisplayModification();
    ; n2 z( W( Z: l3 W2 O0 P7 h4 N
  34.                         displayObject->SetApplyToAllFaces(true);
    5 W; V& M0 I4 u0 X
  35. 4 h7 B$ j+ I6 [+ f9 i
  36.                         // get the color from the UI! J* K+ z+ Y; B; U" Y, y
  37.                         std::vector<int> color = this->colorPicker0->GetProperties()->GetIntegerVector("Value");' u" D8 |; y7 \3 H( D. S
  38.                         displayObject->SetNewColor(color[0]);
    $ G& U$ b' K% ~9 E
  39. ! L# S' P/ t" m+ }$ A& T6 q
  40.                         std::vector <DisplayableObject *> csysObject;
    * d( F* D" b9 Q# D
  41.                         ss.clear();3 f! x: U6 Q8 E+ ]6 X) [5 D$ E$ |5 [
  42.                         ss.str("");
    / D$ s7 |: e$ }3 m) \0 J8 w. Y
  43.                         ss<<"一个坐标系生成的对象有几个:"<< GetCommittedObjects.size()<<endl;
    ( M6 }8 [  o. k3 c( c  l) l
  44.                         lw->WriteLine(ss.str());
    % s* i! U' Q9 j4 \9 t4 C7 A
  45.                         for(unsigned int i = 0 ; i < GetCommittedObjects.size();i ++ )0 `1 ~1 S$ b6 g' `( o5 ]
  46.                         {
    5 F2 v6 O, t3 S. t3 z, A) E. S
  47.                                 csysObject.push_back(        dynamic_cast<DisplayableObject *>(GetCommittedObjects[i]));
    / X9 `1 y/ @$ r5 F: t7 T7 [
  48.                         }
    % b  I) a. A) U( ]( F6 [
  49.                         displayObject->Apply(csysObject);; s- z. O7 _: {
  50.                         delete displayObject;8 ?9 e6 D# z4 c4 l" {* x* z
  51.     }
复制代码
/ m6 A* v. ^0 `  |
' H$ V" f8 d( C

; i1 n- M9 e9 K3 @! L- l% O
4 {8 U$ b/ K8 }% N! W. Q. X
# X$ f$ w( u+ M) W: F
- X/ W5 e2 G  O
该会员没有填写今日想说内容.
回复

使用道具 举报

全部回复127

mildcat 发表于 2013-12-2 20:43:58

mildcat 来自 2#

2013-12-2 20:43:58

PLM之家-NX9.0二次开发实例 24 创建自定义基准CSYS控件使用(1)block UI创建 ' g {4 o7 W z 1 {! X. x6 |& z0 a
该会员没有填写今日想说内容.
回复 支持 反对

使用道具 举报

admin 发表于 2017-10-15 15:24:39

admin 来自 #

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.diantuankj.com/ doTeam.tech
回复 支持 反对

使用道具 举报

admin 发表于 2017-10-15 15:25:58

admin 来自 #

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.diantuankj.com/ doTeam.tech
回复 支持 反对

使用道具 举报

admin 发表于 2017-10-15 15:27:00

admin 来自 #

2017-10-15 15:27:00

PLM之家-NX9.0二次开发实例 24 创建自定义基准CSYS控件使用(4)创建csys对象6 Z! d; o8 c8 W; Z

! @8 f0 w! u6 _% [  z/ o: t0 @3 h

( B5 V3 W. B. `4 D* q! g4 a" K
1 _3 ?/ Q1 ?5 o9 ^' I' ^
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复 支持 反对

使用道具 举报

admin 发表于 2017-10-15 15:27:52

admin 来自 #

2017-10-15 15:27:52

PLM之家-NX9.0二次开发实例 24 创建自定义基准CSYS控件使用(5)更改CSYS对象颜色
' G2 N: o/ V% g( ^5 ?7 Y1 H  c: {% y
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复 支持 反对

使用道具 举报

东沟恋君 发表于 2013-12-8 15:37:44

东沟恋君 地板

2013-12-8 15:37:44

楼主好厉害.
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复 支持 反对

使用道具 举报

大叔跳shuffle 发表于 2013-12-15 11:33:02

大叔跳shuffle 6#

2013-12-15 11:33:02

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

使用道具 举报

累了就休息 发表于 2013-12-23 12:17:57

累了就休息 8#

2013-12-23 12:17:57

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

使用道具 举报

泰山小猪 发表于 2013-12-28 12:02:42

泰山小猪 10#

2013-12-28 12:02:42

相当给力,顶一个
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复 支持 反对

使用道具 举报

发表回复

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

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

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

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

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

    我知道了