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

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

  [复制链接]

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

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

mildcat 楼主

2013-12-2 20:43:43

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

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

x
PLM之家-NX9.0 二次开发实例视频-24 创建自定义基准CSYS
. G' S( n8 q% w2 \1 l
$ r- C9 c' p) t; |: H
( z  E- c! e3 J& E
内容:3 e' r' ~+ j% h. b! Q9 C
创建自定义基准CSYS控件使用,熟悉使用CSYS控件,熟悉使用NX Open C++进行对象的颜色修改。2 |; U) i9 N8 f1 Y. f" Y' g
目的:
# @( `4 H" o4 p( w) e使用CSYS控件可以获得一个基准坐标,对应基准坐标需要使用坐标创建才能得到,要想对基准坐标进行颜色的修改,需要对基准的所有自对象进行修改。5 t3 R! h6 _( f. a. O
+ J7 A9 p3 G  `5 @4 G% l* N( }

& ], d, y1 D4 }6 `2 z

' C. i5 K7 S. @! j

24 创建自定义基准CSYS

24 创建自定义基准CSYS
8 Z4 [( c' m* d% @" _5 x
( x, {+ h- X7 X( F! H' F1 e
% E0 E2 X0 o1 A
7 K8 Q+ T6 w5 e/ T* F
  1. try, Z) j; @0 P0 _* i* e
  2.     {$ ^5 o/ l* `: `8 @8 V
  3.         //---- Enter your callback code here -----
    & n/ s1 P- i5 N1 i  U0 M$ ]( V$ |

  4. 7 Z7 t# c. y& N! Y) ?, c7 O! {/ [
  5.                      NXOpen::ListingWindow  *lw = theSession->ListingWindow();4 e* l! B  o5 P3 T
  6.                          stringstream ss;! I1 v2 t: O5 L; M' E! l7 ~+ N
  7.                         NXOpen::Vector3d xdir,ydir;
    $ ^( S5 q1 ]+ E3 ~2 c' A6 F; C
  8.                         NXOpen::Point3d originPoint;* N/ N5 d! T2 H; J8 X2 l3 Q/ ?" {
  9.                         lw->Open();* Q- @$ i! R6 @! y4 E' A
  10.                         ss << ("创建的坐标系统信息如下:\n");8 \. o) w- e% L" V1 V. S
  11.             std::vector<NXOpen::TaggedObject *> coordObjects = this->coord_system0->GetProperties()->GetTaggedObjectVector("SelectedObjects");- e% K# }4 x7 o# R" Q/ m% M- ^
  12.                         NXOpen::CartesianCoordinateSystem *coord = dynamic_cast<NXOpen::CartesianCoordinateSystem *>(coordObjects[0]);5 g8 n2 |: T/ w, w6 [& y0 z
  13.                coord->GetDirections(&xdir,&ydir);
    ; U, F2 y/ _$ y3 s0 `
  14.                         ss<<"返回的坐标系X方向矢量是:"<<xdir.X<<"\t"<<xdir.Y<<"\t"<<xdir.Z<<endl;
    4 J+ A* c2 Z6 u: g5 A3 j
  15.                         ss<<"返回的坐标系Y方向矢量是:"<<ydir.X<<"\t"<<ydir.Y<<"\t"<<ydir.Z<<endl;
    . f. {1 V& ~3 _- K" W
  16.                         originPoint = coord->Origin();
    $ u5 r5 S  ~: w- N, N& f
  17.                         ss<<"返回的坐标系中心是:"<<originPoint.X<<"\t"<<originPoint.Y<<"\t"<<originPoint.Z<<endl;& r7 z- A4 U2 \  \
  18.                         lw->WriteLine(ss.str());: u& G7 ^7 N* ^/ D' F
  19.                   // create the csys8 v) Q# P+ T. S5 P' l, @
  20.                         Part *workpart(theSession->Parts()->Work());/ _  n8 u8 S" A; [  K; u
  21.                         Features::Feature *null_feature(NULL);1 u5 W+ W9 D9 m- t
  22.                         Features::DatumCsysBuilder *datumCsysBuilder ;7 b7 C1 _$ c; Y# J& H' t: f
  23.                         datumCsysBuilder = workpart->Features()->CreateDatumCsysBuilder(null_feature);+ h6 i/ U) m, G3 F& A7 I8 a- c
  24.                         datumCsysBuilder->SeTCsys(coord);
    & X% ]) Y. ]4 U+ }. _$ A* f! B& I
  25.                         //set the scale factor
    * H3 g* i  ]+ s( z
  26.                         datumCsysBuilder->SetDisplayScaleFactor(this->double0->GetProperties()->GetDouble("Value"));1 w: O/ [0 e; C+ Y1 c- `& T5 }2 {
  27.                         datumCsysBuilder->Commit();
    $ O5 S- L2 ^3 V- S2 ^2 k
  28.                         std::vector< NXOpen::NXObject * >  GetCommittedObjects;, m2 |* s8 r0 O/ O  z: W
  29.                         GetCommittedObjects=datumCsysBuilder->GetCommittedObjects();
    1 K2 Z( ~9 R2 }, m# u
  30.                         datumCsysBuilder->Destroy();
    & C7 A1 d9 F7 d1 j5 x6 h7 L
  31.                         // set the color  @4 _: L: P7 [
  32.                     NXOpen::DisplayModification *displayObject;
    - Y% b! j. Y1 Z+ d" ]; W  `! C
  33.                         displayObject = theSession->DisplayManager()->NewDisplayModification();
    2 z+ M& I' q) {/ O0 p" z$ w
  34.                         displayObject->SetApplyToAllFaces(true);
    $ `4 h$ H& n4 Y& E
  35. ( A' H% z) f- |( j
  36.                         // get the color from the UI0 |2 J/ E1 D9 w( D7 V! m4 i
  37.                         std::vector<int> color = this->colorPicker0->GetProperties()->GetIntegerVector("Value");
    ! U3 a$ R' y; @" }! J2 K4 V; p
  38.                         displayObject->SetNewColor(color[0]);: F' r" Q! [  G  x- a) m
  39. # T. C+ M8 c: A0 u
  40.                         std::vector <DisplayableObject *> csysObject;
    + m6 v4 C0 p& G4 V4 c; P/ \
  41.                         ss.clear();' c2 ^) o) b, y' D3 j6 W5 v
  42.                         ss.str("");
    6 q2 X$ r+ `! Y* V6 {' o: o
  43.                         ss<<"一个坐标系生成的对象有几个:"<< GetCommittedObjects.size()<<endl;7 f7 b8 \  K: }5 n& X* r& a; a
  44.                         lw->WriteLine(ss.str());
    , b7 v4 d  @: b' x1 d
  45.                         for(unsigned int i = 0 ; i < GetCommittedObjects.size();i ++ ); Z2 t7 ]2 _6 X5 L
  46.                         {. Z6 A6 t! l' o  O7 \' p: {
  47.                                 csysObject.push_back(        dynamic_cast<DisplayableObject *>(GetCommittedObjects[i]));9 J) O( v  D3 \/ x8 {
  48.                         }
    2 G# W( A( R, O% D* \
  49.                         displayObject->Apply(csysObject);
    9 t1 x3 |1 y/ y' k
  50.                         delete displayObject;/ |) y( \5 Y3 f* r* I8 X9 G" n$ O% F
  51.     }
复制代码
  V7 u4 }: ?/ Q) t' j4 x
; v3 t& Y* \; \! f7 X" g, u! F7 ~/ [) g

  {% t/ I) k2 s( y; [$ m& P* d- o
& W/ c* F& {! I2 @( }; X7 w* J" @. k

2 w4 `+ H  V* H8 X& L. D/ T( X3 C; N
4 S  y" V0 ]. ^; Y: s/ H# T5 \
该会员没有填写今日想说内容.
回复

使用道具 举报

全部回复127

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

mildcat 来自 2#

2013-12-2 20:43:58

PLM之家-NX9.0二次开发实例 24 创建自定义基准CSYS控件使用(1)block UI创建 $ n0 S. B' X1 P" h0 I V! R$ q$ a
该会员没有填写今日想说内容.
回复 支持 反对

使用道具 举报

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对象% t  O9 x- E9 B( c# E4 r
* g6 R& w4 L1 y- b( c, d' j

! x0 X1 N" j) B6 F/ [/ C) s
2 ?' }, S  y8 w' }- L2 M
上海点团信息科技有限公司,承接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对象颜色# |: z' V  T: n1 U. r% @5 g1 n

$ C2 H* m1 w, o8 y
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了