PLM之家PLMHome-工业软件践行者

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

  [复制链接]

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

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

admin 楼主

2014-2-18 13:07:13

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

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

x
选择方式包括通过mask过滤,通过type选择,或者通过选择所有的对象。) M$ x6 |7 G! @7 p
! H6 d+ U1 @9 O+ Y8 b7 h
/------------------------------------------------------------------------------
! Y# u- ~" N5 M3 E// Selection with mask
, H1 u' K6 l  d+ v$ `, p1 o//------------------------------------------------------------------------------+ J: h" e+ D! t( N
TaggedObject* MyClass::select_by_mask()
7 ^0 T) u  s( l% n. ?& n( X% M: V& s{
, ]! f! I( S0 @" FNXString message("Select an object by mask:");
1 X* V6 S  s) _% w% y& Z: fNXString title("Select object");6 B/ n% C5 B7 b9 R% u
Selection::SelectionScope scope = Selection::SelectionScopeUseDefault;3 J* B9 i" R, _4 E% T, c) D" L
Selection::SelectionAction action = Selection::SelectionActionClearAndEnableSpecific;1 m2 b* h2 W* Q3 ~0 X
bool include_features = 0;
! s" e" H' _1 {* K/ j' u) `bool keep_highlighted = 0; // Define the mask triple(s), see also uf_object_types.h." x8 c- J, O& |9 M* ]2 z0 F
// Uncomment or combine the desired mask triples  A3 g0 X3 a$ s2 ^; N- Y
std::vector<Selection::MaskTriple> maskArray(1);
6 n' g& f9 p2 a7 B+ v% KmaskArray[0] = Selection::MaskTriple( UF_solid_type, UF_solid_body_subtype, 0 ); // Bodies
. M5 ~9 W# E4 ]+ ~0 h/*
7 {) `' f( S9 a$ o* E$ v; ?maskArray[0] = Selection::MaskTriple( UF_solid_type, UF_all_subtype, UF_UI_SEL_FEATURE_ANY_FACE); // Faces4 |! r9 t+ ^$ ]) r
maskArray[0] = Selection::MaskTriple( UF_solid_type, UF_all_subtype, UF_UI_SEL_FEATURE_ANY_EDGE); // Edges$ L4 p( T' I: |( w5 G' p2 f
maskArray[0] = Selection::MaskTriple( UF_component_type, 0, 0 ); // Components
; e; q- S) A, E# `9 i$ e& u0 X+ }maskArray[0] = Selection::MaskTriple( UF_line_type, 0, 0 ); // Lines
' E& Y+ T& f# M: {maskArray[0] = Selection::MaskTriple( UF_drafting_entity_type, 0, 0 ); // Drafting objects
& B, M, L3 D/ m4 H9 l" K; V*// g* ], W+ X9 f4 V9 c5 ^8 l
Point3d cursor;
6 ^" [; n; ~( w+ C( T; ~7 W$ z- [TaggedObject *object; // Select objects using filter defined by maskArray triples3 r  n! t3 M. K8 y# ]5 w* _
Selection::Response res = selmgr->SelectTaggedObject(
" E4 J( t6 A4 L1 z   message, title, scope, action, include_features,/ G1 D, P" j+ Y0 s7 ?% f% \6 Y4 m
            keep_highlighted, maskArray, &object, &cursor ); if( res == Selection::ResponseObjectSelected )+ n: ?! [" F4 ^3 |3 F& w, |
{8 Z, T4 r4 ~  Y
  return object;
0 Y1 C0 W: o0 o/ J$ [0 n: o8 d7 S}, T9 Y- f5 l. Q; a" M
return 0;
( A& J; }- a; |4 G+ ?& s}//------------------------------------------------------------------------------
' A) u) ]: e" L) K  K& M" A// Selection with type array0 h$ Q2 {' V; N. ?. C& K/ Z& p/ G% `
//------------------------------------------------------------------------------
- v, {: _# t, `9 k0 c" L: vTaggedObject* MyClass::select_by_type()$ p7 h7 M6 [* Q8 ?
{
) @) K/ k2 n4 g" ~2 ONXString message("Select an object by type:");& B3 B% I8 M2 Z: w* ]" _
NXString title("Select object");7 u4 _$ w4 q: h! Q$ W8 }, Y
Selection::SelectionScope scope = Selection::SelectionScopeUseDefault;
7 G0 m! G9 B6 V, w" L5 E" Z4 g5 @bool keep_highlighted = 0; // Define the mask triple(s), see also uf_object_types.h.0 U! D4 N; E! ?
// Uncomment or combine the desired types
9 e) a: h( _5 I% N4 \7 Z& y. Cstd::vector<Selection::SelectionType> typeArray(1);- X' D. H. y8 _( }# s
typeArray[0] = Selection::SelectionTypeAll;- j4 H; M5 z; C. A/ s' l
/*9 c( n. {# p3 z2 I
typeArray[0] = Selection::SelectionTypeFeatures;
4 G! `+ O- V0 StypeArray[0] = Selection::SelectionTypeCurves;
" J- e# S  J7 Y7 WtypeArray[0] = Selection::SelectionTypeFaces;" ~# A/ a( }$ N, l
typeArray[0] = Selection::SelectionTypeEdges;0 R4 @% ]: o$ ]5 l) p
typeArray[0] = Selection::SelectionTypeCurvesAndEdges;. l% s/ S! A( y5 a9 e3 b( R
*/
. l; }, D1 c3 z% `# Q, p2 hPoint3d cursor;. |9 s) _( h4 d5 J
TaggedObject *object; // Select objects using filter defined by type array8 A8 Q% g0 T: C
Selection::Response res = selmgr->SelectTaggedObject(/ w( V4 ^, @8 _: A5 t: y5 C8 |4 O
   message, title, scope, keep_highlighted, 7 i- ~8 l4 G. d8 ^2 I. i1 ]: h! V& N
   typeArray, &object, &cursor ); if( res == Selection::ResponseObjectSelected )( \$ h' ~  F' \1 v
{$ j! L# D7 }; N% _2 O
  return object;+ O' K* N$ }- k' b
}
/ ]( ^, \8 r( w% `3 y* c$ t5 _return 0;
/ [) k9 [9 Q% H8 B5 D}//------------------------------------------------------------------------------0 N$ Q2 J0 P- y& Q  O$ C/ ]
// Selection any objects$ ], H) E) ~3 P+ j6 w- v; {
//------------------------------------------------------------------------------; c* q/ t3 N% o6 S2 c" L
std::vector< NXOpen::TaggedObject * > MyClass::select_any_objects(); m2 U- d' M2 Y4 N3 f; \1 r  z: Z
{, X; H8 V$ n4 G5 G# t) [+ O) N
NXString message("Select any objects:");
' O5 L/ F7 C0 E9 A$ Z  i) @4 xNXString title("Select objects");
  w0 \- ^4 [3 Z$ aSelection::SelectionScope scope = Selection::SelectionScopeUseDefault;/ t2 n* Q4 C$ k4 T# x6 d; m6 k
bool include_features = 0; 8 _. o5 \% [, x8 g+ q3 R) X
bool keep_highlighted = 0;/ r/ Y) V+ s$ `+ n9 G; R6 ]% C
std::vector< NXOpen::TaggedObject * > objectArray; // Select any object array6 o5 Z, N6 U8 D+ o; G
Selection::Response res = selmgr->SelectTaggedObjects(- Y& N4 w5 X5 x# J/ N
   message, title, scope, include_features, 2 C( k; R9 ^4 L* }
   keep_highlighted, objectArray ); return objectArray;, x4 ~; C: B: m" h8 s
}3 P! g) Y( a' ~

# V3 C; b! S7 X) ?" X/ t& i
: ?, b( ~' \6 E' _5 L5 ^" E
4 a+ |( U# M7 S
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 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( n2 h! D) Y3 A
老大 为什么把你的这个代码放在这里会提示错误啊。。。新手一枚,问题幼稚,请多指教 谢谢 ...
) `0 j" |; k- h: W/ _9 k: h
你抱什么错
- C, ?6 V& Y0 c8 b+ {头文件 加了么
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 doTeam.tech
回复 支持 反对

使用道具 举报

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

admin 地板

2014-3-2 19:34:21

sl2651668521 发表于 2014-3-2 10:36( ~7 [' {$ X' R- `$ D# Y! y
老大 为什么把你的这个代码放在这里会提示错误啊。。。新手一枚,问题幼稚,请多指教 谢谢 ...

. i9 h7 v1 ?/ ~8 p0 s8 H' v你抱什么错
2 h; @: g3 R- n7 ]  A. h头文件 加了么
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 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二次开发专题模块培训报名开始啦

    我知道了