查看: 47201|回复: 127

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

 火... [复制链接]

320

主题

226

回帖

9784

积分

管理员

PLM之家NX|TC专家

积分
9784
发表于 2013-12-2 20:43:43 | 显示全部楼层 |阅读模式

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

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

×
PLM之家-NX9.0 二次开发实例视频-24 创建自定义基准CSYS& N% b) b0 J8 d& e4 b6 d

7 {/ ^8 i9 w  m% V) `( `% C

; B! ~# N5 v: j  S* E, \内容:5 [3 [/ Z% O6 I7 t+ |4 r
创建自定义基准CSYS控件使用,熟悉使用CSYS控件,熟悉使用NX Open C++进行对象的颜色修改。" M. k. |2 ]( |: d
目的:
" a8 J5 \, T% |- M* w+ w, x使用CSYS控件可以获得一个基准坐标,对应基准坐标需要使用坐标创建才能得到,要想对基准坐标进行颜色的修改,需要对基准的所有自对象进行修改。7 i8 L" z' S6 ^/ P4 P$ v$ }0 X
- I0 A8 E: q) i& v, |+ d- K  y+ r
- E8 A- p: J- E2 C
3 L0 x  Q/ }' ]

24 创建自定义基准CSYS

24 创建自定义基准CSYS

! m& C& W( Y* S

$ x% c  p4 |! L# R! M" r- u
5 h+ f, J' C6 W, B: G2 S; w; w: \

0 w/ n& u  x2 j( o) J" z8 R
  1. try3 A, p+ S( w5 |) e
  2.     {  A/ W" Z* d; A% I* z( c) |
  3.         //---- Enter your callback code here -----2 z. ^. S1 ^  E( N

  4. 3 {, g) f! G: H8 G4 \$ \# |) D
  5.                      NXOpen::ListingWindow  *lw = theSession->ListingWindow();6 F+ P: b3 ?+ o7 E
  6.                          stringstream ss;
    # c' M, I. z3 G! ]
  7.                         NXOpen::Vector3d xdir,ydir;
    ' w3 z! _7 Y8 p0 O/ c
  8.                         NXOpen::Point3d originPoint;
    0 B) A; ]3 |& v' }
  9.                         lw->Open();
    6 e1 p/ Q8 y7 r# r
  10.                         ss << ("创建的坐标系统信息如下:\n");8 [" F; K, q7 N4 w4 W% n: C
  11.             std::vector<NXOpen::TaggedObject *> coordObjects = this->coord_system0->GetProperties()->GetTaggedObjectVector("SelectedObjects");
    ' S, C% d: K" x* X9 R4 [+ D
  12.                         NXOpen::CartesianCoordinateSystem *coord = dynamic_cast<NXOpen::CartesianCoordinateSystem *>(coordObjects[0]);; k! F: y; V2 r; k2 d4 L0 k( p
  13.                coord->GetDirections(&xdir,&ydir);
    * S  J" v, X0 g# Q" _: n0 L( }. d
  14.                         ss<<"返回的坐标系X方向矢量是:"<<xdir.X<<"\t"<<xdir.Y<<"\t"<<xdir.Z<<endl;1 R/ f# @" ?1 g/ ]: B) Q
  15.                         ss<<"返回的坐标系Y方向矢量是:"<<ydir.X<<"\t"<<ydir.Y<<"\t"<<ydir.Z<<endl;, ~; F% L9 P+ @! N/ ?2 \
  16.                         originPoint = coord->Origin();& ^' ?3 M* _0 B4 z6 j% v
  17.                         ss<<"返回的坐标系中心是:"<<originPoint.X<<"\t"<<originPoint.Y<<"\t"<<originPoint.Z<<endl;
    8 U( j! \5 o( {# R( q' g' Q0 o
  18.                         lw->WriteLine(ss.str());) U0 B% v( ^8 K; v+ R/ k4 ?
  19.                   // create the csys
    1 Q- z% f' t+ R; T. Q1 J/ Q
  20.                         Part *workpart(theSession->Parts()->Work());4 X, d' i) h+ \* @1 U# K
  21.                         Features::Feature *null_feature(NULL);0 E, w" d- Z. J5 t2 D! B
  22.                         Features::DatumCsysBuilder *datumCsysBuilder ;9 a8 d) F+ a2 ^: |; W# U
  23.                         datumCsysBuilder = workpart->Features()->CreateDatumCsysBuilder(null_feature);) R( c. ^4 B3 {5 x2 W3 Z8 o6 `
  24.                         datumCsysBuilder->SeTCsys(coord);
    1 D; l# X) T6 e  T" M
  25.                         //set the scale factor2 _* ?% u+ T, N
  26.                         datumCsysBuilder->SetDisplayScaleFactor(this->double0->GetProperties()->GetDouble("Value"));" b* l; ?+ ]- M- j" B
  27.                         datumCsysBuilder->Commit();  \8 X+ V  r; ]2 Y" S9 L
  28.                         std::vector< NXOpen::NXObject * >  GetCommittedObjects;7 \; X0 _9 p0 h& l
  29.                         GetCommittedObjects=datumCsysBuilder->GetCommittedObjects();3 M5 S5 o8 e* ^; U5 w8 b
  30.                         datumCsysBuilder->Destroy();
    8 e/ u+ `- \) t" X. }. j& r# ]
  31.                         // set the color
    3 U) K  D) i* u. W
  32.                     NXOpen::DisplayModification *displayObject;
    2 Q  _% G1 X& ^5 g- ?8 T4 O
  33.                         displayObject = theSession->DisplayManager()->NewDisplayModification();( N4 P2 t/ q6 O; ]
  34.                         displayObject->SetApplyToAllFaces(true);' w! _% w7 y: F2 [' C. s8 C
  35. * q5 }+ s9 X6 q% j1 {0 X4 F, O+ p& P
  36.                         // get the color from the UI0 q8 e. u/ J4 H# K0 U3 K5 f
  37.                         std::vector<int> color = this->colorPicker0->GetProperties()->GetIntegerVector("Value");$ i, Y8 _" c# O5 d* q
  38.                         displayObject->SetNewColor(color[0]);. U) L( g9 t4 h/ h3 y/ H( O

  39. ( J2 M6 A1 ]. \% O2 z3 M( `
  40.                         std::vector <DisplayableObject *> csysObject;
    ! ^+ `) h0 K9 q
  41.                         ss.clear();0 Q" _! ^' m7 E7 B9 e9 ?
  42.                         ss.str("");
    : a3 w4 B& |: G' G+ h0 n
  43.                         ss<<"一个坐标系生成的对象有几个:"<< GetCommittedObjects.size()<<endl;
    ' i/ x9 Y5 N" b- ~9 J
  44.                         lw->WriteLine(ss.str());9 _5 _; f) }  s8 q0 b& u+ v
  45.                         for(unsigned int i = 0 ; i < GetCommittedObjects.size();i ++ )( G" u' }2 U+ ?8 q  ~, g9 ^
  46.                         {! B& N/ v" c7 y  Y- k4 v
  47.                                 csysObject.push_back(        dynamic_cast<DisplayableObject *>(GetCommittedObjects[i]));
    % M' p4 h9 k3 I- A; A6 M
  48.                         }
    7 r% O( K. R3 |
  49.                         displayObject->Apply(csysObject);/ j8 O# j6 {$ u& t
  50.                         delete displayObject;
    ; t# J; T* y( b' J, w
  51.     }
复制代码

5 z( y/ u  c. p) t7 w1 Q" N" b6 C: ]; b3 j' |

' V7 |1 [" r. q9 R7 T  ^% ?
& }4 ~& u" J) x/ T/ S, i1 g

