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

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

  [复制链接]

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

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

admin 楼主

2014-2-18 13:07:13

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

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

x
选择方式包括通过mask过滤,通过type选择,或者通过选择所有的对象。6 p4 ^: p+ p4 y3 D

* q- P1 n( ]9 E. M' U( t  A. A( j! x. S/------------------------------------------------------------------------------& ~  d( h, W6 I8 q+ ?* d
// Selection with mask/ d1 O5 N2 u  _' T# s! S. r
//------------------------------------------------------------------------------2 d0 w# B5 I' \  K
TaggedObject* MyClass::select_by_mask()
9 b2 D' L% \% L; s8 y6 A3 v! ?{6 ]% W: P9 f, B- q2 |/ o5 ^, J- c! H" h
NXString message("Select an object by mask:");# i' b7 T6 L' l2 A0 N3 U5 I
NXString title("Select object");
) |$ I3 A: A/ u9 y: SSelection::SelectionScope scope = Selection::SelectionScopeUseDefault;6 t4 M( T5 L4 y& Y0 A
Selection::SelectionAction action = Selection::SelectionActionClearAndEnableSpecific;5 |5 V$ X* s" b+ l, F
bool include_features = 0;; M2 v& c' p  x" f0 N& m0 t' }
bool keep_highlighted = 0; // Define the mask triple(s), see also uf_object_types.h.
- e4 h7 E& j* `" H& v1 [// Uncomment or combine the desired mask triples
0 \) f- e: y, ~6 {7 Lstd::vector<Selection::MaskTriple> maskArray(1);
& W6 C% C, [/ _) f- Z9 Z3 {maskArray[0] = Selection::MaskTriple( UF_solid_type, UF_solid_body_subtype, 0 ); // Bodies' X% S/ S  s: Z/ \1 u0 Z
/*
5 m- T6 R/ j6 ?maskArray[0] = Selection::MaskTriple( UF_solid_type, UF_all_subtype, UF_UI_SEL_FEATURE_ANY_FACE); // Faces
. L; e% E9 y3 ^2 O( ?4 i# z  ?* PmaskArray[0] = Selection::MaskTriple( UF_solid_type, UF_all_subtype, UF_UI_SEL_FEATURE_ANY_EDGE); // Edges
3 j% t% w: o1 i+ i" I/ R( Q: k& \maskArray[0] = Selection::MaskTriple( UF_component_type, 0, 0 ); // Components8 v" q! @  X% a  w2 D
maskArray[0] = Selection::MaskTriple( UF_line_type, 0, 0 ); // Lines5 A9 ?) O% b3 k: ~
maskArray[0] = Selection::MaskTriple( UF_drafting_entity_type, 0, 0 ); // Drafting objects" O( t6 M: s+ g6 E
*/
6 r! _* x& T) B1 P) T) r. uPoint3d cursor;% a0 |: p5 d/ Q/ p8 n
TaggedObject *object; // Select objects using filter defined by maskArray triples
5 `2 B+ v0 a6 t' OSelection::Response res = selmgr->SelectTaggedObject(* N9 ]5 V# D/ a! h+ ?8 u
   message, title, scope, action, include_features,
; I8 z5 g* B3 Y' [5 |            keep_highlighted, maskArray, &object, &cursor ); if( res == Selection::ResponseObjectSelected )
# Z4 ]; J1 u  {6 W- [4 S' T{; E. Q5 P+ ?: I+ W
  return object;
