PLM之家精品课程培训,联系电话:18301858168 QQ: 939801026

  • NX二次开培训

    NX二次开培训

    适合初级入门或想深入了解二次开发的工程师,本培训结合ufun,NXOpen C++,大量的实例及官方内部的开发技术对于老鸟也值得借鉴!.

    NX CAM二次开发培训报名 NX二次开发基础培训报名
  • PLM之家Catia CAA二次开发培训

    Catia二次开发培训

    Catia二次开发的市场大,这方面开发人才少,难度大。所以只要你掌握了开发,那么潜力巨大,随着时间的积累,你必将有所用武之地!

  • PLM之Teamcenter最佳学习方案

    Teamcenter培训

    用户应用基础培训,管理员基础培训,管理员高级培训,二次开发培训应有尽有,只要你感兴趣肯学习,专业多年经验大师级打造!

  • PLM之Tecnomatix制造领域培训

    Tecnomatix培训

    想了解制造领域数字化吗?想了解工厂,生产线设计吗?数字化双胞胎,工业4.0吗?我们的课程虚位以待!

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

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

  [复制链接]

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

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

mildcat 楼主

2013-12-2 20:43:43

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

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

x
PLM之家-NX9.0 二次开发实例视频-24 创建自定义基准CSYS  y7 x8 f7 U  e7 s# {- U4 b
, W' G: a7 y- ]0 C/ `
# e! v9 s( Z1 z. n
内容:
- f# T. X8 }4 T创建自定义基准CSYS控件使用,熟悉使用CSYS控件,熟悉使用NX Open C++进行对象的颜色修改。
1 B3 K/ e3 E+ g# F/ W, U目的:
0 Y. B0 J% E, G' f使用CSYS控件可以获得一个基准坐标,对应基准坐标需要使用坐标创建才能得到,要想对基准坐标进行颜色的修改,需要对基准的所有自对象进行修改。. {7 ?# M; p& [