. k: \2 C4 G! v7 {8 a
# E5 x* x. |  ~) L1 x) x) j
该会员没有填写今日想说内容.
回复

使用道具 举报

320

主题

226

回帖

9784

积分

管理员

PLM之家NX|TC专家

积分
9784
 楼主| 发表于 2013-12-2 20:43:58 | 显示全部楼层
PLM之家-NX9.0二次开发实例 24 创建自定义基准CSYS控件使用(1)block UI创建 $ P1 a, c& P! j' D9 F. e) k- M$ R5 H: w2 \- t K. O; C, y* b
该会员没有填写今日想说内容.
回复 支持 反对

使用道具 举报

6

主题

4

回帖

60

积分

管理员

积分
60
发表于 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.doteam.tech
回复 支持 反对

使用道具 举报

6

主题

4

回帖

60

积分

管理员

积分
60
发表于 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.doteam.tech
回复 支持 反对

使用道具 举报

6

主题

4

回帖

60

积分

管理员

积分
60
发表于 2017-10-15 15:27:00 | 显示全部楼层
PLM之家-NX9.0二次开发实例 24 创建自定义基准CSYS控件使用(4)创建csys对象9 ^+ Z/ v- _2 V$ d- Y( C  a- q
+ r, W6 X% `' e) Z; o+ Q$ o
5 ?1 {6 p: v( C; y+ w

/ Y9 E0 M( A, u
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复 支持 反对

使用道具 举报

6

主题

4

回帖

60

积分

管理员

积分
60
发表于 2017-10-15 15:27:52 | 显示全部楼层
PLM之家-NX9.0二次开发实例 24 创建自定义基准CSYS控件使用(5)更改CSYS对象颜色
* c2 C# X) ]7 l; Y( J
' S% q) Y8 c' Y  e/ L' e; V% J
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复 支持 反对

使用道具 举报

0

主题

64

回帖

358

积分

中级会员

积分
358
发表于 2013-12-8 15:37:44 | 显示全部楼层
楼主好厉害.
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复 支持 反对

使用道具 举报

0

主题

16

回帖

44

积分

新手上路

积分
44
发表于 2013-12-15 11:33:02 | 显示全部楼层
22232ddddd
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复 支持 反对

使用道具 举报

0

主题

25

回帖

88

积分

注册会员

积分
88
发表于 2013-12-23 12:17:57 | 显示全部楼层
dsfsgsdgsdg
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复 支持 反对

使用道具 举报

13

主题

92

回帖

443

积分

中级会员

积分
443
发表于 2013-12-28 12:02:42 | 显示全部楼层
相当给力,顶一个
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

在本版发帖
关注公众号
QQ客服返回顶部