查看: 44984|回复: 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
7 }1 q$ s/ R8 v9 V0 U, v7 [$ A4 }; i1 J+ X  C
# l, L2 o) x6 s: A+ W" I
内容:; x  H5 P; j) g0 p
创建自定义基准CSYS控件使用,熟悉使用CSYS控件,熟悉使用NX Open C++进行对象的颜色修改。2 m4 Y  d) U# {, c0 r7 |
目的:: P4 c' I/ j: q0 N9 h7 Q9 C; M
使用CSYS控件可以获得一个基准坐标,对应基准坐标需要使用坐标创建才能得到,要想对基准坐标进行颜色的修改,需要对基准的所有自对象进行修改。5 k) F/ @2 O5 a' H3 S* B: Z

$ h, @# P6 w: q
2 j+ E- i! c  O) A

7 U& v: t7 e/ M  j

24 创建自定义基准CSYS

24 创建自定义基准CSYS
% O) g) f1 k) H7 Z. c

% O: |+ p6 l* v  c6 ]: G, W, g
% U" c% Y5 u% ^& o: ?

, m# g+ B+ P* T  r& G7 o
  1. try! P7 m  ^8 c8 h+ a! n4 \
  2.     {
    ! K% S4 b4 x9 x3 a
  3.         //---- Enter your callback code here -----
    " Q4 }8 l+ a6 w, i' ^5 q
  4. ! U/ a/ v% l, ^& U4 B/ G8 I5 R  }
  5.                      NXOpen::ListingWindow  *lw = theSession->ListingWindow();
    4 m' e- n+ c" X; G
  6.                          stringstream ss;
    # {: l; d  y- M6 I4 j
  7.                         NXOpen::Vector3d xdir,ydir;2 ^+ s2 b) V3 p. i9 i; e" \0 N/ N
  8.                         NXOpen::Point3d originPoint;
    ! F/ ?' F& I* l7 N
  9.                         lw->Open();
    0 M+ s* ^/ Y- {+ G' s2 C& P+ e9 ^5 I
  10.                         ss << ("创建的坐标系统信息如下:\n");& }2 \, q: A5 Q+ Z1 w
  11.             std::vector<NXOpen::TaggedObject *> coordObjects = this->coord_system0->GetProperties()->GetTaggedObjectVector("SelectedObjects");$ _2 i6 A9 J; N) u( S
  12.                         NXOpen::CartesianCoordinateSystem *coord = dynamic_cast<NXOpen::CartesianCoordinateSystem *>(coordObjects[0]);# Z3 u8 @" C" f0 `0 b* u
  13.                coord->GetDirections(&xdir,&ydir);8 L1 W* X' `0 h" o
  14.                         ss<<"返回的坐标系X方向矢量是:"<<xdir.X<<"\t"<<xdir.Y<<"\t"<<xdir.Z<<endl;' v2 `/ ^6 }* Y
  15.                         ss<<"返回的坐标系Y方向矢量是:"<<ydir.X<<"\t"<<ydir.Y<<"\t"<<ydir.Z<<endl;
    & H; ^+ F. Y: K+ L8 j7 x0 d
  16.                         originPoint = coord->Origin();: u: G# O5 H0 K: n' E$ N% B
  17.                         ss<<"返回的坐标系中心是:"<<originPoint.X<<"\t"<<originPoint.Y<<"\t"<<originPoint.Z<<endl;
    7 \# s: U9 _6 O. V+ l
  18.                         lw->WriteLine(ss.str());
    ! C* G) ]$ e% K
  19.                   // create the csys
    7 _7 o* E& X; _; a& L$ d
  20.                         Part *workpart(theSession->Parts()->Work());
    & N% ?/ U9 i: A. |& Z& G" @- R
  21.                         Features::Feature *null_feature(NULL);7 n' J7 {" J' h6 F. R+ t9 ?
  22.                         Features::DatumCsysBuilder *datumCsysBuilder ;" {* L+ z4 |& W" z5 h! A) v
  23.                         datumCsysBuilder = workpart->Features()->CreateDatumCsysBuilder(null_feature);# Z7 o  c- I: }) L
  24.                         datumCsysBuilder->SeTCsys(coord);
    6 k7 q" n+ s0 o+ @2 `* S+ v( c& [
  25.                         //set the scale factor
    9 \. D3 ?" n: k8 R
  26.                         datumCsysBuilder->SetDisplayScaleFactor(this->double0->GetProperties()->GetDouble("Value"));
    & m" L9 p6 T- p8 T! s" {/ F
  27.                         datumCsysBuilder->Commit();1 L: F! o* [6 N3 s2 G: y1 t( W
  28.                         std::vector< NXOpen::NXObject * >  GetCommittedObjects;0 [1 D+ U" H" O8 f
  29.                         GetCommittedObjects=datumCsysBuilder->GetCommittedObjects();
    5 _! _. J' V: n0 a" c4 h" H
  30.                         datumCsysBuilder->Destroy();% M/ D- q0 y. ?! d, X) Z" l9 [
  31.                         // set the color* J/ m; M+ w' G/ m- S  n  _
  32.                     NXOpen::DisplayModification *displayObject;- S; f. ^$ f) k
  33.                         displayObject = theSession->DisplayManager()->NewDisplayModification();( x( h7 d- X, V3 }& H" @
  34.                         displayObject->SetApplyToAllFaces(true);( v0 G# ?4 ?# n8 T4 \/ I

  35. % f7 n. \& Y( a6 p0 }8 i
  36.                         // get the color from the UI. {; U+ a' P4 @1 A8 K, J( ?
  37.                         std::vector<int> color = this->colorPicker0->GetProperties()->GetIntegerVector("Value");
    ; m7 w8 s. w/ l8 R
  38.                         displayObject->SetNewColor(color[0]);* ~& l4 A! S( e; m4 I3 w

  39. & R  A8 Z0 D+ u0 |& a3 ?$ Q
  40.                         std::vector <DisplayableObject *> csysObject;
    2 q5 M$ t8 H# {* e5 ~6 V* |  P
  41.                         ss.clear();
    6 j. c/ E  |1 H2 v9 o
  42.                         ss.str("");7 b7 G, F$ E9 N3 _8 a6 t$ @
  43.                         ss<<"一个坐标系生成的对象有几个:"<< GetCommittedObjects.size()<<endl;
    ' K4 U6 n2 v( v1 }
  44.                         lw->WriteLine(ss.str());4 c: c1 {3 `3 _; C
  45.                         for(unsigned int i = 0 ; i < GetCommittedObjects.size();i ++ )
    , Z0 X- y6 ]' g# P5 v+ x& |2 `$ j8 V
  46.                         {- S9 N7 |) V+ S+ d' u9 o! Y
  47.                                 csysObject.push_back(        dynamic_cast<DisplayableObject *>(GetCommittedObjects[i]));* q* d! Y6 M/ ]
  48.                         }
    9 s; ?2 X$ X) L- i! r9 B: F4 L$ @
  49.                         displayObject->Apply(csysObject);
    8 o$ F' [; m5 w' U' z$ K9 v
  50.                         delete displayObject;
    - }1 H2 ~9 v' a" O; f* V, C: _3 j1 \
  51.     }
复制代码
( V! z+ e6 k0 X0 ]4 A" I5 U
9 u6 b: K2 u8 k# |
' M  C3 u: L( L! n7 g, e# Q
" }, R' F4 F& \& P  o$ F

# z+ u& r' x8 p9 ?2 \& \  s% z' x9 p! P# R' y! V( A
该会员没有填写今日想说内容.
回复

使用道具 举报

320

主题

226

回帖

9784

积分

管理员

PLM之家NX|TC专家

积分
9784
 楼主| 发表于 2013-12-2 20:43:58 | 显示全部楼层
PLM之家-NX9.0二次开发实例 24 创建自定义基准CSYS控件使用(1)block UI创建; r6 U( [4 ^" N, [/ a! v % h) T: n# F7 M! B: l9 I
该会员没有填写今日想说内容.
回复 支持 反对

使用道具 举报

4

主题

3

回帖

46

积分

管理员

积分
46
发表于 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

主题

3

回帖

46

积分

管理员

积分
46
发表于 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

主题

3

回帖

46

积分

管理员

积分
46
发表于 2017-10-15 15:27:00 | 显示全部楼层
PLM之家-NX9.0二次开发实例 24 创建自定义基准CSYS控件使用(4)创建csys对象# O: j! {2 }& b+ F9 k

( a' f( R- o0 H

2 i1 u) n2 l5 X3 U# r: U0 w+ U7 C  \: Z& b0 K
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复 支持 反对

使用道具 举报

4

主题

3

回帖

46

积分

管理员

积分
46
发表于 2017-10-15 15:27:52 | 显示全部楼层
PLM之家-NX9.0二次开发实例 24 创建自定义基准CSYS控件使用(5)更改CSYS对象颜色
, Y, ?  @( R; y& @; c8 X: M
7 H4 J/ P8 i9 L9 I
上海点团信息科技有限公司,承接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客服返回顶部