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

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

  [复制链接]

2013-12-28 12:02:42 40012 133

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

mildcat 楼主

2013-12-2 20:43:43

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

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

x
PLM之家-NX9.0 二次开发实例视频-24 创建自定义基准CSYS8 i( B  M: L9 S, h

5 L/ K7 j6 |1 I$ d  W. h3 J, I* O

* R6 h9 H! {$ Q" w- ^6 U# r内容:9 F$ @+ e  O) Z4 [) r+ Q- {
创建自定义基准CSYS控件使用,熟悉使用CSYS控件,熟悉使用NX Open C++进行对象的颜色修改。9 u( L. e! @; @2 _# Y
目的:
* X5 w" A) e/ z使用CSYS控件可以获得一个基准坐标,对应基准坐标需要使用坐标创建才能得到,要想对基准坐标进行颜色的修改,需要对基准的所有自对象进行修改。: D5 A$ ]6 R% t& |
; e* P; \, _! p1 s# o; d& j
( j$ q6 J' `0 u5 o
/ x! U! g; U: Z6 }" P6 H% f1 H

24 创建自定义基准CSYS

24 创建自定义基准CSYS

+ U) H9 ^1 @( @0 g" N( `

7 Q) h" x$ c8 r( c
8 s4 B4 D# g# G% t9 h, I
# g' [* F8 s6 [& a3 M9 ^1 n
  1. try
    8 O: i! o- C) \- ?& c
  2.     {
    ' _! J0 }$ Y$ _: h3 V! P! y1 |
  3.         //---- Enter your callback code here -----
    6 y, @% a  |( j

  4. 8 o  ^2 [! |6 H# [
  5.                      NXOpen::ListingWindow  *lw = theSession->ListingWindow();
    3 L$ d! {# e) T# U
  6.                          stringstream ss;
    + G9 Z9 ~, ]3 U8 T+ n
  7.                         NXOpen::Vector3d xdir,ydir;
    * R2 C5 w. H" n$ z8 l7 e
  8.                         NXOpen::Point3d originPoint;
    ! v# b( z  r0 Z8 I( z$ Y
  9.                         lw->Open();" H+ i, }7 F  T. H; o
  10.                         ss << ("创建的坐标系统信息如下:\n");
    8 W2 D1 I, ^* H% `, [
  11.             std::vector<NXOpen::TaggedObject *> coordObjects = this->coord_system0->GetProperties()->GetTaggedObjectVector("SelectedObjects");
    5 ?4 _( v7 k+ l, H% s
  12.                         NXOpen::CartesianCoordinateSystem *coord = dynamic_cast<NXOpen::CartesianCoordinateSystem *>(coordObjects[0]);% x5 c1 a8 l& U* z
  13.                coord->GetDirections(&xdir,&ydir);$ h2 g4 J/ ], g
  14.                         ss<<"返回的坐标系X方向矢量是:"<<xdir.X<<"\t"<<xdir.Y<<"\t"<<xdir.Z<<endl;! [) q% N; Q8 v. D) e' r) F' X
  15.                         ss<<"返回的坐标系Y方向矢量是:"<<ydir.X<<"\t"<<ydir.Y<<"\t"<<ydir.Z<<endl;
    , b" w3 k1 f& i
  16.                         originPoint = coord->Origin();8 S) w; K$ q3 ^0 t+ q& K. Q4 m
  17.                         ss<<"返回的坐标系中心是:"<<originPoint.X<<"\t"<<originPoint.Y<<"\t"<<originPoint.Z<<endl;
      ?7 Q  i# S: w6 e$ ~6 T
  18.                         lw->WriteLine(ss.str());1 k+ C5 g4 T2 r3 H/ Z  ^; w' v$ B
  19.                   // create the csys! o2 z+ V0 I0 m7 g
  20.                         Part *workpart(theSession->Parts()->Work());  ?' h0 }( l, X( v
  21.                         Features::Feature *null_feature(NULL);
    / z1 o  c) f5 U" B
  22.                         Features::DatumCsysBuilder *datumCsysBuilder ;* j( {; ~& d. u, k1 `! h
  23.                         datumCsysBuilder = workpart->Features()->CreateDatumCsysBuilder(null_feature);
      ^9 k" O7 D2 d4 q+ A& c# s
  24.                         datumCsysBuilder->SeTCsys(coord);0 B- k8 G8 {- Z; Z0 N. I" b2 @( N
  25.                         //set the scale factor
    2 M' [1 R/ w3 i
  26.                         datumCsysBuilder->SetDisplayScaleFactor(this->double0->GetProperties()->GetDouble("Value"));$ P5 v9 s! Y0 v/ y1 W" w' i
  27.                         datumCsysBuilder->Commit();
    ; Y% W1 Q. E9 h# j3 Y  f. \/ Q" @* n
  28.                         std::vector< NXOpen::NXObject * >  GetCommittedObjects;7 k6 E& ?- m! u! s7 x! t; }% |! c
  29.                         GetCommittedObjects=datumCsysBuilder->GetCommittedObjects();) z, n/ E6 t# G2 B8 j7 j' C! n2 E
  30.                         datumCsysBuilder->Destroy();5 N+ C- l3 z, ^, ~2 ?$ B7 z" ]" _
  31.                         // set the color
    - O6 _, q# E9 `5 n( ~
  32.                     NXOpen::DisplayModification *displayObject;% Z- w# U, c: G3 O5 h# x  \
  33.                         displayObject = theSession->DisplayManager()->NewDisplayModification();
    ; V2 E3 `- n# A# b/ i
  34.                         displayObject->SetApplyToAllFaces(true);
    4 y  K1 [5 i) {9 ]

  35. " ~- Z$ j1 `0 f$ t3 i" j
  36.                         // get the color from the UI8 q0 ~- t* v, r# S  Z- I# j" ?8 Z
  37.                         std::vector<int> color = this->colorPicker0->GetProperties()->GetIntegerVector("Value");
    / Q4 s8 T( U' c) |. h3 q! g  l
  38.                         displayObject->SetNewColor(color[0]);' U/ m3 e) o" m7 m% \- n

  39. 2 ~: {& B1 D2 s! T- S. @" }
  40.                         std::vector <DisplayableObject *> csysObject;! k& l5 J+ c1 ?% f
  41.                         ss.clear();; |' J2 U8 @% l% @# u2 ]
  42.                         ss.str("");
      P; n# y' ?7 n9 `& M& x
  43.                         ss<<"一个坐标系生成的对象有几个:"<< GetCommittedObjects.size()<<endl;
    8 h6 p) ^2 g/ b# o2 G$ o7 Y/ E! T
  44.                         lw->WriteLine(ss.str());) E, `( v! M6 l! ~$ b
  45.                         for(unsigned int i = 0 ; i < GetCommittedObjects.size();i ++ )( E( a) ^- M8 s. T/ `) k
  46.                         {
    9 x2 P1 G' Z3 B& u
  47.                                 csysObject.push_back(        dynamic_cast<DisplayableObject *>(GetCommittedObjects[i]));
    + D" g8 o7 q: z( t8 c) E* k
  48.                         }
    / d; P# k2 p7 \5 W3 B. W4 O
  49.                         displayObject->Apply(csysObject);- q5 z5 q) z9 e6 h8 u, ?! U" e
  50.                         delete displayObject;
    " s8 {1 K) N- k; k1 U
  51.     }
