PLM之家精品课程培训

PLM之家精品课程培训

联系电话:18301858168   |   QQ咨询:939801026
NX二次开发培训

NX二次开发培训

UFUN/NXOpen C++和实战案例

适合初级入门或想深入了解二次开发的工程师,本培训结合ufun,NXOpen C++,大量的实例及官方内部的开发技术。
公众号二维码

关注公众号

点击扫描二维码免费在线高清教程

课程详情
Catia二次开发培训

Catia二次开发培训

市场需求大,掌握核心技术前景广阔

Catia二次开发的市场需求大,人才稀缺。掌握开发技能潜力巨大,随着经验积累将在汽车、航空等领域有所作为。
B站二维码

在线原创B站视频

点击关注工业软件传道士主页

课程详情
Teamcenter培训

Teamcenter培训

全方位培训,从基础应用到高级开发全覆盖

涵盖用户应用基础培训、管理员基础培训、管理员高级培训及二次开发培训等全方位内容,由多年经验讲师打造。
QQ群二维码

加入同行交流

点击扫描二维码加入QQ群

课程详情
×

PLM之家plmhome公众号

课程涵盖: PLM之家所有原创视频

×

关注B站视频

所有高清视频一览无余,全部在线播放学习

×

加入PLM之家QQ群

同行交流,疑问解答,更多互助

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

[二次开发源码] NX二次开发:选择方式代码大全

  [复制链接]

2015-11-13 21:09:39 5593 6

admin 发表于 2014-2-18 13:07:13 |阅读模式

admin 楼主

2014-2-18 13:07:13

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

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

