PLM之家PLMHome-工业软件与AI结合践行者

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

  [复制链接]

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

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

admin 楼主

2014-2-18 13:07:13

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

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

x
选择方式包括通过mask过滤,通过type选择,或者通过选择所有的对象。
% t6 U) P* u$ d& `9 T# Z$ ?6 R7 _: L4 [9 X) F" f
/------------------------------------------------------------------------------' u& a1 p) g) Z7 g! d2 P& J$ h. Z
// Selection with mask
( n' b4 H) N+ k0 ?//------------------------------------------------------------------------------
* b8 p9 c! v7 ^$ O4 l/ [TaggedObject* MyClass::select_by_mask()
: c( P; c4 t+ K{0 U: ~" e& }, `- g
NXString message("Select an object by mask:");" a8 z/ [8 T- t4 V( `
NXString title("Select object");7 l* d# M" |8 D! E5 ?1 R* o
Selection::SelectionScope scope = Selection::SelectionScopeUseDefault;4 X% G" a, ?" @1 J6 Z
Selection::SelectionAction action = Selection::SelectionActionClearAndEnableSpecific;
3 G! J3 e. U4 v1 Ubool include_features = 0;) p: E. g2 e  h3 Z
bool keep_highlighted = 0; // Define the mask triple(s), see also uf_object_types.h.  _2 D; o" \, u' `, W/ u
// Uncomment or combine the desired mask triples0 G( t! R) b) c0 e* J# |: ]
std::vector<Selection::MaskTriple> maskArray(1);
2 _0 h- f4 A' j; JmaskArray[0] = Selection::MaskTriple( UF_solid_type, UF_solid_body_subtype, 0 ); // Bodies* v+ A: A0 s- V, Z' z* o. Q
/*
( P) b  _8 N$ |maskArray[0] = Selection::MaskTriple( UF_solid_type, UF_all_subtype, UF_UI_SEL_FEATURE_ANY_FACE); // Faces, J- @" \, j  Q6 z4 X4 Y
maskArray[0] = Selection::MaskTriple( UF_solid_type, UF_all_subtype, UF_UI_SEL_FEATURE_ANY_EDGE); // Edges
, V6 c4 ~& \4 q* Z0 ^4 UmaskArray[0] = Selection::MaskTriple( UF_component_type, 0, 0 ); // Components- v  R3 B: N9 _# Z) F
maskArray[0] = Selection::MaskTriple( UF_line_type, 0, 0 ); // Lines
$ |. v* ?0 ?2 {" ]1 D, C/ q* [" T/ U+ YmaskArray[0] = Selection::MaskTriple( UF_drafting_entity_type, 0, 0 ); // Drafting objects
3 [% L+ h- H0 Q3 l, r& T*/
0 Z$ K- Q9 a8 }Point3d cursor;
' i- D; j5 j7 C5 _/ y' MTaggedObject *object; // Select objects using filter defined by maskArray triples+ k3 C& T) e4 A2 a! a
Selection::Response res = selmgr->SelectTaggedObject(4 \2 m& b8 F8 @) ]0 e' ~0 W* u( X
   message, title, scope, action, include_features,' t$ C9 C) z8 s1 {
            keep_highlighted, maskArray, &object, &cursor ); if( res == Selection::ResponseObjectSelected )& j1 O: A- x: T
{
% h; R3 V: ^- I' q; k8 ?" R+ F6 e/ X  return object;8 w1 [9 }9 |5 C9 ], e
}1 K+ Z6 I' m* g- N
return 0;# a' S/ r8 L3 c, E) I9 n3 o: J5 @
}//------------------------------------------------------------------------------: b1 P* ]9 L: r8 C6 B8 L' x. w
// Selection with type array
: D. ]* i  y0 h- u4 e//------------------------------------------------------------------------------6 w+ g7 j, Z6 k% z" j% U( @9 d
TaggedObject* MyClass::select_by_type()
1 W+ }+ }% J% B) w' v) Z{4 ?$ `6 f2 k5 A. y& h. }
NXString message("Select an object by type:");7 T+ G9 u( g( a0 O& b' X/ V
NXString title("Select object");2 l* |! M# g3 u& o. j" n
Selection::SelectionScope scope = Selection::SelectionScopeUseDefault;
+ i# M8 ]; @' F2 m" f8 t3 Pbool keep_highlighted = 0; // Define the mask triple(s), see also uf_object_types.h.* U/ t% o2 ?9 m7 [+ T6 P: u
// Uncomment or combine the desired types
8 A1 P: H9 v9 O! C" s3 }& j9 `( M) G; zstd::vector<Selection::SelectionType> typeArray(1);
) @* t# X1 r0 \* }  stypeArray[0] = Selection::SelectionTypeAll;
5 A" G9 |8 F. T- d* V: A/*: _" R0 X+ `* L, t: c9 j- _
typeArray[0] = Selection::SelectionTypeFeatures;/ ?0 H2 M! p0 P  @0 d
typeArray[0] = Selection::SelectionTypeCurves;6 T+ Z* @1 d- o, z; ?" @8 G3 W
typeArray[0] = Selection::SelectionTypeFaces;
1 z0 o% c1 B% H& i5 ntypeArray[0] = Selection::SelectionTypeEdges;
3 Z. V' Y, S" w( n, O( {typeArray[0] = Selection::SelectionTypeCurvesAndEdges;: ?( v, B% O  u* s6 v. p; D
*/
' s% U1 m; z, v( N8 JPoint3d cursor;  L) p+ i3 b, X/ h/ i
TaggedObject *object; // Select objects using filter defined by type array
3 a; J/ z$ r7 f9 `5 p3 USelection::Response res = selmgr->SelectTaggedObject(6 x: o; X- B1 u
   message, title, scope, keep_highlighted, 9 L2 F' A2 M0 y, U% \: v. ~
   typeArray, &object, &cursor ); if( res == Selection::ResponseObjectSelected )7 w! ]- u' ^, N
{
) ~# }  c8 G4 M0 h' {. m5 w/ N  return object;
) M; ]$ h. G$ u7 I  z* h: k}
" N; K4 f/ J  ?3 G8 S2 u. O, b0 Breturn 0;( l+ j  r1 N  X% K& Z& y
}//------------------------------------------------------------------------------1 q3 v2 C' _. U/ @7 p& O. g
// Selection any objects
( z' j- }! _' X/ h//------------------------------------------------------------------------------' f; `* y/ U& R1 m9 J6 v8 R
std::vector< NXOpen::TaggedObject * > MyClass::select_any_objects()
% ^1 |3 I4 t. v9 s; ?{
; \& ~( }% e. N9 k: [8 INXString message("Select any objects:");$ W/ J! g* u( h+ c7 [/ F$ @. P
NXString title("Select objects");3 A+ ~1 W' g4 |5 ]7 A+ _
Selection::SelectionScope scope = Selection::SelectionScopeUseDefault;3 b* l3 R! L3 B4 M0 s1 t8 m
bool include_features = 0; . v; q6 G2 c: n* i& ~' p
bool keep_highlighted = 0;+ L% C2 g+ Q& {, {, v' l. Q
std::vector< NXOpen::TaggedObject * > objectArray; // Select any object array
2 M; M4 l" `1 k5 o" _: i0 T! ~Selection::Response res = selmgr->SelectTaggedObjects(' C+ X, I" R) e: y2 V8 ^" p
   message, title, scope, include_features, # R0 `. a8 s! H" C0 m2 A1 T$ z
   keep_highlighted, objectArray ); return objectArray;
% E# x3 I( j& s- k, j) X}
* Y( {" K9 _3 K/ v
4 K/ {/ O( Y) l  g; d6 b# z: m4 _) d* D2 w" O) e( c
1 m! O7 o% ?3 y" ]& V
上海点团信息科技有限公司,承接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) v) P7 J1 e; B- |, j+ Y
老大 为什么把你的这个代码放在这里会提示错误啊。。。新手一枚,问题幼稚,请多指教 谢谢 ...

  a" T+ v& D' P/ w你抱什么错5 o" |2 U8 w+ n8 U
头文件 加了么
上海点团信息科技有限公司,承接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:361 ?; R% l- V* U$ g' J* {
老大 为什么把你的这个代码放在这里会提示错误啊。。。新手一枚,问题幼稚,请多指教 谢谢 ...

5 K, I& U4 U) v. ?! `5 q9 z- O8 O你抱什么错
3 c% ~  A( b8 m( d% Q, M* Z头文件 加了么
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了