PLM之家PLMHome-工业软件与AI结合践行者

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

  [复制链接]

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

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

mildcat 楼主

2013-12-2 20:43:43

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

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

x
PLM之家-NX9.0 二次开发实例视频-24 创建自定义基准CSYS4 X/ R/ ]  a8 H/ W
0 q& W' [) W5 u7 p( y7 K6 f

! b4 C0 l3 ~) O6 h内容:" S3 `! G8 S8 D
创建自定义基准CSYS控件使用,熟悉使用CSYS控件,熟悉使用NX Open C++进行对象的颜色修改。
) o2 F7 S$ K+ o4 I5 U+ G4 ?8 }目的:
4 \0 p( T" E, g, f使用CSYS控件可以获得一个基准坐标,对应基准坐标需要使用坐标创建才能得到,要想对基准坐标进行颜色的修改,需要对基准的所有自对象进行修改。
7 T- S0 w$ e2 P4 l( N' J8 A4 \% s, U, _

9 q4 d5 a7 I* X  }( u* V' x

6 L1 f0 P" L% A' f" G9 J4 C5 W: x

24 创建自定义基准CSYS

24 创建自定义基准CSYS
* p, T7 ]# @1 X) x, o- l8 @& y

8 @+ _* Y7 y9 D% y1 h7 X: q2 T
, z# q1 ^$ k6 h! G+ ?7 j2 ^* Y
1 J% p: K* t1 J5 @$ r& e! P
  1. try
    & d7 B' ~+ M! n! E( o9 K
  2.     {) ?. }& B- t0 w) K
  3.         //---- Enter your callback code here -----
    3 ^3 w' i, k- E; T6 e+ X% Y

  4. + m2 a: B2 Q; ?1 Q
  5.                      NXOpen::ListingWindow  *lw = theSession->ListingWindow();
    4 {' e. W% r- j: Y& T" w' q; D
  6.                          stringstream ss;
    6 Z' B  q$ X/ C
  7.                         NXOpen::Vector3d xdir,ydir;
    , K% E) ~( Y7 V  |% F' M5 T
  8.                         NXOpen::Point3d originPoint;
    4 R; g. b; @) x5 \
  9.                         lw->Open();7 R, [5 L3 @) o8 w5 s: w
  10.                         ss << ("创建的坐标系统信息如下:\n");
    ) g9 [; x9 G8 }+ n3 d
  11.             std::vector<NXOpen::TaggedObject *> coordObjects = this->coord_system0->GetProperties()->GetTaggedObjectVector("SelectedObjects");
    3 e% o: W; j3 _& A
  12.                         NXOpen::CartesianCoordinateSystem *coord = dynamic_cast<NXOpen::CartesianCoordinateSystem *>(coordObjects[0]);2 ~" W8 f2 k7 g. K' |' f, ~0 T
  13.                coord->GetDirections(&xdir,&ydir);
      p# P" [$ Y6 `8 x, d/ G
  14.                         ss<<"返回的坐标系X方向矢量是:"<<xdir.X<<"\t"<<xdir.Y<<"\t"<<xdir.Z<<endl;" k4 }9 g+ _, T7 V& i3 V
  15.                         ss<<"返回的坐标系Y方向矢量是:"<<ydir.X<<"\t"<<ydir.Y<<"\t"<<ydir.Z<<endl;; f  X: b$ p- O: r
  16.                         originPoint = coord->Origin();
    : p6 V; P& b+ r; l+ o) r
  17.                         ss<<"返回的坐标系中心是:"<<originPoint.X<<"\t"<<originPoint.Y<<"\t"<<originPoint.Z<<endl;1 L9 I, P2 r2 ]5 A
  18.                         lw->WriteLine(ss.str());/ @4 }2 ]* |. r5 b& \, z7 `
  19.                   // create the csys. g9 K0 z+ ?8 `2 H" W* s0 D# c
  20.                         Part *workpart(theSession->Parts()->Work());6 r' A  n; T+ t& p
  21.                         Features::Feature *null_feature(NULL);
    % z$ i1 L: b. k/ s
  22.                         Features::DatumCsysBuilder *datumCsysBuilder ;6 i- Y: g( p- h( E5 O" u
  23.                         datumCsysBuilder = workpart->Features()->CreateDatumCsysBuilder(null_feature);
    2 l) C9 y8 ?+ f* w3 v- |
  24.                         datumCsysBuilder->SeTCsys(coord);
    ( c/ P1 i) j. L3 ~
  25.                         //set the scale factor- I$ @* T2 w. q9 w& G& `
  26.                         datumCsysBuilder->SetDisplayScaleFactor(this->double0->GetProperties()->GetDouble("Value"));8 A) `0 A  n( o( u" O, i
  27.                         datumCsysBuilder->Commit();
    # O: n0 B5 |' S( C" K: s" _
  28.                         std::vector< NXOpen::NXObject * >  GetCommittedObjects;
    ! n2 @# J/ q- a5 i, R
  29.                         GetCommittedObjects=datumCsysBuilder->GetCommittedObjects();' r3 O# N+ I2 \1 a7 o6 }
  30.                         datumCsysBuilder->Destroy();
    ) j% \% ~) R" ~% e: L) Q
  31.                         // set the color3 j* w! O' p/ b
  32.                     NXOpen::DisplayModification *displayObject;( L, u. w! [3 l9 W( E
  33.                         displayObject = theSession->DisplayManager()->NewDisplayModification();
    : x" w, H$ o$ ~+ H3 M8 s
  34.                         displayObject->SetApplyToAllFaces(true);
    " s$ Q. ^% e9 g6 z; t8 A' M

  35.   f! M% D, |* \4 Q; d
  36.                         // get the color from the UI8 O& Q" w0 \! S( I( ?* k+ }
  37.                         std::vector<int> color = this->colorPicker0->GetProperties()->GetIntegerVector("Value");
    , ~: d) b7 |6 u0 e; |' _
  38.                         displayObject->SetNewColor(color[0]);
    % r5 [$ F( f6 t2 R6 T7 B; p; Y- q

  39. 9 l' C2 _, E5 w( g6 \9 I
  40.                         std::vector <DisplayableObject *> csysObject;
    2 Z, X* m4 q, V; B! U
  41.                         ss.clear();
    % e  H8 z. ~  R+ \& u9 P
  42.                         ss.str("");5 X( j, ^+ N! x/ ~
  43.                         ss<<"一个坐标系生成的对象有几个:"<< GetCommittedObjects.size()<<endl;
    * V8 Z# H+ w+ r" w5 h- [# m* ?
  44.                         lw->WriteLine(ss.str());
    " v: {& E; C: g& \2 N- a
  45.                         for(unsigned int i = 0 ; i < GetCommittedObjects.size();i ++ )
    4 X% R; B" b/ k2 D- {; ]
  46.                         {
    # X  h8 Y, C5 Z+ {, p% Q0 {
  47.                                 csysObject.push_back(        dynamic_cast<DisplayableObject *>(GetCommittedObjects[i]));3 C# `0 f& [& ^" w: D( f* e: l+ d
  48.                         }7 S& Z* t6 e' a: B" j
  49.                         displayObject->Apply(csysObject);7 }) F( I0 m0 e  V
  50.                         delete displayObject;
    1 j/ P: v# S% P- q9 G
  51.     }
复制代码

+ A: o+ e# \/ }9 e) T4 |+ D/ {6 X- @+ {) h% O
3 B: a; q& {: {9 |

9 h. Z+ G. W$ G$ P0 A

! y# p5 V! t3 M/ b+ N% J& [4 C2 n- y* w9 v3 m. Y) ?" Y
该会员没有填写今日想说内容.
回复

使用道具 举报

全部回复127

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

mildcat 来自 2#

2013-12-2 20:43:58

PLM之家-NX9.0二次开发实例 24 创建自定义基准CSYS控件使用(1)block UI创建$ P! j" P- I+ I: `) `* I7 O 6 L0 m0 M( v; T% G) 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对象6 Y$ M* D* W5 }, ^
& M/ W  R: a- M2 W7 F' T

- k4 ~* B# ?/ G& Z5 M1 |$ C$ K7 u7 t. v2 @5 h5 O; C8 h% |
上海点团信息科技有限公司,承接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对象颜色' R0 R4 I- y! T7 M

- S% R) ~2 J( `
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了