PLM之家精品课程培训,联系电话:18301858168 QQ: 939801026

  • NX二次开培训

    NX二次开培训

    适合初级入门或想深入了解二次开发的工程师,本培训结合ufun,NXOpen C++,大量的实例及官方内部的开发技术对于老鸟也值得借鉴!.

    NX CAM二次开发培训报名 NX二次开发基础培训报名
  • PLM之家Catia CAA二次开发培训

    Catia二次开发培训

    Catia二次开发的市场大,这方面开发人才少,难度大。所以只要你掌握了开发,那么潜力巨大,随着时间的积累,你必将有所用武之地!

  • PLM之Teamcenter最佳学习方案

    Teamcenter培训

    用户应用基础培训,管理员基础培训,管理员高级培训,二次开发培训应有尽有,只要你感兴趣肯学习,专业多年经验大师级打造!

  • PLM之Tecnomatix制造领域培训

    Tecnomatix培训

    想了解制造领域数字化吗?想了解工厂,生产线设计吗?数字化双胞胎,工业4.0吗?我们的课程虚位以待!

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

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

  [复制链接]

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

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

admin 楼主

2014-2-18 13:07:13

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

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

x
选择方式包括通过mask过滤,通过type选择,或者通过选择所有的对象。
& h6 u7 b/ N% k7 h' C) S' v! D2 E3 s, q  x$ ^* Q$ \
/------------------------------------------------------------------------------+ m# @  n$ m$ b# k
// Selection with mask
2 ?8 l0 g+ k/ v9 q//------------------------------------------------------------------------------
3 z5 K4 e) H) S: WTaggedObject* MyClass::select_by_mask()8 q& n' E) l/ _+ V# L
{
; h( r! I! M! H! B; L  LNXString message("Select an object by mask:");% R3 A. L5 l( n7 W
NXString title("Select object");
6 Q2 g& x8 z( z$ lSelection::SelectionScope scope = Selection::SelectionScopeUseDefault;
9 {7 g( G$ ]* M5 f$ `Selection::SelectionAction action = Selection::SelectionActionClearAndEnableSpecific;
" u% D3 Q) Y5 _7 j3 W/ B9 v9 y' mbool include_features = 0;
" w1 }  N' C( D4 o5 A/ i0 Qbool keep_highlighted = 0; // Define the mask triple(s), see also uf_object_types.h.& G' J" a. s; j2 m8 [0 h# Q- d
// Uncomment or combine the desired mask triples- O7 ?- n9 |2 Z
std::vector<Selection::MaskTriple> maskArray(1);
' p" M4 h6 @, y) `maskArray[0] = Selection::MaskTriple( UF_solid_type, UF_solid_body_subtype, 0 ); // Bodies
) I. B% x" @* W) X& n- d- H) s/*
3 D6 u* I, a5 k+ |8 a6 \5 ]maskArray[0] = Selection::MaskTriple( UF_solid_type, UF_all_subtype, UF_UI_SEL_FEATURE_ANY_FACE); // Faces4 l# Y, l9 C. [$ c
maskArray[0] = Selection::MaskTriple( UF_solid_type, UF_all_subtype, UF_UI_SEL_FEATURE_ANY_EDGE); // Edges0 w# L( v0 k0 O: Y* x1 \0 {7 Z8 j
maskArray[0] = Selection::MaskTriple( UF_component_type, 0, 0 ); // Components
( `+ t& a( p; R  Y( [6 g  W) qmaskArray[0] = Selection::MaskTriple( UF_line_type, 0, 0 ); // Lines+ D7 o1 a6 x) \# X
maskArray[0] = Selection::MaskTriple( UF_drafting_entity_type, 0, 0 ); // Drafting objects
& @- P5 K5 w- h3 p7 H*/3 v) T2 s/ n  E7 `( u
Point3d cursor;
9 T5 ]8 x+ \1 K- A2 cTaggedObject *object; // Select objects using filter defined by maskArray triples
% M# J: C/ ?  ?) I% |; L: RSelection::Response res = selmgr->SelectTaggedObject(
' @1 X1 A9 f8 }: z   message, title, scope, action, include_features,  ]- k$ ~0 C& F. u, @
            keep_highlighted, maskArray, &object, &cursor ); if( res == Selection::ResponseObjectSelected )
; ~$ Y6 R8 h$ R7 y# A) L{
, |" D- v9 z" U2 D" ?: `  return object;) v* w- b7 ^% D
}# N& i% @! j) h# w) {& S. {  e
return 0;
0 C2 Y  _* x, I& j4 S5 _( l}//------------------------------------------------------------------------------/ I3 C+ G  r# P, g9 e+ k0 L
// Selection with type array
) _1 q3 ^9 g$ x/ Q( f' B//------------------------------------------------------------------------------
5 ^9 ?9 W; F' J5 @- V8 _& t) iTaggedObject* MyClass::select_by_type(). `2 ~8 K% O" j1 j5 Q
{- r- l' _) \5 r5 Z
NXString message("Select an object by type:");
) {, p  e! q% L! O5 K% kNXString title("Select object");
! e  h' M$ y7 z3 R. ^Selection::SelectionScope scope = Selection::SelectionScopeUseDefault;
. n# ?0 @6 E" q; X4 S' t8 s( dbool keep_highlighted = 0; // Define the mask triple(s), see also uf_object_types.h.
5 x* O$ B) Y: l3 k" o/ ?1 v// Uncomment or combine the desired types0 w2 L9 G# ~5 D& ^  }+ \+ |
std::vector<Selection::SelectionType> typeArray(1);
3 l6 |" q! K* [& W) |6 U# WtypeArray[0] = Selection::SelectionTypeAll;2 D7 d/ a2 `4 O
/*
, c' W  e4 L: B1 ~; ?typeArray[0] = Selection::SelectionTypeFeatures;
: J+ O4 w* s, ]) ZtypeArray[0] = Selection::SelectionTypeCurves;
$ v" B: V( [1 ]: k4 Y& AtypeArray[0] = Selection::SelectionTypeFaces;8 y# V* ~" H* ?9 {7 X
typeArray[0] = Selection::SelectionTypeEdges;
0 a) I. `" n6 }typeArray[0] = Selection::SelectionTypeCurvesAndEdges;/ f7 e: b* A  ?. i) t) ?. \  b
*// t" S7 y3 Y3 ]( B( g. ]+ A- u" [* M
Point3d cursor;$ y  n& y' n5 e: r
TaggedObject *object; // Select objects using filter defined by type array
5 n, h& ~/ ^; P2 e1 {- g8 I! ]$ X& b" FSelection::Response res = selmgr->SelectTaggedObject(5 Q6 V$ W( B) ~2 X
   message, title, scope, keep_highlighted, . J( d$ ]8 ]$ I9 f# [
   typeArray, &object, &cursor ); if( res == Selection::ResponseObjectSelected )
* \# C1 ?6 y' l{
9 a# H7 n. t/ }4 B  return object;% t  F8 [0 p2 ~
}
" @6 j# r# Q' p) B" i4 V/ {+ xreturn 0;" I$ F+ [3 n6 N! `
}//------------------------------------------------------------------------------0 T( Z6 w; v, @
// Selection any objects1 N, x" t% ~2 e9 g
//------------------------------------------------------------------------------$ a1 \: V5 [3 F6 [3 g; \+ D; ?
std::vector< NXOpen::TaggedObject * > MyClass::select_any_objects(): Q5 o( D) @' k* I: Z
{& e; p0 G) f: U
NXString message("Select any objects:");5 g7 @( L9 r  N# l' c, S3 d. z
NXString title("Select objects");7 u2 t3 S1 [& @+ V4 l& c
Selection::SelectionScope scope = Selection::SelectionScopeUseDefault;
' p* Q/ d* I  H  t, I& Pbool include_features = 0;
; a5 B3 ^5 {7 H0 ?bool keep_highlighted = 0;
* P% f! t4 _  S7 K% }$ Tstd::vector< NXOpen::TaggedObject * > objectArray; // Select any object array& U/ M( n7 O& V! {  p3 h) C
Selection::Response res = selmgr->SelectTaggedObjects(
+ Q4 L3 Q3 l1 B/ U% |$ c5 r! c% i   message, title, scope, include_features, 0 q9 {. L; w3 A- Z& b
   keep_highlighted, objectArray ); return objectArray;
7 j3 H. s# ~% S: D}
8 t3 Z  d0 Q7 m- t$ w
6 y/ H$ g/ u! K8 f* m5 N
/ A4 p* n( e. o9 ?7 O4 z  Y. Q/ ?4 w* E, h& N2 B* r
上海点团信息科技有限公司,承接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" x- t* e- T0 m  z9 z0 C3 w1 n/ |4 Y, ~
老大 为什么把你的这个代码放在这里会提示错误啊。。。新手一枚,问题幼稚,请多指教 谢谢 ...

. {$ _% y1 F$ Z7 P你抱什么错
- z5 g8 A: L6 R6 _3 ~) 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' L; ]% d' e& ^7 H  u" l
老大 为什么把你的这个代码放在这里会提示错误啊。。。新手一枚,问题幼稚,请多指教 谢谢 ...

4 W4 F3 F4 `/ e, T3 B; l  h你抱什么错/ T2 }' o7 l4 n8 ~" G# F% A
头文件 加了么
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了