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

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

  [复制链接]

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

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

mildcat 楼主

2013-12-2 20:43:43

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

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

x
PLM之家-NX9.0 二次开发实例视频-24 创建自定义基准CSYS
& Q& A. D. w* W- N
6 @* k) c3 I: h) y

% ^! _8 Z- F  `& @6 @内容:
) D' c! `7 s8 X- ^- `创建自定义基准CSYS控件使用,熟悉使用CSYS控件,熟悉使用NX Open C++进行对象的颜色修改。
! a' d) h* d+ e7 Q* J目的:. t: V; K, @- O& I
使用CSYS控件可以获得一个基准坐标,对应基准坐标需要使用坐标创建才能得到,要想对基准坐标进行颜色的修改,需要对基准的所有自对象进行修改。
9 i, q7 q' J6 D+ P. i7 n$ @6 H. l" D' w2 [6 P0 |9 [: b' l

: b4 n  l/ A* V5 c

" o3 }. g" q$ c- O

24 创建自定义基准CSYS

24 创建自定义基准CSYS
$ g3 q* ]" f2 {1 d; E
9 p+ C8 k( m1 D! h9 v6 T9 I) }0 p+ `

0 i2 k! `' I. l& C

% O& g$ d% d6 y: T2 m
  1. try
    $ O  m' a7 V# F* U6 @& J
  2.     {
    ! a( @2 Z: A9 G) R8 W
  3.         //---- Enter your callback code here -----9 @4 P# U4 N! r  x$ P
  4. 4 i- v" p) K1 Q9 n( M3 d
  5.                      NXOpen::ListingWindow  *lw = theSession->ListingWindow();
    + V- e3 G$ @' F% N2 \/ n
  6.                          stringstream ss;0 n1 J( ~  _3 G+ b$ V
  7.                         NXOpen::Vector3d xdir,ydir;9 f! G" N  O; T. ]2 h4 V% L* P
  8.                         NXOpen::Point3d originPoint;
    ! l0 D  Y& M( b* F. _, ~$ i, l
  9.                         lw->Open();! |" w* R, v  U$ v- M0 a
  10.                         ss << ("创建的坐标系统信息如下:\n");
    # M  E' K) ~! a4 [. g6 p
  11.             std::vector<NXOpen::TaggedObject *> coordObjects = this->coord_system0->GetProperties()->GetTaggedObjectVector("SelectedObjects");
    7 \! j. w3 b, |" c
  12.                         NXOpen::CartesianCoordinateSystem *coord = dynamic_cast<NXOpen::CartesianCoordinateSystem *>(coordObjects[0]);/ I( c& Z; |2 e; x) Z9 q
  13.                coord->GetDirections(&xdir,&ydir);. h: K: _4 U6 _2 L9 a
  14.                         ss<<"返回的坐标系X方向矢量是:"<<xdir.X<<"\t"<<xdir.Y<<"\t"<<xdir.Z<<endl;# S, D0 c2 v' [1 M9 f$ Q
  15.                         ss<<"返回的坐标系Y方向矢量是:"<<ydir.X<<"\t"<<ydir.Y<<"\t"<<ydir.Z<<endl;; E6 C+ Q+ u! X" ]& X$ G5 c* {
  16.                         originPoint = coord->Origin();
    / `: h$ Y# ~9 O2 v
  17.                         ss<<"返回的坐标系中心是:"<<originPoint.X<<"\t"<<originPoint.Y<<"\t"<<originPoint.Z<<endl;# @$ S; z1 e0 P5 ~
  18.                         lw->WriteLine(ss.str());
    * y( b) V; k7 h: i6 w, ^) S5 _
  19.                   // create the csys
    5 `! w4 O0 z7 v4 y+ y' I& ^" f& m
  20.                         Part *workpart(theSession->Parts()->Work());
    0 F  C+ J/ Z" e' a& F& D
  21.                         Features::Feature *null_feature(NULL);
    , {" W7 P6 E! K: [! R# ?# l: I
  22.                         Features::DatumCsysBuilder *datumCsysBuilder ;8 o% K+ D% o# w, A7 k% h$ c
  23.                         datumCsysBuilder = workpart->Features()->CreateDatumCsysBuilder(null_feature);# y6 \- y: k7 _2 M  }2 U
  24.                         datumCsysBuilder->SeTCsys(coord);/ j5 B: n2 e1 f7 a6 O+ b
  25.                         //set the scale factor
    . q& X1 ~2 Q1 J4 V8 f8 S0 J( a& M
  26.                         datumCsysBuilder->SetDisplayScaleFactor(this->double0->GetProperties()->GetDouble("Value"));" |$ Y2 p! S+ `/ M, K* K- L
  27.                         datumCsysBuilder->Commit();
    ! v; h. L' G+ A+ R  W- P( g9 V
  28.                         std::vector< NXOpen::NXObject * >  GetCommittedObjects;9 b) d. \; l* L7 Y$ J
  29.                         GetCommittedObjects=datumCsysBuilder->GetCommittedObjects();
    ( z6 U( ^. a" o0 G/ u* k
  30.                         datumCsysBuilder->Destroy();3 ?) u4 e5 R" K1 K! \; p
  31.                         // set the color
    ' u# W# ?4 U& u+ k6 B
  32.                     NXOpen::DisplayModification *displayObject;
    # n; q8 U% `) _0 K$ Z7 l7 [
  33.                         displayObject = theSession->DisplayManager()->NewDisplayModification();
    & E  M0 A& C* p/ ]0 E7 j: c" A9 f
  34.                         displayObject->SetApplyToAllFaces(true);
    " w1 L0 [7 l$ _/ u8 J9 f( f
  35. 1 A. x( Y2 f5 W# i5 V% z
  36.                         // get the color from the UI
    0 N% q: U' p' y/ W7 K2 ~# h1 l
  37.                         std::vector<int> color = this->colorPicker0->GetProperties()->GetIntegerVector("Value");
    1 l0 t7 w- R6 w( ?  Q, m' D+ J) }
  38.                         displayObject->SetNewColor(color[0]);
    9 m  a+ T: a' L* B/ {) I
  39. - b! E! E4 C; G' r9 s
  40.                         std::vector <DisplayableObject *> csysObject;, H; x- Z( n; j' Y! k
  41.                         ss.clear();
    1 f! {! V4 q/ A9 P  K( A6 m
  42.                         ss.str("");% b0 g' m# a  ~" _7 C: s+ `
  43.                         ss<<"一个坐标系生成的对象有几个:"<< GetCommittedObjects.size()<<endl;
    , f; K' K( u# m6 h
  44.                         lw->WriteLine(ss.str());7 j5 h( d) Z1 k2 \2 X2 x! U4 z9 _
  45.                         for(unsigned int i = 0 ; i < GetCommittedObjects.size();i ++ )
    - T2 w5 C9 R; X+ g" _& A
  46.                         {( w8 D4 E! P# [5 P% d
  47.                                 csysObject.push_back(        dynamic_cast<DisplayableObject *>(GetCommittedObjects[i]));
    , ]0 ^2 v& H4 |
  48.                         }  b2 T- P6 k! w
  49.                         displayObject->Apply(csysObject);9 v4 Q8 |/ w* o% i
  50.                         delete displayObject;
    3 O1 U5 r; O7 o2 y( p$ u8 J
  51.     }
复制代码

0 y; m9 w8 d2 b; g  K/ |; y, C+ g- b4 D6 {5 Q$ t* ~" T
0 K, p5 [) G2 h' y) V" t+ ]$ {9 m
6 Q3 l3 g) D5 t3 T! l9 S

5 q' K, q$ P4 v( z
" s/ n0 }- G) V1 h) C0 ]5 a
该会员没有填写今日想说内容.
回复

使用道具 举报

全部回复127

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

mildcat 来自 2#

2013-12-2 20:43:58

PLM之家-NX9.0二次开发实例 24 创建自定义基准CSYS控件使用(1)block UI创建$ ~1 X$ S @3 x8 }& C/ X 2 [$ g5 b: M* c* e
该会员没有填写今日想说内容.
回复 支持 反对

使用道具 举报

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对象
+ [/ s. ~& ?, ?! K' ~
3 K) ?0 S8 G' W7 C6 t! d

& \1 J6 [- y3 q# B( V, ~% L; H$ G9 Z5 r6 p
上海点团信息科技有限公司,承接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对象颜色
- Q; \7 I+ r1 i
# d/ X9 U% e4 ?& V/ |9 \5 \% v
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了