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

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

  [复制链接]

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

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

admin 楼主

2014-2-18 13:07:13

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

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

x
选择方式包括通过mask过滤,通过type选择,或者通过选择所有的对象。! x2 j, i9 M$ E3 V

( }: l) a8 y1 J  i% d6 n/------------------------------------------------------------------------------
1 f" d. ?9 Z" A. y% u& p. Z// Selection with mask$ E/ F% k3 k, X9 m1 \8 w  Z
//------------------------------------------------------------------------------
) @0 B4 l* l- I7 g! NTaggedObject* MyClass::select_by_mask()
, n" h. Q, D0 L; ]: C6 V{
1 ]* M$ u; t' J% {) k; T% TNXString message("Select an object by mask:");
% L* \( c/ T  ~/ oNXString title("Select object");
7 I# C% K/ U) w( pSelection::SelectionScope scope = Selection::SelectionScopeUseDefault;
7 Z" j; H$ A! U' jSelection::SelectionAction action = Selection::SelectionActionClearAndEnableSpecific;
% b( N3 r# K0 B3 `3 T* qbool include_features = 0;
3 I/ C- l' P; P- Bbool keep_highlighted = 0; // Define the mask triple(s), see also uf_object_types.h.% C! L5 T  k1 h0 k2 q( F! F
// Uncomment or combine the desired mask triples
) T( M! ~+ u+ U( \* J0 q: k9 T0 i8 Gstd::vector<Selection::MaskTriple> maskArray(1);2 n; ^/ m* S6 i% p+ m* [
maskArray[0] = Selection::MaskTriple( UF_solid_type, UF_solid_body_subtype, 0 ); // Bodies
) |' B- {4 Q0 |. \  j: d3 q8 ~. Q/*
* c6 x3 [' p2 }6 W* Z6 FmaskArray[0] = Selection::MaskTriple( UF_solid_type, UF_all_subtype, UF_UI_SEL_FEATURE_ANY_FACE); // Faces
- Y$ J; r2 a+ EmaskArray[0] = Selection::MaskTriple( UF_solid_type, UF_all_subtype, UF_UI_SEL_FEATURE_ANY_EDGE); // Edges
' T- p% k& [; z* g. h! N6 kmaskArray[0] = Selection::MaskTriple( UF_component_type, 0, 0 ); // Components
+ y/ c: c6 e4 n. I  ~" L7 u$ bmaskArray[0] = Selection::MaskTriple( UF_line_type, 0, 0 ); // Lines& K! B5 U) R! e$ t# v; G
maskArray[0] = Selection::MaskTriple( UF_drafting_entity_type, 0, 0 ); // Drafting objects0 H- l9 Z/ d. @6 {1 n$ M  N) _
*/
  l  D% H" V8 u) A5 }% zPoint3d cursor;
& i. I/ Z/ q4 a- s" X" i, M  s5 O% F- r0 gTaggedObject *object; // Select objects using filter defined by maskArray triples
, h* ]! G5 {" \0 mSelection::Response res = selmgr->SelectTaggedObject(
7 G* T3 a1 I6 S% I0 h- }4 x" K4 ]   message, title, scope, action, include_features,
! n, s' K, w* u" S! w! B7 y            keep_highlighted, maskArray, &object, &cursor ); if( res == Selection::ResponseObjectSelected )
7 v( A. U3 d8 m{
$ H$ K; W1 Y* s( p/ t  return object;- q2 i" d; ?8 p9 b( Y
}/ ]8 J" d$ ^4 a) d, E, l; w
return 0;
& Y) t* ^; ]# O}//------------------------------------------------------------------------------% l+ x- t, j2 l) v/ `
// Selection with type array% Z( l; C$ t0 Q! R, T; |3 t# E
//------------------------------------------------------------------------------  x: J1 I3 t$ n. S  J
TaggedObject* MyClass::select_by_type()
8 O% L1 v( w+ g* S( ^{
# J& {/ R: ?7 x& m; y5 T) y1 aNXString message("Select an object by type:");
# M" o  @# C1 w+ B/ s6 \3 nNXString title("Select object");9 j7 h* F' n- J. ?% @" a
Selection::SelectionScope scope = Selection::SelectionScopeUseDefault;
* S  d. L" i3 H. v; z# ^bool keep_highlighted = 0; // Define the mask triple(s), see also uf_object_types.h.# q1 I( z& E( I" p' }5 L; D
// Uncomment or combine the desired types7 d3 A& r: M; j
std::vector<Selection::SelectionType> typeArray(1);
! ^! L% D, d4 u9 W! z) T" LtypeArray[0] = Selection::SelectionTypeAll;
0 s  H; X  R( r" F+ {$ p/*% ]5 M' ?( {1 a& ?, h  F( v5 K6 N
typeArray[0] = Selection::SelectionTypeFeatures;1 S) j3 `/ j& u( N! }
typeArray[0] = Selection::SelectionTypeCurves;1 W# \; Q8 F2 J" e$ h" [+ r4 Z
typeArray[0] = Selection::SelectionTypeFaces;
+ L6 {9 |" W0 G/ xtypeArray[0] = Selection::SelectionTypeEdges;
& U2 m* ]/ B8 X, N& B# i* ^# H  _typeArray[0] = Selection::SelectionTypeCurvesAndEdges;
  V2 B9 Y& K" n6 I# ]*/2 J( x5 g& [5 N9 X$ V2 X  L
Point3d cursor;
# J& V& H# T% ATaggedObject *object; // Select objects using filter defined by type array
* w) Y4 o0 w' s8 p, p# J2 @" @Selection::Response res = selmgr->SelectTaggedObject(, O3 l2 M" X) a& g
   message, title, scope, keep_highlighted,
8 S3 Z8 @3 h! c, J: Y" v: Q- w   typeArray, &object, &cursor ); if( res == Selection::ResponseObjectSelected )
5 s. Y: H7 ^- {! a+ O3 ]{
5 Q, f/ i' d% t  return object;1 [/ Y3 ]3 D4 k' n/ ^. L4 x! l, ^
}
. s! x0 z6 e  `! j* ~: V. f1 [return 0;
6 j& a0 i1 E0 J. F/ Z. d/ l0 A8 T% o}//------------------------------------------------------------------------------% a( G7 q7 H2 R$ s
// Selection any objects' ^+ f! L. v" G+ r. x$ y
//------------------------------------------------------------------------------
9 z4 e: d9 x, m9 ^1 c1 Pstd::vector< NXOpen::TaggedObject * > MyClass::select_any_objects()8 ]: Z) `7 z6 W" j0 Q' L* c
{
- G1 Q; C+ q' \NXString message("Select any objects:");
' \$ c7 h7 K4 |NXString title("Select objects");6 q( a; _8 p, T( z
Selection::SelectionScope scope = Selection::SelectionScopeUseDefault;% d/ {: s. o8 S1 Q$ B; L
bool include_features = 0;
* c; m3 j% f: w. N! Mbool keep_highlighted = 0;5 w  E( A4 v: M9 ?2 A- b3 u$ X
std::vector< NXOpen::TaggedObject * > objectArray; // Select any object array$ _! B+ Y5 Z$ ?; `6 ]
Selection::Response res = selmgr->SelectTaggedObjects(: J7 R1 n! H% F" F
   message, title, scope, include_features,
3 ?9 O- U' D/ s9 ^0 z   keep_highlighted, objectArray ); return objectArray;
: @' {( ]4 O* V0 @* h9 z- I}: l' \1 q  }  S7 N5 \

# a) [2 n  C7 r) o
" g% U& i& j2 H; M* x5 x/ o
+ w6 I5 x3 ?# l1 m# {6 c  E& P
上海点团信息科技有限公司,承接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
0 m) i' m8 I$ A3 b& K5 ~老大 为什么把你的这个代码放在这里会提示错误啊。。。新手一枚,问题幼稚,请多指教 谢谢 ...

8 b% f2 n9 {) U9 E$ N, X, x2 p你抱什么错* O$ Q0 z$ d! W
头文件 加了么
上海点团信息科技有限公司,承接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. D! c% v7 t% _9 N/ |$ ^
老大 为什么把你的这个代码放在这里会提示错误啊。。。新手一枚,问题幼稚,请多指教 谢谢 ...
4 e: _" k3 y7 n% r& H5 a1 j- h: n5 t
你抱什么错+ L( Z/ s% f1 N6 [3 k1 h5 v, ]
头文件 加了么
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了