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

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

  [复制链接]

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

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

mildcat 楼主

2013-12-2 20:43:43

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

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

x
PLM之家-NX9.0 二次开发实例视频-24 创建自定义基准CSYS
( y+ i: S* w6 g$ B' ~6 `; I* s% M/ Q- ~' A" I0 m

% D3 X! K1 `' m6 {: ~8 y; U内容:" k. a2 H9 @9 D6 T( Z
创建自定义基准CSYS控件使用,熟悉使用CSYS控件,熟悉使用NX Open C++进行对象的颜色修改。) ]1 T9 S# U0 F% @3 _( a/ E+ `
目的:
# L3 e! W% W; u使用CSYS控件可以获得一个基准坐标,对应基准坐标需要使用坐标创建才能得到,要想对基准坐标进行颜色的修改,需要对基准的所有自对象进行修改。) F& X) b2 M' c7 m6 E7 P6 i

( I# @6 X7 j9 ?/ K" I8 |& d$ f- M, O4 x4 E) p

  G! O2 F# i6 w; m1 |; K/ b% b

24 创建自定义基准CSYS

24 创建自定义基准CSYS
: w1 S. K8 N# C( ^6 z7 A

* g1 E( |* y0 i9 ~- c) ?7 n8 W* O1 ?# R- Q

: b3 u. j7 a+ X' ^
  1. try
      w1 I( N4 l4 x5 }
  2.     {2 P3 G* o' }- L3 D4 P
  3.         //---- Enter your callback code here -----
    $ _0 W* ~8 p% W  |
  4. + _) E3 A# h8 X( \  _& C
  5.                      NXOpen::ListingWindow  *lw = theSession->ListingWindow();* N' i) |) ^$ [, ^5 _  s* H9 Q8 b; @
  6.                          stringstream ss;( _/ S/ @2 w) _% C# F& \
  7.                         NXOpen::Vector3d xdir,ydir;4 Z7 s% E! m2 O* x0 D
  8.                         NXOpen::Point3d originPoint;, k" `3 j0 v" a& n
  9.                         lw->Open();
    % V5 L: \$ U# E" z! P6 a
  10.                         ss << ("创建的坐标系统信息如下:\n");
    9 P4 @2 y0 E  A$ Z7 l- A+ B
  11.             std::vector<NXOpen::TaggedObject *> coordObjects = this->coord_system0->GetProperties()->GetTaggedObjectVector("SelectedObjects");4 I  V- l% U  Y6 g$ r  x
  12.                         NXOpen::CartesianCoordinateSystem *coord = dynamic_cast<NXOpen::CartesianCoordinateSystem *>(coordObjects[0]);! M; W2 o6 l  S
  13.                coord->GetDirections(&xdir,&ydir);/ [) [8 k6 r" u9 |! F9 _
  14.                         ss<<"返回的坐标系X方向矢量是:"<<xdir.X<<"\t"<<xdir.Y<<"\t"<<xdir.Z<<endl;
      P0 X1 t' R5 U, P: z' E5 e6 I
  15.                         ss<<"返回的坐标系Y方向矢量是:"<<ydir.X<<"\t"<<ydir.Y<<"\t"<<ydir.Z<<endl;3 k. I: m# P! w* g8 O
  16.                         originPoint = coord->Origin();2 r% c7 B1 z) R" P, ~
  17.                         ss<<"返回的坐标系中心是:"<<originPoint.X<<"\t"<<originPoint.Y<<"\t"<<originPoint.Z<<endl;) |0 {2 i  K, M" O
  18.                         lw->WriteLine(ss.str());
    2 I  _- j4 I) b& P
  19.                   // create the csys
    , J2 B. e: M8 |
  20.                         Part *workpart(theSession->Parts()->Work());
    8 G/ O, F6 p& E3 p- B
  21.                         Features::Feature *null_feature(NULL);. |/ w8 v; _% C0 {2 L3 u: O
  22.                         Features::DatumCsysBuilder *datumCsysBuilder ;6 P' u$ e3 X) A3 m  N6 |
  23.                         datumCsysBuilder = workpart->Features()->CreateDatumCsysBuilder(null_feature);/ L9 u4 b4 @2 ]5 c
  24.                         datumCsysBuilder->SeTCsys(coord);2 k3 f& T0 R! L2 i3 J# K9 F2 \2 `
  25.                         //set the scale factor
    % V* u/ c; F8 y- R9 x- \6 B. y+ _
  26.                         datumCsysBuilder->SetDisplayScaleFactor(this->double0->GetProperties()->GetDouble("Value"));
    4 S! G7 y) u: d* j$ n5 M
  27.                         datumCsysBuilder->Commit();9 t) T) G; K* o' y; L1 k: U
  28.                         std::vector< NXOpen::NXObject * >  GetCommittedObjects;" j* J. Y/ }2 q) Z* v) O& T, C
  29.                         GetCommittedObjects=datumCsysBuilder->GetCommittedObjects();" I5 V& Z. d: m, v8 ^$ [
  30.                         datumCsysBuilder->Destroy();/ o" v1 s+ A, x) X) H- p
  31.                         // set the color2 {( M& R' L$ ]2 B
  32.                     NXOpen::DisplayModification *displayObject;7 _8 U/ X6 c" C, S2 }1 {
  33.                         displayObject = theSession->DisplayManager()->NewDisplayModification();
    . I2 g8 Q# B  y4 h: e
  34.                         displayObject->SetApplyToAllFaces(true);$ ^! n9 \9 |  ?6 X5 K0 |6 A3 S
  35. 4 x: r% B* Z$ E- g1 A2 {& A/ U+ M
  36.                         // get the color from the UI$ @0 l5 }9 y- o& p# X) Q
  37.                         std::vector<int> color = this->colorPicker0->GetProperties()->GetIntegerVector("Value");
    % l' u: t8 Y" [% |
  38.                         displayObject->SetNewColor(color[0]);3 ~3 `: Y  _! [5 O+ y

  39. $ ], w( b6 J0 G) j% }
  40.                         std::vector <DisplayableObject *> csysObject;
    - e" s) k# N) g- Q
  41.                         ss.clear();
    + c% E* t1 u( X: l, G
  42.                         ss.str("");
    + T( p" v. r+ G' z
  43.                         ss<<"一个坐标系生成的对象有几个:"<< GetCommittedObjects.size()<<endl;
    ; P  N# q9 V# t2 r4 |
  44.                         lw->WriteLine(ss.str());
    % G- i* ~7 K; c" ?8 H# c
  45.                         for(unsigned int i = 0 ; i < GetCommittedObjects.size();i ++ ), l* h+ ]$ C. w0 y. @
  46.                         {" z! H5 J% t  k# a
  47.                                 csysObject.push_back(        dynamic_cast<DisplayableObject *>(GetCommittedObjects[i]));' a! I+ d. T# j' S6 [6 m2 j
  48.                         }
    ; y" Y( `" W+ c3 _$ q
  49.                         displayObject->Apply(csysObject);
    ( p. F" q, o3 X& [+ V3 v8 V
  50.                         delete displayObject;5 ?3 v" H/ \" y: s& k8 r2 t! V# [$ o* x
  51.     }
复制代码
1 ?2 l3 y+ o1 x/ ^* d; J
7 n: S: ^& c% S" A1 s1 n

; s, u/ O3 `- h2 Z5 H6 M$ v6 r
$ l  W) `' v; \/ b/ G; a& P

( O/ c1 B1 ]  |; X) Z) Z9 K  O
6 Y% |* _) x! @, c& ~; S! C& h
该会员没有填写今日想说内容.
回复

