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

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

  [复制链接]

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

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

mildcat 楼主

2013-12-2 20:43:43

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

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

x
PLM之家-NX9.0 二次开发实例视频-24 创建自定义基准CSYS
3 K# Q. q) M! \7 ], e0 ]' i* |5 b% G# d' o
/ Z) I2 |) K2 r( t4 ?
内容:7 g% I9 q- }9 Q7 ^
创建自定义基准CSYS控件使用,熟悉使用CSYS控件,熟悉使用NX Open C++进行对象的颜色修改。. b2 s. f1 [0 {  w% V* `
目的:
( R+ b6 F" \3 _# o使用CSYS控件可以获得一个基准坐标,对应基准坐标需要使用坐标创建才能得到,要想对基准坐标进行颜色的修改,需要对基准的所有自对象进行修改。' [/ J2 e% t: Z& E9 ]! y% X

/ @3 G' L5 @" e8 u; m; F$ o2 l- a7 I7 Y( x! m# Q

, ^9 h) B* C1 _8 b+ A  L+ z

24 创建自定义基准CSYS

24 创建自定义基准CSYS
/ T" a( U, R- s
& k1 Y' }# {6 P6 P, b1 J4 q* k

; C: M$ r" z. h

. i/ ]$ F. H* H7 @2 Q
  1. try' w2 P) ^9 Z' v
  2.     {  N  Z' A* R" B: h. K
  3.         //---- Enter your callback code here -----
    . E: z3 f( N: M$ ]5 k, d; |4 z
  4. - W4 K( q3 j4 o1 S# U; D; o+ W
  5.                      NXOpen::ListingWindow  *lw = theSession->ListingWindow();
    " D& o$ A: e$ g( m
  6.                          stringstream ss;# K; H8 j: X& U/ F1 ^+ k7 X
  7.                         NXOpen::Vector3d xdir,ydir;3 J6 R  T4 l* j$ X% B5 f& {
  8.                         NXOpen::Point3d originPoint;4 s: i, a8 U6 w" ~
  9.                         lw->Open();
    # S6 c* S8 C; K9 z8 n5 x
  10.                         ss << ("创建的坐标系统信息如下:\n");
    ; X; z# S5 V  o3 i, U
  11.             std::vector<NXOpen::TaggedObject *> coordObjects = this->coord_system0->GetProperties()->GetTaggedObjectVector("SelectedObjects");
    8 f" M. |! N" S+ i7 S" N1 m! o
  12.                         NXOpen::CartesianCoordinateSystem *coord = dynamic_cast<NXOpen::CartesianCoordinateSystem *>(coordObjects[0]);
    4 P4 J/ N( u0 K6 ]- i" I  y
  13.                coord->GetDirections(&xdir,&ydir);& p: e. v1 C* U( h; @: S( \* `
  14.                         ss<<"返回的坐标系X方向矢量是:"<<xdir.X<<"\t"<<xdir.Y<<"\t"<<xdir.Z<<endl;/ `8 B% S8 H3 x
  15.                         ss<<"返回的坐标系Y方向矢量是:"<<ydir.X<<"\t"<<ydir.Y<<"\t"<<ydir.Z<<endl;- A" I0 I: B! n. e- [
  16.                         originPoint = coord->Origin();
    # r8 W* I9 }2 C, Z, k
  17.                         ss<<"返回的坐标系中心是:"<<originPoint.X<<"\t"<<originPoint.Y<<"\t"<<originPoint.Z<<endl;
    : e# J" X" l: `) W) B" u$ {
  18.                         lw->WriteLine(ss.str());
    % E& [' w0 H& v1 L, a
  19.                   // create the csys
    % a- N6 W: d: |) G
  20.                         Part *workpart(theSession->Parts()->Work());
    * ^# N) |: z$ N5 `4 `8 a
  21.                         Features::Feature *null_feature(NULL);$ a. S3 B# R! R: z, [6 S& v
  22.                         Features::DatumCsysBuilder *datumCsysBuilder ;. g2 J; q' f; T: z
  23.                         datumCsysBuilder = workpart->Features()->CreateDatumCsysBuilder(null_feature);/ c! T4 U$ q1 d) ?$ r+ x1 l
  24.                         datumCsysBuilder->SeTCsys(coord);. s' j. d9 F) O* D1 ?4 m3 O, R# B) W
  25.                         //set the scale factor
    3 ?# b- h- r7 u/ h0 a- I, [6 j
  26.                         datumCsysBuilder->SetDisplayScaleFactor(this->double0->GetProperties()->GetDouble("Value"));
    # N  z' F0 f$ ~4 p% t3 O
  27.                         datumCsysBuilder->Commit();' H. n. r6 ~$ ^6 L" u' S5 P
  28.                         std::vector< NXOpen::NXObject * >  GetCommittedObjects;1 w3 A& l  T3 L" E
  29.                         GetCommittedObjects=datumCsysBuilder->GetCommittedObjects();
    7 ]% L2 c9 T" r  C, K' O! {
  30.                         datumCsysBuilder->Destroy();7 i: T2 Y+ U3 S& q+ ]# h' U
  31.                         // set the color
    # @6 A! d' V: W& F2 W" o4 G
  32.                     NXOpen::DisplayModification *displayObject;( U7 s6 a7 |. O, `0 g6 G# f: }7 {6 G
  33.                         displayObject = theSession->DisplayManager()->NewDisplayModification();
    " z1 G" T$ }* W7 l. v% [
  34.                         displayObject->SetApplyToAllFaces(true);
    8 [5 A. B5 w* m) {
  35.   }9 k2 C3 f2 c# U5 `3 {
  36.                         // get the color from the UI9 W8 Y  Q2 y. _& q# E
  37.                         std::vector<int> color = this->colorPicker0->GetProperties()->GetIntegerVector("Value");
    + m% l0 F" t) w9 l+ m- b0 Q( |
  38.                         displayObject->SetNewColor(color[0]);: L  Z, _, O: @; C7 O0 b: \1 s
  39. ) f' }1 e8 U" P7 N+ b& x
  40.                         std::vector <DisplayableObject *> csysObject;9 u4 L, C# @, `+ b
  41.                         ss.clear();8 x, \8 K- {  Y4 t* @- ~1 y
  42.                         ss.str("");: F2 |- I+ H- F7 M+ {
  43.                         ss<<"一个坐标系生成的对象有几个:"<< GetCommittedObjects.size()<<endl;' W0 @- ^+ W  J4 j
  44.                         lw->WriteLine(ss.str());
    ' m% k5 b5 O/ ]% c0 i
  45.                         for(unsigned int i = 0 ; i < GetCommittedObjects.size();i ++ )
    7 g+ ]2 k1 e  U' B( @. s  w
  46.                         {' D8 F6 ?2 L( h
  47.                                 csysObject.push_back(        dynamic_cast<DisplayableObject *>(GetCommittedObjects[i]));' V& |' _- g4 L
  48.                         }! O5 i/ t: J# B! ?1 j8 Q, m) z8 e7 b- {
  49.                         displayObject->Apply(csysObject);$ D, @' l. W8 |5 _' q) U
  50.                         delete displayObject;
    : N) E1 J: g, k! N. `# i
  51.     }
复制代码

/ B' h+ a$ i% P, X. m" I  U+ z9 e* o
- ~" }# K7 C' V7 O

$ E3 k- f( \  f/ p
8 G% K9 N; w! q0 u
, }1 r; c4 x7 }( c

/ z: e) G2 N8 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创建2 t# [- n) E2 ` a' E% r1 \' J' K' j ; w! y8 P9 l: Q+ u, w3 c- k# y2 F
该会员没有填写今日想说内容.
回复 支持 反对

使用道具 举报

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对象  |! z- }9 ^% J; S% [7 r
8 h1 K  y" v* n2 M6 Y
( V. _6 C( H; ^2 `0 B  p$ x5 r0 @8 D

4 T- Y- x- u- j/ A
上海点团信息科技有限公司,承接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对象颜色! d! i6 C  w- Z8 ~6 s5 k! Z! r. L
# ]$ q' i: R1 @. c3 y, [& n
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了