PLM之家PLMHome-工业软件践行者

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

  [复制链接]

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

320

主题

226

回帖

9784

积分

管理员

PLM之家NX|TC专家

积分
9784
发表于 2013-12-2 20:43:43 | 显示全部楼层 |阅读模式

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

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

x
PLM之家-NX9.0 二次开发实例视频-24 创建自定义基准CSYS) a+ \( z; l9 m5 C. r" T" A- H

' Y4 l9 ?* P+ A) k
! X; F2 u; j' X9 F' a  u5 k" ]+ r
内容:
5 M/ k  m; V' ?3 q3 V创建自定义基准CSYS控件使用,熟悉使用CSYS控件,熟悉使用NX Open C++进行对象的颜色修改。4 m7 o, s0 _& E' J
目的:- R* g( q7 |5 X" C. d
使用CSYS控件可以获得一个基准坐标,对应基准坐标需要使用坐标创建才能得到,要想对基准坐标进行颜色的修改,需要对基准的所有自对象进行修改。
$ j) I$ Q: y1 ?- o+ Z, Q8 l& f  P& o2 i- f5 h& K" h

0 S& i2 e" l8 @0 ?

2 |0 `* X& A3 F6 N' g

24 创建自定义基准CSYS

24 创建自定义基准CSYS

- d6 Z. m- R& Y* ]

! P, U7 X$ E3 E, u6 p0 H+ j
" I. h& [1 v( O/ A& k6 m0 C& `
1 h, W! j, u& O, e& g( b* {
  1. try5 Q0 g' x) J7 ^$ X7 {- [
  2.     {' S  y' Q1 A6 \- C1 b6 p
  3.         //---- Enter your callback code here -----
    # r/ K, \0 t6 l

  4. ! g) T0 ]/ F' s! Z  ^
  5.                      NXOpen::ListingWindow  *lw = theSession->ListingWindow();
    $ c0 b4 h4 ]; \. e+ Y+ X* ]
  6.                          stringstream ss;5 v, q) ?* d1 c: V/ `" N# y8 t
  7.                         NXOpen::Vector3d xdir,ydir;
    # l& y0 Z( j& S7 S% H
  8.                         NXOpen::Point3d originPoint;6 ^. v: v4 m7 ?7 z; c7 [- D
  9.                         lw->Open();
    : R% j+ T( Z. |/ m  a2 T( X
  10.                         ss << ("创建的坐标系统信息如下:\n");
    , s2 o3 \. ?4 i* z# n7 ^% ]
  11.             std::vector<NXOpen::TaggedObject *> coordObjects = this->coord_system0->GetProperties()->GetTaggedObjectVector("SelectedObjects");
    " t4 w! P' ]) S3 N' w( ]( y; [6 p5 [! i
  12.                         NXOpen::CartesianCoordinateSystem *coord = dynamic_cast<NXOpen::CartesianCoordinateSystem *>(coordObjects[0]);
    ) x* u! x" u: m- P" L7 }' Y
  13.                coord->GetDirections(&xdir,&ydir);
    1 d" f: k$ b7 T0 Q4 O% x* q6 i
  14.                         ss<<"返回的坐标系X方向矢量是:"<<xdir.X<<"\t"<<xdir.Y<<"\t"<<xdir.Z<<endl;
    ! G/ I5 b! V9 \- X" f8 j" ^6 X
  15.                         ss<<"返回的坐标系Y方向矢量是:"<<ydir.X<<"\t"<<ydir.Y<<"\t"<<ydir.Z<<endl;' w" O* [8 L. L& _* R  f* p7 [
  16.                         originPoint = coord->Origin();' U( R: }; T7 U4 ]5 I1 x8 {
  17.                         ss<<"返回的坐标系中心是:"<<originPoint.X<<"\t"<<originPoint.Y<<"\t"<<originPoint.Z<<endl;
    7 }/ J" L! ~9 T4 `. P
  18.                         lw->WriteLine(ss.str());' O8 {+ \; D, B! ^1 z& A. u6 N, K* H
  19.                   // create the csys& |' ^7 B: X8 b# |
  20.                         Part *workpart(theSession->Parts()->Work());/ v1 n: {' H- ]) [* {& n. N
  21.                         Features::Feature *null_feature(NULL);2 p2 W" D& }- Z
  22.                         Features::DatumCsysBuilder *datumCsysBuilder ;
    . N2 ?% T: g4 y8 d
  23.                         datumCsysBuilder = workpart->Features()->CreateDatumCsysBuilder(null_feature);4 ]7 l0 d' k, y5 T0 c, Y) c
  24.                         datumCsysBuilder->SeTCsys(coord);$ u  n; y( Z" _4 I/ r
  25.                         //set the scale factor& N$ f% p  k  J. {/ \1 r
  26.                         datumCsysBuilder->SetDisplayScaleFactor(this->double0->GetProperties()->GetDouble("Value"));
    6 K* N2 [8 r9 U4 _" Y  n* f: o% e
  27.                         datumCsysBuilder->Commit();9 r: j% v$ ]; n
  28.                         std::vector< NXOpen::NXObject * >  GetCommittedObjects;
    ; a0 T7 |- I8 O/ ]# \7 U
  29.                         GetCommittedObjects=datumCsysBuilder->GetCommittedObjects();
    0 O2 i# i3 M* S2 K
  30.                         datumCsysBuilder->Destroy();  o  u8 S1 c! v: d' p/ m: Z* b- {
  31.                         // set the color
    0 m0 O5 {& m* _  x% h( P- o
  32.                     NXOpen::DisplayModification *displayObject;4 [9 b3 b5 v3 `) I
  33.                         displayObject = theSession->DisplayManager()->NewDisplayModification();( |( a. m6 G& c3 n& V/ B3 T" T
  34.                         displayObject->SetApplyToAllFaces(true);- w9 A9 }! C, g5 k5 V
  35. # r' o/ O- V! V, k
  36.                         // get the color from the UI
    5 c5 e- t! Y( p2 h' r+ J) O$ J+ v# ]
  37.                         std::vector<int> color = this->colorPicker0->GetProperties()->GetIntegerVector("Value");
    . |& T. ^6 N& }% A
  38.                         displayObject->SetNewColor(color[0]);; I1 @+ d8 Z0 l: o' i
  39. . V. `0 ?+ a& m5 A7 p* d
  40.                         std::vector <DisplayableObject *> csysObject;( a) z6 i. r, `" ^% |
  41.                         ss.clear();, h4 @- R! a3 I& ^8 w! B' Q6 K
  42.                         ss.str("");
    * y+ U8 ]5 v) k( s
  43.                         ss<<"一个坐标系生成的对象有几个:"<< GetCommittedObjects.size()<<endl;& o( C1 r  t6 }' v
  44.                         lw->WriteLine(ss.str());* ?; I, W5 v" Y- v
  45.                         for(unsigned int i = 0 ; i < GetCommittedObjects.size();i ++ )
    4 v7 R& f  `( q* c2 {
  46.                         {
    $ [- r4 q* }' F# p8 k8 m) ]/ M) a
  47.                                 csysObject.push_back(        dynamic_cast<DisplayableObject *>(GetCommittedObjects[i]));
    ' Y  h6 U: l6 _
  48.                         }; A+ Q1 ?5 Q$ x& G& x
  49.                         displayObject->Apply(csysObject);
      _, k: e* ^, y, C/ m# V
  50.                         delete displayObject;
    4 s* T8 Q% F, t2 ^4 h4 O4 i
  51.     }
复制代码

$ y4 j- X$ N6 I; E# d! O5 w$ m' \* @" L5 F

4 g0 d& n- o; Q" s- B5 O! O" q8 p- G7 e6 H+ O$ e0 w8 E3 a

) b' `! C9 x0 _* ?
1 g  |5 n7 E6 @' d1 \8 J# V
该会员没有填写今日想说内容.
回复

使用道具 举报

全部回复127

320

主题

226

回帖

9784

积分

管理员

PLM之家NX|TC专家

积分
9784
 楼主| 发表于 2013-12-2 20:43:58 | 显示全部楼层
PLM之家-NX9.0二次开发实例 24 创建自定义基准CSYS控件使用(1)block UI创建 2 |$ R$ @/ j, N: B1 E7 n' R# W( A) `7 V/ V( J2 m: z2 T
该会员没有填写今日想说内容.
回复 支持 反对

使用道具 举报

2470

主题

1275

回帖

8万

积分

管理员

PLM之家站长

积分
82162
QQ
发表于 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
回复 支持 反对

使用道具 举报

2470

主题

1275

回帖

8万

积分

管理员

PLM之家站长

积分
82162
QQ
发表于 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
回复 支持 反对

使用道具 举报

2470

主题

1275

回帖

8万

积分

管理员

PLM之家站长

积分
82162
QQ
发表于 2017-10-15 15:27:00 | 显示全部楼层
PLM之家-NX9.0二次开发实例 24 创建自定义基准CSYS控件使用(4)创建csys对象! T) k/ X2 X; C2 w% x7 y% `
# N* h  I8 P+ J  m

: Q( r7 y. O' |; m% N' M6 N: a
$ \* E, ]/ x6 V1 s7 ~- Q# O
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 doTeam.tech
回复 支持 反对

使用道具 举报

2470

主题

1275

回帖

8万

积分

管理员

PLM之家站长

积分
82162
QQ
发表于 2017-10-15 15:27:52 | 显示全部楼层
PLM之家-NX9.0二次开发实例 24 创建自定义基准CSYS控件使用(5)更改CSYS对象颜色
/ ?5 r  @6 W2 J% f0 I- Q/ y0 s
: |" b7 i8 |1 x$ o% H& e
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 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
回复 支持 反对

使用道具 举报

发表回复

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

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

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

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

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

    我知道了