x
选择方式包括通过mask过滤,通过type选择,或者通过选择所有的对象。; c# R# w3 e% Q# C" N: ^7 n1 {
4 W: @* }1 {, i, f7 O
/------------------------------------------------------------------------------+ B' z- T5 r0 L8 c# f
// Selection with mask( d4 \& z- A' D2 n& g/ v
//------------------------------------------------------------------------------' k, {5 W, H0 t% ~* @8 Q
TaggedObject* MyClass::select_by_mask()# ?( j1 v- A. T  d: Z- }+ p2 _, f
{' G, L* P- s6 h% W1 \
NXString message("Select an object by mask:");
( q: u' ~/ }  c/ |  Q  `. o+ W" hNXString title("Select object");
) ^, [+ ]3 F$ {, ^$ H3 z, I7 k$ U8 bSelection::SelectionScope scope = Selection::SelectionScopeUseDefault;
( r( w7 {0 V& c. H; Z- ]; BSelection::SelectionAction action = Selection::SelectionActionClearAndEnableSpecific;2 Y  H6 y' E2 ?( U6 c9 ?$ ~% w7 N5 P
bool include_features = 0;
! r* w/ I6 G+ A. ]3 pbool keep_highlighted = 0; // Define the mask triple(s), see also uf_object_types.h./ N! @6 w) c: Z# V' H
// Uncomment or combine the desired mask triples
9 z" \4 d  t9 k  Ostd::vector<Selection::MaskTriple> maskArray(1);8 [7 O3 x* r7 ]
maskArray[0] = Selection::MaskTriple( UF_solid_type, UF_solid_body_subtype, 0 ); // Bodies
8 \0 u) O6 Z* N) p' J$ Z8 }/*
; C; X' N# F, n! Z; F: Q3 n, ?$ @maskArray[0] = Selection::MaskTriple( UF_solid_type, UF_all_subtype, UF_UI_SEL_FEATURE_ANY_FACE); // Faces9 J: y7 K$ J2 n$ T; m/ S4 M- _/ U- n
maskArray[0] = Selection::MaskTriple( UF_solid_type, UF_all_subtype, UF_UI_SEL_FEATURE_ANY_EDGE); // Edges
" z3 P! ^9 y* Y( K6 ^! ?maskArray[0] = Selection::MaskTriple( UF_component_type, 0, 0 ); // Components; P( U/ W" Q: v. i* P  ^' R
maskArray[0] = Selection::MaskTriple( UF_line_type, 0, 0 ); // Lines* ^& l/ c* T9 w7 ~! J1 d
maskArray[0] = Selection::MaskTriple( UF_drafting_entity_type, 0, 0 ); // Drafting objects8 ]8 R8 I% ^4 h/ w4 b1 ]6 o' ~& R4 I
*/
; r/ |( A5 h% W7 c* J8 J; JPoint3d cursor;9 C  b2 e5 S* J/ g) u  A# o
TaggedObject *object; // Select objects using filter defined by maskArray triples
4 g: r4 a9 f' b" fSelection::Response res = selmgr->SelectTaggedObject(8 Z6 Q2 |% ?3 J1 r2 g6 H: n
   message, title, scope, action, include_features,( K; [+ `" v4 `5 l3 Q& P  n
            keep_highlighted, maskArray, &object, &cursor ); if( res == Selection::ResponseObjectSelected )3 I' E/ }9 V8 H: X3 \, V
{; H- N( D9 c# \( k" ~9 w
  return object;
3 W! U) l- e+ d}
) V5 R6 l$ W& c$ ?3 L6 Z4 Xreturn 0;
* a/ C% K$ H6 @# D  ~9 U* w' f}//------------------------------------------------------------------------------
; o: \( w+ ~" @- d" d// Selection with type array
3 `; A9 A2 q4 z) G, f//------------------------------------------------------------------------------' J+ @7 H; u* m4 g
TaggedObject* MyClass::select_by_type()2 s) W# E! r' T, W
{
/ w" I8 E" R2 L* y  Q( tNXString message("Select an object by type:");2 p1 V1 f7 b( V
NXString title("Select object");
# i9 C3 ~  k" H+ U( V: L- D- r6 }Selection::SelectionScope scope = Selection::SelectionScopeUseDefault;
0 f# i( O$ L7 c" H9 C6 R3 lbool keep_highlighted = 0; // Define the mask triple(s), see also uf_object_types.h.7 P- }4 b/ x9 `/ ^% X; e1 h6 v8 @
// Uncomment or combine the desired types" v( L, ^9 k- Q
std::vector<Selection::SelectionType> typeArray(1);
- h( q& @* I* U4 e8 c) N6 ztypeArray[0] = Selection::SelectionTypeAll;( \; V7 {, g" x$ ]/ l+ Y
/*
* o, ^; G/ c/ D# ?5 n. v4 O0 E' ItypeArray[0] = Selection::SelectionTypeFeatures;
; M+ }5 [; g$ P, StypeArray[0] = Selection::SelectionTypeCurves;1 V. y' a" `3 j$ R; z  I& H% M
typeArray[0] = Selection::SelectionTypeFaces;: K+ @& S4 B/ O6 ~, i0 E
typeArray[0] = Selection::SelectionTypeEdges;
0 t* i5 ]" p5 f1 gtypeArray[0] = Selection::SelectionTypeCurvesAndEdges;# ]/ D( [# c! ^" M- x2 _9 R* u
*/7 `7 \# J- g, l2 p* D/ t: W, ^0 {# b6 q
Point3d cursor;
4 R; p* W3 e* }+ NTaggedObject *object; // Select objects using filter defined by type array
2 @+ h- F0 k) _, c7 g, ?8 [9 j- LSelection::Response res = selmgr->SelectTaggedObject(+ z  ^8 X0 |" ^0 [2 O
   message, title, scope, keep_highlighted,
6 P9 Z5 B# f2 ]1 [0 Z5 p! F   typeArray, &object, &cursor ); if( res == Selection::ResponseObjectSelected )0 i5 f: A4 J% o0 B6 ~$ ?
{
% m, t& d# C) o  return object;* Y! ]' ?0 z1 q; T8 D) S
}6 e1 R) d7 [5 }4 A! z5 W2 A
return 0;
8 X6 O9 J6 ?" x+ ?}//------------------------------------------------------------------------------
  p5 n; m$ t! o- C# ^8 y8 k; S// Selection any objects
, P+ l5 M7 o+ A8 O//------------------------------------------------------------------------------
! S, e4 Y" G/ _3 Y3 x4 A1 l  kstd::vector< NXOpen::TaggedObject * > MyClass::select_any_objects()3 R6 [& d' u' V- [: u& `4 I& {
{
3 O" q0 {& O8 t7 @1 d& b* |+ O8 SNXString message("Select any objects:");
4 N( P/ p0 o( }' H0 DNXString title("Select objects");
/ G0 j9 L) J0 GSelection::SelectionScope scope = Selection::SelectionScopeUseDefault;2 c$ M2 |' m, S) Z. m% m% e) K
bool include_features = 0;
5 N( Y$ O- n- @1 ]bool keep_highlighted = 0;
$ P* B+ I* T# `std::vector< NXOpen::TaggedObject * > objectArray; // Select any object array+ m3 v* N) L: ?( e; Q; l$ |, o# V
Selection::Response res = selmgr->SelectTaggedObjects(1 H2 |- e7 @# r4 y, Y9 y
   message, title, scope, include_features,
6 U4 G; F* M! V   keep_highlighted, objectArray ); return objectArray;
$ t6 b& s+ b' K9 B( L3 q) |}, G: a6 f  j. G7 b) T

  G( S1 r1 ], a* J+ ?! Q" g6 A9 N# N% d; J0 J2 V& N3 \) {$ N/ y* b

6 J$ r, ~- s9 ]3 w. P; Y
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复

使用道具 举报

全部回复6

sl2651668521 发表于 2014-3-2 18:36:05

sl2651668521 沙发

2014-3-2 18:36:05

老大 为什么把你的这个代码放在这里会提示错误啊。。。新手一枚,问题幼稚,请多指教 谢谢
321.jpg
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复 支持 反对

使用道具 举报

admin 发表于 2014-3-2 19:34:19

admin 板凳

2014-3-2 19:34:19

sl2651668521 发表于 2014-3-2 10:36
  q2 U3 D, B( L0 j老大 为什么把你的这个代码放在这里会提示错误啊。。。新手一枚,问题幼稚,请多指教 谢谢 ...
1 O. f1 s1 a6 j5 m. [9 i- W
你抱什么错8 n; E3 M$ F) `$ W: |1 c- m8 o
头文件 加了么
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复 支持 反对

使用道具 举报

admin 发表于 2014-3-2 19:34:21

admin 地板

2014-3-2 19:34:21

sl2651668521 发表于 2014-3-2 10:36
$ Y& T, R8 |% W  X+ U  j' b& f老大 为什么把你的这个代码放在这里会提示错误啊。。。新手一枚,问题幼稚,请多指教 谢谢 ...

9 j+ f1 Y2 j* K' u你抱什么错
+ D' T5 ]. j# Z  S头文件 加了么
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复 支持 反对

使用道具 举报

sl2651668521 发表于 2014-3-2 19:47:18

sl2651668521 5#

2014-3-2 19:47:18

还需要加什么头文件? 我是利用vc中ug模块建立的工程
2.jpg
1.jpg
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复 支持 反对

使用道具 举报

wyw6686 发表于 2015-11-5 14:55:45

wyw6686 6#

2015-11-5 14:55:45

老大,这个 selmgr 是个什么东西,怎么定义啊?
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了