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

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

  [复制链接]

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

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

mildcat 楼主

2013-12-2 20:43:43

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

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

x
PLM之家-NX9.0 二次开发实例视频-24 创建自定义基准CSYS% b# E4 D, [- S* B
0 H: `/ [7 R& X+ E- x* M2 }
5 A5 M1 L# h% w2 a  s1 H+ x
内容:
9 z! x2 W5 M4 k. a& T7 h# _创建自定义基准CSYS控件使用,熟悉使用CSYS控件,熟悉使用NX Open C++进行对象的颜色修改。
% ?  t( a- @! U目的:& w; N1 B1 E( q1 H# ~
使用CSYS控件可以获得一个基准坐标,对应基准坐标需要使用坐标创建才能得到,要想对基准坐标进行颜色的修改,需要对基准的所有自对象进行修改。' b0 _% ]! K5 ~

" G- i4 H/ u5 O* |
/ H4 ]+ E& o, V' {7 \

  a% @' k0 K% l. m7 K7 k, g5 r

24 创建自定义基准CSYS

24 创建自定义基准CSYS
9 m6 y' O9 \+ g" I- K9 p. z
* N! X* |! n; A3 G- D2 ~7 ]
! R4 B4 w% x3 M/ ]
' `2 O8 M1 ^. j& o# q
  1. try
    , @2 t$ {% j) r# Q, Y& A
  2.     {6 M2 R+ {: [' X
  3.         //---- Enter your callback code here -----# J3 m3 T8 D! ^1 v# r

  4. 5 n# q* s6 x6 ]" H) G4 d
  5.                      NXOpen::ListingWindow  *lw = theSession->ListingWindow();
    ( P9 V( V' T0 N
  6.                          stringstream ss;: r8 h2 w* t: N3 c
  7.                         NXOpen::Vector3d xdir,ydir;* ~6 c1 }1 x% y2 u  d( g
  8.                         NXOpen::Point3d originPoint;
    : F, D3 W: a  k% Q! _
  9.                         lw->Open();
    " L# ]/ P) n' X+ R& J; m4 S. D5 {
  10.                         ss << ("创建的坐标系统信息如下:\n");7 |: e" Z' o, H* \2 n
  11.             std::vector<NXOpen::TaggedObject *> coordObjects = this->coord_system0->GetProperties()->GetTaggedObjectVector("SelectedObjects");" h& R& G3 B* Y0 C
  12.                         NXOpen::CartesianCoordinateSystem *coord = dynamic_cast<NXOpen::CartesianCoordinateSystem *>(coordObjects[0]);4 E  y- c0 [6 p/ j( t8 V" m
  13.                coord->GetDirections(&xdir,&ydir);
    ' l, F6 \3 |3 c# ]2 i' e* k
  14.                         ss<<"返回的坐标系X方向矢量是:"<<xdir.X<<"\t"<<xdir.Y<<"\t"<<xdir.Z<<endl;
    9 l1 b& w! q& ^
  15.                         ss<<"返回的坐标系Y方向矢量是:"<<ydir.X<<"\t"<<ydir.Y<<"\t"<<ydir.Z<<endl;
    * h- K. e4 w2 G5 k
  16.                         originPoint = coord->Origin();& O; B. x% n+ _5 o8 m
  17.                         ss<<"返回的坐标系中心是:"<<originPoint.X<<"\t"<<originPoint.Y<<"\t"<<originPoint.Z<<endl;7 `+ N* `9 I" V# n$ r* u
  18.                         lw->WriteLine(ss.str());: K5 \4 k+ V) V7 E0 G5 R7 j4 [
  19.                   // create the csys' j) f& h5 y9 U- L! q; X/ \
  20.                         Part *workpart(theSession->Parts()->Work());& T+ u6 w) C$ B) s
  21.                         Features::Feature *null_feature(NULL);
    # U8 }% _/ T3 o# }/ ?
  22.                         Features::DatumCsysBuilder *datumCsysBuilder ;
    $ `$ A; P+ L, e
  23.                         datumCsysBuilder = workpart->Features()->CreateDatumCsysBuilder(null_feature);9 W6 F" B& _, |) g+ S9 j" r
  24.                         datumCsysBuilder->SeTCsys(coord);' g8 ?4 L: p( Z, ]4 N5 H
  25.                         //set the scale factor1 g' g; w6 c0 d4 Q2 T/ a: F2 V
  26.                         datumCsysBuilder->SetDisplayScaleFactor(this->double0->GetProperties()->GetDouble("Value"));! f/ L' I2 Y9 ~0 \
  27.                         datumCsysBuilder->Commit();
    * B9 e( d. [& o
  28.                         std::vector< NXOpen::NXObject * >  GetCommittedObjects;
    2 e3 ~& S" C$ }7 }9 z5 w! \
  29.                         GetCommittedObjects=datumCsysBuilder->GetCommittedObjects();0 D2 Y5 U3 y. O9 \: l
  30.                         datumCsysBuilder->Destroy();
    8 Z) e1 Z" F$ I9 p7 E
  31.                         // set the color1 z9 ]; T1 S. m: M  A
  32.                     NXOpen::DisplayModification *displayObject;
    7 k9 f/ ]6 |: M
  33.                         displayObject = theSession->DisplayManager()->NewDisplayModification();
    7 B. u6 o7 }9 \2 @3 c1 z$ G5 E
  34.                         displayObject->SetApplyToAllFaces(true);9 g: A; c8 `: ?
  35. 3 Y6 @) e4 L( y! p3 W$ d9 q
  36.                         // get the color from the UI
    3 g# j) ]/ r3 }+ C: b' I% \
  37.                         std::vector<int> color = this->colorPicker0->GetProperties()->GetIntegerVector("Value");+ \: o; {, H) |& H9 o7 j' v
  38.                         displayObject->SetNewColor(color[0]);
    ) t+ ^3 d6 u1 o
  39. ' f2 ^1 l( m9 `7 _* ~' a! l  u. R1 a
  40.                         std::vector <DisplayableObject *> csysObject;4 P5 D( b7 v/ K: M/ D
  41.                         ss.clear();! o: h  E, F: x4 ~3 X# i; F3 G2 X
  42.                         ss.str("");$ _/ t  _# |- B( G8 {: ?& d
  43.                         ss<<"一个坐标系生成的对象有几个:"<< GetCommittedObjects.size()<<endl;
    0 Z3 V$ E" N/ y* d$ J4 j! k0 ^
  44.                         lw->WriteLine(ss.str());& ^, L: I( I, o7 L
  45.                         for(unsigned int i = 0 ; i < GetCommittedObjects.size();i ++ )
    4 t6 N! Z. m/ z( W, ]
  46.                         {9 `7 M% H; ?. P6 E6 `3 t
  47.                                 csysObject.push_back(        dynamic_cast<DisplayableObject *>(GetCommittedObjects[i]));
    + A2 ^8 w& X, U7 p4 b6 x
  48.                         }: K/ S1 Q# R# S, b5 X, V
  49.                         displayObject->Apply(csysObject);! y/ ~: `- k! F3 M$ G; L, d7 d
  50.                         delete displayObject;
    ' @8 k4 ^' P% R; N* A7 L7 a# H
  51.     }
复制代码

/ q& n* S: W9 M1 Q" `
& S4 a. t" u: P( V+ E5 y
5 t! ~7 J* n" i3 l- y

+ @2 G/ ~2 Z' i: J) x2 ?" F
: z0 `2 `$ }7 [/ [; ?5 {

) r+ D+ R- r, n
该会员没有填写今日想说内容.
回复

使用道具 举报

全部回复127

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

mildcat 来自 2#

2013-12-2 20:43:58

PLM之家-NX9.0二次开发实例 24 创建自定义基准CSYS控件使用(1)block UI创建' i. C" o$ g$ e+ l& R7 N9 y: C 3 `8 f* G" L, P0 V6 l6 B' x" N* t
该会员没有填写今日想说内容.
回复 支持 反对

使用道具 举报

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对象
( D  Y3 K, d2 D7 ]
% u  B9 n# S3 k$ O; k% R9 L  }% T
3 d3 E  n- _. s8 H9 D

! j$ O2 l1 q$ N$ y' ~9 {. x8 }
上海点团信息科技有限公司,承接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对象颜色8 G( f' t# w# ?9 Q* N& T
8 j, e9 g8 J5 `* g* @5 _$ |
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了