复制代码

# A  q: ~- ~# _0 ]  _2 p) n; ?: ?
; F. y$ O! X( _& _8 `

% S' a) A, ^( ^* x* M
# z1 O# E. m" I* T
8 _) ]% w5 E3 w. T0 R
, `3 Q9 r, u, }' q
该会员没有填写今日想说内容.
回复

使用道具 举报

全部回复127

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

mildcat 来自 2#

2013-12-2 20:43:58

PLM之家-NX9.0二次开发实例 24 创建自定义基准CSYS控件使用(1)block UI创建" s! N7 k0 P* t4 L$ g }+ B ! }. v1 z, s& T3 Q9 r5 k
该会员没有填写今日想说内容.
回复 支持 反对

使用道具 举报

admin 发表于 2017-10-15 15:24:39

admin 来自 131#

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 来自 132#

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 来自 133#

2017-10-15 15:27:00

PLM之家-NX9.0二次开发实例 24 创建自定义基准CSYS控件使用(4)创建csys对象# c* H+ D- I6 g* K& p. A

8 h; v5 R9 P( v* V- ~) D

% K6 D: d5 e$ E: e
' K3 K* A+ T. {$ V
上海点团信息科技有限公司,承接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 来自 134#

2017-10-15 15:27:52

PLM之家-NX9.0二次开发实例 24 创建自定义基准CSYS控件使用(5)更改CSYS对象颜色) D8 _& }- M5 l$ }& g; m" D
1 Q, F- J0 E. b* {* q% T
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了