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

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

  [复制链接]

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

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

mildcat 楼主

2013-12-2 20:43:43

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

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

x
PLM之家-NX9.0 二次开发实例视频-24 创建自定义基准CSYS
: m4 R9 E+ D1 p7 S* T9 w* O9 i& |& w
, E% Z9 A9 g" C$ E* T; s7 ~

0 C  P. ?- t& C, H' c$ V) K内容:: o: X. n& ~$ B$ r( T" R
创建自定义基准CSYS控件使用,熟悉使用CSYS控件,熟悉使用NX Open C++进行对象的颜色修改。: @/ Z) V: L* e! c" J' i5 I
目的:
! ^3 X  S! q2 ^/ i) ~- F  C+ C5 P使用CSYS控件可以获得一个基准坐标,对应基准坐标需要使用坐标创建才能得到,要想对基准坐标进行颜色的修改,需要对基准的所有自对象进行修改。; Z2 [* U4 y" j8 f/ J1 w1 g2 t& L

: }$ e6 v) }8 N  m% _  _1 q$ `) q6 \! J6 ~0 D
5 r  m' d9 _1 k

24 创建自定义基准CSYS

24 创建自定义基准CSYS

4 ]& ^+ X2 Y1 w- l, t9 ]# e

5 \3 X' J# F0 d; e' g* d) B2 p" R, |$ T/ L( @

8 q# Y0 g5 @4 ]" l6 m2 g
  1. try) r& l) a1 l3 t! O2 D0 ?" W" ~
  2.     {. U. n  Z9 q6 L% R3 a
  3.         //---- Enter your callback code here ------ C. H. b# L& f7 i/ A" T: b8 y

  4. 2 I/ Q( j7 ]/ I& ^. n
  5.                      NXOpen::ListingWindow  *lw = theSession->ListingWindow();$ D5 m7 S! i  [3 |1 d: K
  6.                          stringstream ss;6 n- \& K$ a% b7 w' X
  7.                         NXOpen::Vector3d xdir,ydir;
    3 F) z! e/ f3 j' [
  8.                         NXOpen::Point3d originPoint;
    1 U/ B7 [- o5 ], v6 _% b4 |3 X+ y
  9.                         lw->Open();" x2 r$ {1 G4 t4 u6 x& d
  10.                         ss << ("创建的坐标系统信息如下:\n");
    # e" X1 A( V1 G: X" }7 C3 q
  11.             std::vector<NXOpen::TaggedObject *> coordObjects = this->coord_system0->GetProperties()->GetTaggedObjectVector("SelectedObjects");
    ; m6 F" ?9 N$ ?9 }0 X; O) E0 D
  12.                         NXOpen::CartesianCoordinateSystem *coord = dynamic_cast<NXOpen::CartesianCoordinateSystem *>(coordObjects[0]);& Q( Q2 |- \  @
  13.                coord->GetDirections(&xdir,&ydir);
    ) J4 Y' ^! ^/ f$ q' C5 o1 w/ ]& c
  14.                         ss<<"返回的坐标系X方向矢量是:"<<xdir.X<<"\t"<<xdir.Y<<"\t"<<xdir.Z<<endl;" i$ ]: F2 g8 n! L
  15.                         ss<<"返回的坐标系Y方向矢量是:"<<ydir.X<<"\t"<<ydir.Y<<"\t"<<ydir.Z<<endl;2 S  c: \) @- f' ]
  16.                         originPoint = coord->Origin();
    ! n( C8 C/ A3 H& ~+ G/ E
  17.                         ss<<"返回的坐标系中心是:"<<originPoint.X<<"\t"<<originPoint.Y<<"\t"<<originPoint.Z<<endl;8 _+ |1 V2 u& E  e0 y5 g
  18.                         lw->WriteLine(ss.str());5 W+ m& X0 D  B
  19.                   // create the csys3 |' H# ]9 i; J  ~9 A+ T3 i
  20.                         Part *workpart(theSession->Parts()->Work());
    ) h: ~2 W8 P* x+ H0 T
  21.                         Features::Feature *null_feature(NULL);
    3 S9 _* b5 T  g5 Q
  22.                         Features::DatumCsysBuilder *datumCsysBuilder ;
    - f. I8 l8 _& E+ K7 d6 T
  23.                         datumCsysBuilder = workpart->Features()->CreateDatumCsysBuilder(null_feature);
    2 N# d8 O7 o* u0 `& ?6 T
  24.                         datumCsysBuilder->SeTCsys(coord);
    ) ~/ t7 o4 T1 W$ r; |; G5 [, p
  25.                         //set the scale factor$ e  V3 _: h) t) ?
  26.                         datumCsysBuilder->SetDisplayScaleFactor(this->double0->GetProperties()->GetDouble("Value"));
    , C3 v. X& K: o
  27.                         datumCsysBuilder->Commit();
    2 b' f) Y- T0 @) o+ U0 a0 Z
  28.                         std::vector< NXOpen::NXObject * >  GetCommittedObjects;
    * D# w. D5 Y" U, y" V( v
  29.                         GetCommittedObjects=datumCsysBuilder->GetCommittedObjects();; f$ ^; X9 Q  n8 }
  30.                         datumCsysBuilder->Destroy();/ a! _* j* l# z( m" n( Y1 W# @
  31.                         // set the color
    ) o" v4 c& C/ {+ h4 p
  32.                     NXOpen::DisplayModification *displayObject;% l$ p, v( [4 z1 ^
  33.                         displayObject = theSession->DisplayManager()->NewDisplayModification();* V. a! B7 Q+ M2 i
  34.                         displayObject->SetApplyToAllFaces(true);1 ?/ t: Q  M; `2 h! y7 I; z
  35. 9 m. T, d- @- q, H9 P
  36.                         // get the color from the UI
    1 I2 g& g+ W5 T0 O) A) c
  37.                         std::vector<int> color = this->colorPicker0->GetProperties()->GetIntegerVector("Value");, p- C+ m) m9 X; u0 y
  38.                         displayObject->SetNewColor(color[0]);6 K! \6 \; I& R. ?

  39. 6 j3 P1 w3 m. l: G3 B% w8 h# H' v
  40.                         std::vector <DisplayableObject *> csysObject;" a5 E+ N5 o" ~2 \/ d0 A
  41.                         ss.clear();) c3 {# i- S7 v/ R0 Y# K: p: n. E3 t
  42.                         ss.str("");
    ! l; J7 b7 r& C5 h3 V
  43.                         ss<<"一个坐标系生成的对象有几个:"<< GetCommittedObjects.size()<<endl;7 Y  h4 Z6 Y2 V
  44.                         lw->WriteLine(ss.str());
    3 `/ _  j9 w5 v0 I3 T
  45.                         for(unsigned int i = 0 ; i < GetCommittedObjects.size();i ++ )" w. s+ I0 J& |* S) @6 B1 x; g8 F
  46.                         {/ s* J6 N) B0 t
  47.                                 csysObject.push_back(        dynamic_cast<DisplayableObject *>(GetCommittedObjects[i]));7 C: v7 s: X  U: B  O0 p4 F6 ]7 W
  48.                         }) `# U6 T5 v: ?, u  t$ {
  49.                         displayObject->Apply(csysObject);
    7 v/ W( _( u. C; _
  50.                         delete displayObject;- |) ^. T4 O. N7 Y
  51.     }
复制代码

) `* x7 O2 k) }- @
, O& d. k/ B4 m
! ?9 x- _: W1 D; J' m& `, m
3 d: n* s5 q9 b; I3 S' Q
# p) A' H# K$ A
- }& ^! Y0 \# w
该会员没有填写今日想说内容.
回复

使用道具 举报

全部回复127

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

mildcat 来自 2#

2013-12-2 20:43:58

PLM之家-NX9.0二次开发实例 24 创建自定义基准CSYS控件使用(1)block UI创建6 z U( o9 x$ f; A ; o! k% F, v7 @2 A q4 a r
该会员没有填写今日想说内容.
回复 支持 反对

使用道具 举报

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对象
0 E; |+ |$ T. [4 I$ [( w9 ]" l5 W" I/ l% W4 m1 q: t2 e! f% x/ k& j( w
. W7 V+ R- x8 g) S, X- b3 l

+ X9 m& t3 U$ A* e$ U
上海点团信息科技有限公司,承接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对象颜色
* G7 u( E" X7 |& ~3 d  U- Q4 T$ [* S
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了