PLM之家PLMHome-工业软件与AI结合践行者

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

  [复制链接]

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

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

mildcat 楼主

2013-12-2 20:43:43

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

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

x
PLM之家-NX9.0 二次开发实例视频-24 创建自定义基准CSYS
5 |$ ~# s$ O# S' O; I4 ?- r! U% W, e! O* t/ \2 E( N# y  F
! x  K: A8 Q, e  S7 i2 b1 E
内容:. M7 j! n6 L4 P3 F; }  K' `% r
创建自定义基准CSYS控件使用,熟悉使用CSYS控件,熟悉使用NX Open C++进行对象的颜色修改。
2 J) t( |5 f2 `目的:7 c/ G" M+ J# G8 `, ~! y5 N
使用CSYS控件可以获得一个基准坐标,对应基准坐标需要使用坐标创建才能得到,要想对基准坐标进行颜色的修改,需要对基准的所有自对象进行修改。5 m* _0 p. {' X3 c

# c4 o4 x- O$ m! t6 b! H% z0 I2 N# U, U& }  j$ R4 S& Q9 S

! J, [0 R# K$ E1 C- g# _* k

24 创建自定义基准CSYS

24 创建自定义基准CSYS
3 |% h& d2 G- I& q& z. O$ f

6 D# I# J) R- a/ M8 m
" W2 q( E+ ?5 n

0 A8 B0 ^& n" G* e/ i( F1 q
  1. try6 ?1 F2 ^$ p# O, p, J( Q5 t
  2.     {
    + L% }0 b$ X' P* d1 N4 _) g
  3.         //---- Enter your callback code here -----
    ' j9 m7 I+ |6 M8 ~4 l# @0 F

  4. . W4 s, h) z( r. t
  5.                      NXOpen::ListingWindow  *lw = theSession->ListingWindow();
    - F0 n( W* T% L5 c" @2 L
  6.                          stringstream ss;
    , i. o' N# x. y2 a
  7.                         NXOpen::Vector3d xdir,ydir;* ]; i3 h* X# u8 v0 b
  8.                         NXOpen::Point3d originPoint;
    " t* o3 }6 i: |# I: M7 f. u
  9.                         lw->Open();9 }# S- Y* O' f) e7 ~+ Q
  10.                         ss << ("创建的坐标系统信息如下:\n");
    0 j* J! n9 h$ O) U1 E. s
  11.             std::vector<NXOpen::TaggedObject *> coordObjects = this->coord_system0->GetProperties()->GetTaggedObjectVector("SelectedObjects");
    ) }6 r6 Z/ H5 A# `9 T8 m" L
  12.                         NXOpen::CartesianCoordinateSystem *coord = dynamic_cast<NXOpen::CartesianCoordinateSystem *>(coordObjects[0]);# w2 k( A4 P7 N: h! P: J9 F
  13.                coord->GetDirections(&xdir,&ydir);
    0 s" e  Z+ G5 Q" d
  14.                         ss<<"返回的坐标系X方向矢量是:"<<xdir.X<<"\t"<<xdir.Y<<"\t"<<xdir.Z<<endl;
    * z" N3 `+ _) {& I5 o" h" e% d+ V7 e
  15.                         ss<<"返回的坐标系Y方向矢量是:"<<ydir.X<<"\t"<<ydir.Y<<"\t"<<ydir.Z<<endl;! h1 K1 w% X, Q$ A  {' `
  16.                         originPoint = coord->Origin();! d' |6 M( D) J. n  c% ~( T. t
  17.                         ss<<"返回的坐标系中心是:"<<originPoint.X<<"\t"<<originPoint.Y<<"\t"<<originPoint.Z<<endl;9 x: v$ v6 j9 O" t, s: f
  18.                         lw->WriteLine(ss.str());
    0 U( {& l' d$ v4 }
  19.                   // create the csys6 A' z2 r+ a( [4 v
  20.                         Part *workpart(theSession->Parts()->Work());- O6 [7 u* `$ ?+ D" ~
  21.                         Features::Feature *null_feature(NULL);
    6 n. i4 }% |* J! p1 O) r2 k
  22.                         Features::DatumCsysBuilder *datumCsysBuilder ;  E8 S( e6 j* L! U, M& D' ~) ?
  23.                         datumCsysBuilder = workpart->Features()->CreateDatumCsysBuilder(null_feature);
    : J- B3 {3 f2 I( Z4 g* \
  24.                         datumCsysBuilder->SeTCsys(coord);7 B* \4 s  q. p- h; b4 X3 B# b- q  v
  25.                         //set the scale factor3 x# W: q1 N+ [( q
  26.                         datumCsysBuilder->SetDisplayScaleFactor(this->double0->GetProperties()->GetDouble("Value"));% _' p/ h# s: w0 n% u0 M8 I  H" O
  27.                         datumCsysBuilder->Commit();
    ) Q* U! o  x& \0 d, B
  28.                         std::vector< NXOpen::NXObject * >  GetCommittedObjects;' N& i( D6 O" k. v" J5 v
  29.                         GetCommittedObjects=datumCsysBuilder->GetCommittedObjects();* O, E1 ~+ W# v) C
  30.                         datumCsysBuilder->Destroy();
    " |2 o7 }- T2 s! `) |
  31.                         // set the color+ }& H8 f* a9 y  O6 m1 U/ O
  32.                     NXOpen::DisplayModification *displayObject;5 I9 o9 I" d8 z5 j' F
  33.                         displayObject = theSession->DisplayManager()->NewDisplayModification();
    2 i1 I  Y6 h" D; w$ E; K
  34.                         displayObject->SetApplyToAllFaces(true);
    6 M/ }$ k: b$ U+ J3 T$ M
  35. ! a4 }  H2 O/ D5 f$ r, j
  36.                         // get the color from the UI
    7 g: Q7 ?! J+ j; d2 q
  37.                         std::vector<int> color = this->colorPicker0->GetProperties()->GetIntegerVector("Value");
    1 U3 _  U. H. W
  38.                         displayObject->SetNewColor(color[0]);
      l2 S$ a: [- y! F+ }

  39. ( o: i% F+ g1 |& o
  40.                         std::vector <DisplayableObject *> csysObject;3 v0 B# k  \6 O% O7 }, r2 r5 `
  41.                         ss.clear();
    8 y4 [5 u7 j: d% Y5 n% h  V6 k) M
  42.                         ss.str("");( ]5 a' w) h7 H  J( q
  43.                         ss<<"一个坐标系生成的对象有几个:"<< GetCommittedObjects.size()<<endl;
    % B7 l0 {& t7 U$ k2 c
  44.                         lw->WriteLine(ss.str());
    1 @7 X9 B. u% S! i
  45.                         for(unsigned int i = 0 ; i < GetCommittedObjects.size();i ++ )* T# B* z5 }% `& A5 F
  46.                         {- s! {1 W8 ^" U6 J
  47.                                 csysObject.push_back(        dynamic_cast<DisplayableObject *>(GetCommittedObjects[i]));% ?; g; G4 v9 C; i$ c3 R( Y
  48.                         }) M8 s3 z  U2 K
  49.                         displayObject->Apply(csysObject);/ C, W( v. q/ g
  50.                         delete displayObject;
    5 S% X6 F' @0 {. |, P1 c3 P9 z( f
  51.     }
复制代码

; t, J7 n  }. ]) ~7 J% a4 j' O- ~! q% G* L# B; A# H2 f5 M
5 P9 K( p& j/ j# Y; p6 _' F. t+ e
4 N) G6 R& ^8 C3 E& _8 b

$ q$ V+ x* B! k: E* F  K4 _' T' o/ _! \; y! |+ `- K9 c
该会员没有填写今日想说内容.
回复

使用道具 举报

全部回复127

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

mildcat 来自 2#

2013-12-2 20:43:58

PLM之家-NX9.0二次开发实例 24 创建自定义基准CSYS控件使用(1)block UI创建 & ^( O/ Z" S* ?- j8 I2 i1 O* R
该会员没有填写今日想说内容.
回复 支持 反对

使用道具 举报

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对象
6 E3 h  ^, Z2 N2 D4 Z9 P2 e2 c+ [0 T0 e  F$ |( ~/ _* {6 o5 k+ Q

. O8 H( P( `9 [3 e; W1 h: [$ a' y+ R
! P, i1 u! C; g9 U! m( Z4 p9 f% V
上海点团信息科技有限公司,承接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对象颜色# f6 r8 T/ C9 t6 [( k' i
" \! u8 Y: r. e
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了