+ Z+ `6 U6 D* D* L  y2 t}5 A  ?: o. t6 K& ]0 ^
return 0;
# D. V. Z$ ^' v3 b. s}//------------------------------------------------------------------------------
; H7 Q! O. w1 P+ e' D# g// Selection with type array# b& k/ |4 z; R% a# M
//------------------------------------------------------------------------------3 q7 R4 c' o2 o/ h6 H# ~
TaggedObject* MyClass::select_by_type()
& m# n! R3 c! [- k1 H{
5 ]/ J6 C& S1 }4 ^- F& J5 x/ ]% S4 WNXString message("Select an object by type:");3 r8 e2 g7 Z$ I3 Q) ?/ [1 }
NXString title("Select object");
% s6 D! u* ^* W, g6 M: ~" d' M$ KSelection::SelectionScope scope = Selection::SelectionScopeUseDefault;, c+ y0 T6 e. B! t  f3 j
bool keep_highlighted = 0; // Define the mask triple(s), see also uf_object_types.h." a4 }( L/ D/ b( U
// Uncomment or combine the desired types+ ]! |$ F" q1 G) ]
std::vector<Selection::SelectionType> typeArray(1);7 `) P$ ~8 t7 X$ P" ?4 i
typeArray[0] = Selection::SelectionTypeAll;5 f7 j" q8 z& D! H+ M: r
/*
# p" b! K0 F, ?) v! i2 A4 XtypeArray[0] = Selection::SelectionTypeFeatures;
& o8 ]- G9 i) gtypeArray[0] = Selection::SelectionTypeCurves;  D* B5 c8 \9 a
typeArray[0] = Selection::SelectionTypeFaces;
5 w* d! |1 n! N0 gtypeArray[0] = Selection::SelectionTypeEdges;
5 [. @: O7 p" G* v9 r- ~4 o7 ctypeArray[0] = Selection::SelectionTypeCurvesAndEdges;
9 Z! M) |  |& g- I4 u/ E7 ^  `*/
8 F4 i5 J5 b! t, i( A( R1 XPoint3d cursor;
6 t- e$ L! J: Z5 ~5 \" HTaggedObject *object; // Select objects using filter defined by type array0 g0 D1 O, ?" l8 v4 M* m
Selection::Response res = selmgr->SelectTaggedObject(
. u# x/ }3 e. |0 h   message, title, scope, keep_highlighted,
: j& z/ X, E6 Y: T  Q   typeArray, &object, &cursor ); if( res == Selection::ResponseObjectSelected )
; H: \2 S( u$ Q# S" Z{
2 k1 W0 ^/ L: B% X( p  return object;
' l& M; }& Q- w6 Y" A}
- r! M. w8 L8 D. o' _+ s% Preturn 0;
4 c1 s- B8 }/ O' P6 C( C}//------------------------------------------------------------------------------
2 |* `! |( J6 {! ~3 Z9 G// Selection any objects% L  w; w7 y) e5 j
//------------------------------------------------------------------------------3 v8 [: F' R3 {& p$ n
std::vector< NXOpen::TaggedObject * > MyClass::select_any_objects()/ v/ T$ p+ {' U( U1 ?4 z
{
6 i: c. G, s# _NXString message("Select any objects:");- S5 q3 C+ X+ l+ e; Y
NXString title("Select objects");% p7 x+ S4 R! m0 Y3 {' N9 H
Selection::SelectionScope scope = Selection::SelectionScopeUseDefault;
5 H% O# a4 \3 E) K, q0 }( Jbool include_features = 0;
5 e+ ~: ]6 I! H' Z; {) d" ~# {bool keep_highlighted = 0;
' q/ C8 ]/ |/ _$ Wstd::vector< NXOpen::TaggedObject * > objectArray; // Select any object array6 i) t+ F* z) G3 V4 h7 T
Selection::Response res = selmgr->SelectTaggedObjects(9 S2 Z) ]) Y* L; J8 ~7 u9 \+ F8 k
   message, title, scope, include_features, % M  w7 P  B4 V/ l
   keep_highlighted, objectArray ); return objectArray;
& P- r" e9 m) i$ u1 T3 g}1 n4 B% M/ P/ A3 y

: U+ x6 w3 K5 Q& o) S$ C8 w
5 k- t  q. k$ O/ r5 M; r3 I/ @
上海点团信息科技有限公司,承接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:369 o9 T1 x7 s$ s; U
老大 为什么把你的这个代码放在这里会提示错误啊。。。新手一枚,问题幼稚,请多指教 谢谢 ...
) x, P  q. A+ L4 k" c) V3 F9 U  V% v
你抱什么错
5 ?0 ^; W" ^. v& V% ~$ I头文件 加了么
上海点团信息科技有限公司,承接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
4 _; F" n7 G% O1 `% H5 \. {老大 为什么把你的这个代码放在这里会提示错误啊。。。新手一枚,问题幼稚,请多指教 谢谢 ...
& B7 L! t1 N2 G8 E9 l
你抱什么错
- B% h# U+ q" c) {头文件 加了么
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了