$ M8 w2 T0 ~0 Q) H/ }  [
; D7 q8 d# K# x# G/ v
8 t4 n" |% Q, Y' b3 {% h

24 创建自定义基准CSYS

24 创建自定义基准CSYS

3 ^+ Q; _9 u7 O, c2 M

, h) G  y6 P. P7 G; L: c& s7 y6 k( Q) i9 z( ]; A
1 L( e9 h5 L; q4 p4 H$ V, s
  1. try$ }' E  F6 g8 W! H3 ]7 g
  2.     {  S* C. i* d- ~" z
  3.         //---- Enter your callback code here -----. r3 b+ l' l1 T2 @0 ~

  4. . B/ a3 ~. R5 P! m1 K+ b
  5.                      NXOpen::ListingWindow  *lw = theSession->ListingWindow();/ G- Z+ G7 c' F
  6.                          stringstream ss;1 m* t) w* I8 _: |5 H: k* D& S8 z8 Y
  7.                         NXOpen::Vector3d xdir,ydir;
    9 v& J* D1 `! t' O$ s
  8.                         NXOpen::Point3d originPoint;
    , Z, P' d5 i6 w$ O
  9.                         lw->Open();
    ' p9 M3 y4 E+ f
  10.                         ss << ("创建的坐标系统信息如下:\n");1 m4 ?( r/ N" }! D3 W8 P, {7 e6 q
  11.             std::vector<NXOpen::TaggedObject *> coordObjects = this->coord_system0->GetProperties()->GetTaggedObjectVector("SelectedObjects");
    4 ]  v) T8 D  T7 j4 d- e/ D' Y
  12.                         NXOpen::CartesianCoordinateSystem *coord = dynamic_cast<NXOpen::CartesianCoordinateSystem *>(coordObjects[0]);
    * _1 _7 d$ U2 I" r) ]
  13.                coord->GetDirections(&xdir,&ydir);
    - }; f$ |7 }# p: n
  14.                         ss<<"返回的坐标系X方向矢量是:"<<xdir.X<<"\t"<<xdir.Y<<"\t"<<xdir.Z<<endl;
    0 m. w" Q. l8 E2 j& u
  15.                         ss<<"返回的坐标系Y方向矢量是:"<<ydir.X<<"\t"<<ydir.Y<<"\t"<<ydir.Z<<endl;* e0 C3 u. v) F& ~' R8 o8 L
  16.                         originPoint = coord->Origin();
    $ s8 d$ X6 p6 Q3 o2 B& a
  17.                         ss<<"返回的坐标系中心是:"<<originPoint.X<<"\t"<<originPoint.Y<<"\t"<<originPoint.Z<<endl;: ^6 B" ?- J) N; f8 p# {+ Y
  18.                         lw->WriteLine(ss.str());/ q! G" n. \8 C( e. a0 ?7 O) G
  19.                   // create the csys
    8 [+ |- P/ Y6 Z- Q1 K7 |$ G' _
  20.                         Part *workpart(theSession->Parts()->Work());. H8 C) r" a% d; V
  21.                         Features::Feature *null_feature(NULL);0 U5 e2 h7 o; N$ V. U9 U
  22.                         Features::DatumCsysBuilder *datumCsysBuilder ;' l( T! u; A' L3 r
  23.                         datumCsysBuilder = workpart->Features()->CreateDatumCsysBuilder(null_feature);6 u$ M2 c* J6 }$ m
  24.                         datumCsysBuilder->SeTCsys(coord);
    7 D& I9 d/ p7 l% q* ^
  25.                         //set the scale factor
    0 E% v4 l6 x7 w" ]% B& I
  26.                         datumCsysBuilder->SetDisplayScaleFactor(this->double0->GetProperties()->GetDouble("Value"));5 B- k5 R" {7 t; J" y$ Y* n% L
  27.                         datumCsysBuilder->Commit();# b, ?7 N7 U) w
  28.                         std::vector< NXOpen::NXObject * >  GetCommittedObjects;, \7 ^, V& q+ R3 H2 F7 \+ _
  29.                         GetCommittedObjects=datumCsysBuilder->GetCommittedObjects();7 E; F4 X9 x; @* z, ]2 Q% r
  30.                         datumCsysBuilder->Destroy();
    4 h$ D2 ~* o. {/ D! T' a8 u
  31.                         // set the color
    & J$ E3 i, d2 J2 z7 x4 y, A
  32.                     NXOpen::DisplayModification *displayObject;
    ) Q; r3 q8 W+ z5 G% \
  33.                         displayObject = theSession->DisplayManager()->NewDisplayModification();" ^; T" v0 {3 T4 s  d
  34.                         displayObject->SetApplyToAllFaces(true);1 d9 q3 n1 }9 y) t5 N3 T( _

  35. 9 U  f; u4 N4 |/ S8 m3 D
  36.                         // get the color from the UI
    4 H/ r( N% ?6 Q  p
  37.                         std::vector<int> color = this->colorPicker0->GetProperties()->GetIntegerVector("Value");
    " K% Q2 q$ h& D. Q1 x" Y, V/ i5 g: v
  38.                         displayObject->SetNewColor(color[0]);$ e# p! c5 j+ G0 E! L
  39. & `6 _- E, d* ]" s: _1 w
  40.                         std::vector <DisplayableObject *> csysObject;
    6 O$ R+ B  p8 b) V
  41.                         ss.clear();
    * Z( U4 D, k6 ~' Y
  42.                         ss.str("");, x& \' S; J! X# v2 g# T
  43.                         ss<<"一个坐标系生成的对象有几个:"<< GetCommittedObjects.size()<<endl;
    7 Q1 n) O2 h: l; V
  44.                         lw->WriteLine(ss.str());! e4 \# u6 d$ t9 K* r7 R: S% d
  45.                         for(unsigned int i = 0 ; i < GetCommittedObjects.size();i ++ )
    5 v7 {* r: U4 _& L9 I! Q
  46.                         {
    0 t3 V5 v' g6 Q# i; \, u# u/ @
  47.                                 csysObject.push_back(        dynamic_cast<DisplayableObject *>(GetCommittedObjects[i]));
    4 v+ R. w3 g+ v+ D) M
  48.                         }
    ! h, X0 Q0 r, y# W/ \0 z/ l
  49.                         displayObject->Apply(csysObject);" ~* K5 D6 Z3 _" A
  50.                         delete displayObject;
    ( P) \, i$ P: x$ S) u2 c
  51.     }
复制代码
, E, Z! ^* g8 j0 `% A$ f( `

& r2 X" A8 a- y( Q& Y
  j' `0 ~/ Q# I: \4 W

. q9 f  }- l1 P" B5 n
/ q4 P. w! \' n2 v% ^" u
# m& {* F3 n/ |& \* ^0 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创建+ a4 A+ t4 f& [ H6 r* G0 [ 5 m9 a$ a, |+ R0 G6 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 网址 www.diantuankj.com/ 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 网址 www.diantuankj.com/ doTeam.tech
回复 支持 反对

使用道具 举报

admin 发表于 2017-10-15 15:27:00

admin 来自 #

2017-10-15 15:27:00

PLM之家-NX9.0二次开发实例 24 创建自定义基准CSYS控件使用(4)创建csys对象
+ a6 I" G8 \8 p; ?$ x6 |1 B$ o9 y, Z) T

. [5 h' p! M, W- ~4 b0 V/ K; `8 D7 ~% e/ }/ ?, Q7 y/ T
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复 支持 反对

使用道具 举报

admin 发表于 2017-10-15 15:27:52

admin 来自 #

2017-10-15 15:27:52

PLM之家-NX9.0二次开发实例 24 创建自定义基准CSYS控件使用(5)更改CSYS对象颜色- C8 P. V' T; [1 h/ i; T
0 J5 B4 [% X: a1 n1 u
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ 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二次开发专题模块培训报名开始啦

    我知道了