使用道具 举报

全部回复127

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

mildcat 来自 2#

2013-12-2 20:43:58

PLM之家-NX9.0二次开发实例 24 创建自定义基准CSYS控件使用(1)block UI创建 0 i# E: D% `( f* Q6 ]4 h3 |/ X8 I4 p9 `9 W5 d Q% q
该会员没有填写今日想说内容.
回复 支持 反对

使用道具 举报

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 网址 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 网址 doTeam.tech
回复 支持 反对

使用道具 举报

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

admin 来自 #

2017-10-15 15:27:00

PLM之家-NX9.0二次开发实例 24 创建自定义基准CSYS控件使用(4)创建csys对象
/ o/ v$ m8 y& |' ]  }! M' V/ c. @: W6 J( P: X8 \
+ F7 B$ a" A, w- \  j& h( ?. h$ W

/ {" L2 |! i9 z! G- }0 z7 A5 w
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 doTeam.tech
回复 支持 反对

使用道具 举报

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

admin 来自 #

2017-10-15 15:27:52

PLM之家-NX9.0二次开发实例 24 创建自定义基准CSYS控件使用(5)更改CSYS对象颜色0 A- S  ~  ~! P3 g' P5 d

1 \0 o. ~* m1 A
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 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二次开发专题模块培训报名开始啦

    我知道了