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

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

  [复制链接]

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

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

mildcat 楼主

2013-12-2 20:43:43

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

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

x
PLM之家-NX9.0 二次开发实例视频-24 创建自定义基准CSYS0 ?  v* Z& K! f5 J$ W
4 |- k  Q: `; D/ W$ |

( S+ x9 d, J$ Z* x9 d; b9 M内容:$ X5 v. I6 H$ p7 q. E9 b* P
创建自定义基准CSYS控件使用,熟悉使用CSYS控件,熟悉使用NX Open C++进行对象的颜色修改。
/ E$ b' V2 o% Z4 e  c  D目的:
; b5 O* i6 q$ c使用CSYS控件可以获得一个基准坐标,对应基准坐标需要使用坐标创建才能得到,要想对基准坐标进行颜色的修改,需要对基准的所有自对象进行修改。/ I: X% p( V9 |0 |- C# V1 Z4 J+ N! p

. c, U1 S6 f+ \* w! k: {* z# V4 s* K9 h6 j5 T: `4 }1 n
. P" g+ v" ?5 n4 L' Q! Q8 J0 U* n' ^

24 创建自定义基准CSYS

24 创建自定义基准CSYS
6 G8 P6 l5 ]" J  ]0 `& }
6 t! C8 p5 K: G' [6 u1 Q/ i& v
3 m* k: g" h8 _# K9 h
: V3 V, L5 |& l8 M
  1. try4 J$ q( y4 F+ X$ i! j. M
  2.     {
    , F  {  @) O6 b( F% C" b
  3.         //---- Enter your callback code here -----% Y- T" I+ _3 h8 y

  4. + e6 y- R) }; t7 z, W
  5.                      NXOpen::ListingWindow  *lw = theSession->ListingWindow();
    $ [) i7 f5 L. U- O; T4 h
  6.                          stringstream ss;4 c- ]$ T6 P; L) `. y) {
  7.                         NXOpen::Vector3d xdir,ydir;8 G0 M7 T3 S. m0 r
  8.                         NXOpen::Point3d originPoint;
    * z: n* A. i1 f' T' I: {
  9.                         lw->Open();
    - S- W& B; S. ?3 g: K
  10.                         ss << ("创建的坐标系统信息如下:\n");8 \1 _3 i! z; x0 ]9 J1 v( N' K+ T
  11.             std::vector<NXOpen::TaggedObject *> coordObjects = this->coord_system0->GetProperties()->GetTaggedObjectVector("SelectedObjects");
    ( @& Q# R1 w, }& Q) O6 B* p
  12.                         NXOpen::CartesianCoordinateSystem *coord = dynamic_cast<NXOpen::CartesianCoordinateSystem *>(coordObjects[0]);
    , H# B9 i4 x5 C5 s; v, y: I' f5 |
  13.                coord->GetDirections(&xdir,&ydir);
    # D% w9 @  H4 l$ N$ l; Z
  14.                         ss<<"返回的坐标系X方向矢量是:"<<xdir.X<<"\t"<<xdir.Y<<"\t"<<xdir.Z<<endl;
    ) N/ g3 |* n) A' L, q0 u& o
  15.                         ss<<"返回的坐标系Y方向矢量是:"<<ydir.X<<"\t"<<ydir.Y<<"\t"<<ydir.Z<<endl;3 Q; U- _; f6 a! K
  16.                         originPoint = coord->Origin();
    $ U1 C9 Y; G7 W) B% `1 E  [6 M
  17.                         ss<<"返回的坐标系中心是:"<<originPoint.X<<"\t"<<originPoint.Y<<"\t"<<originPoint.Z<<endl;
    0 B  ]6 `3 f# W' x* c/ T6 ^
  18.                         lw->WriteLine(ss.str());
    ' i6 d& f+ \8 Z9 X% J6 Q8 \* \7 U& f
  19.                   // create the csys
    ' s8 x4 t. f* }/ Y/ Y
  20.                         Part *workpart(theSession->Parts()->Work());
    ( l  `& r5 l) q0 v, }
  21.                         Features::Feature *null_feature(NULL);
    1 m% x7 V9 e" v& E6 y6 {; S! D
  22.                         Features::DatumCsysBuilder *datumCsysBuilder ;
    % X, b! y0 }4 _! _
  23.                         datumCsysBuilder = workpart->Features()->CreateDatumCsysBuilder(null_feature);" _: g$ V  N1 ?' k) S9 J* S
  24.                         datumCsysBuilder->SeTCsys(coord);
    ( J. l; C) a% r, Y) n, O
  25.                         //set the scale factor
    + \. g4 Y$ ~2 W6 R6 ^
  26.                         datumCsysBuilder->SetDisplayScaleFactor(this->double0->GetProperties()->GetDouble("Value"));
    8 F$ B" d: I/ y
  27.                         datumCsysBuilder->Commit();
    - S& v& E% ^+ x: b# o  o, n2 G
  28.                         std::vector< NXOpen::NXObject * >  GetCommittedObjects;/ [6 H7 G0 D! F/ N1 W' G
  29.                         GetCommittedObjects=datumCsysBuilder->GetCommittedObjects();
    ; V; F: J& Z7 c9 i3 ?  A  L; g
  30.                         datumCsysBuilder->Destroy();
    + N0 X( c' ^: h' l! l
  31.                         // set the color
    / \# t" i- T2 {( E
  32.                     NXOpen::DisplayModification *displayObject;
    8 {" {& N/ E, j1 c1 C2 k4 g1 V+ O
  33.                         displayObject = theSession->DisplayManager()->NewDisplayModification();$ I9 T/ Q, f6 E0 D3 z6 o/ k$ c
  34.                         displayObject->SetApplyToAllFaces(true);$ N  `$ k% y  h* u- C! W
  35. 5 D& p* }- Z. I. j
  36.                         // get the color from the UI* E, g3 ~  r! Y3 q  M
  37.                         std::vector<int> color = this->colorPicker0->GetProperties()->GetIntegerVector("Value");' f' l  t# a5 g* s& f8 J
  38.                         displayObject->SetNewColor(color[0]);
    ( W/ b8 m' K# l) k2 t3 H; e
  39. 0 m/ M0 B: K1 h0 x# R2 I
  40.                         std::vector <DisplayableObject *> csysObject;2 T- I0 ]( [9 v
  41.                         ss.clear();9 O0 K7 U+ m# r
  42.                         ss.str("");
    : W# k1 f! h* T" `& j
  43.                         ss<<"一个坐标系生成的对象有几个:"<< GetCommittedObjects.size()<<endl;
    ; y, I! S; f6 j- l
  44.                         lw->WriteLine(ss.str());
    ) y7 E: d% |" E+ L
  45.                         for(unsigned int i = 0 ; i < GetCommittedObjects.size();i ++ )
    , c& B0 N6 u- T
  46.                         {" r. I0 ]/ r- f+ O
  47.                                 csysObject.push_back(        dynamic_cast<DisplayableObject *>(GetCommittedObjects[i]));0 T7 ]  J, J' Y0 s, L9 W0 `( k
  48.                         }: y$ T- y9 c. k, T1 I
  49.                         displayObject->Apply(csysObject);
    3 Z, j2 |0 [8 _+ l' {
  50.                         delete displayObject;
    2 r7 o1 j- S2 T# F( a; _
  51.     }
复制代码
' S5 R/ L% c/ `% K
9 \7 O* i' X4 B4 ^

  ]1 w* V5 P+ _2 B: O4 {
6 j) X, J0 h0 B! T

, B- O" ]; W; h
7 Y& }1 C6 j8 ~. W& `. K
该会员没有填写今日想说内容.
回复

使用道具 举报

全部回复127

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

mildcat 来自 2#

2013-12-2 20:43:58

PLM之家-NX9.0二次开发实例 24 创建自定义基准CSYS控件使用(1)block UI创建 3 N- ~# { @- [0 I; D+ p/ m# { : z: S: v; ?! |/ _. ^5 O$ h# N* N
该会员没有填写今日想说内容.
回复 支持 反对

使用道具 举报

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对象
' {- q) A3 I, v9 H& ^' z" M2 c6 w2 I' Q) ~8 }# m5 n

( V, E6 D0 T4 C8 H9 }
8 E7 x) T: p! c" A) M2 \- ]
上海点团信息科技有限公司,承接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对象颜色" ~& k2 J3 o1 y9 H0 }

; g$ g. ]- u; s: }0 l7 e% o9 u
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了