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

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

  [复制链接]

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

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

admin 楼主

2014-2-18 13:07:13

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

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

x
选择方式包括通过mask过滤,通过type选择,或者通过选择所有的对象。
0 b: U2 [& E+ u
, g8 T/ L$ l: o# S% {! L/------------------------------------------------------------------------------
6 f" w9 k4 b1 P// Selection with mask
) z* @5 _2 V# j9 t//------------------------------------------------------------------------------) C; {4 }, H7 s* e2 V" k7 N
TaggedObject* MyClass::select_by_mask()8 o% @, \$ Y6 ]
{
0 A! o8 G* K7 o3 u2 d0 sNXString message("Select an object by mask:");8 J0 z( r; w! j$ s- w
NXString title("Select object");
1 x1 X, Y7 ^5 C. q8 U1 VSelection::SelectionScope scope = Selection::SelectionScopeUseDefault;$ y. ^" d$ x9 Y0 l, ?  F% M0 N% p
Selection::SelectionAction action = Selection::SelectionActionClearAndEnableSpecific;
2 e1 p2 I' W7 \2 Sbool include_features = 0;
: S: j  Y7 \3 n8 Z, t% }8 kbool keep_highlighted = 0; // Define the mask triple(s), see also uf_object_types.h.! Z# ~+ M- ]* K
// Uncomment or combine the desired mask triples
  }4 ^: p* h: x' N0 _0 wstd::vector<Selection::MaskTriple> maskArray(1);' g/ h3 N, f6 _- @, m. ]: M
maskArray[0] = Selection::MaskTriple( UF_solid_type, UF_solid_body_subtype, 0 ); // Bodies
6 I/ u) T( I: P& n# R: J/*+ j' [$ {( W$ |$ r. @$ Y: W* x
maskArray[0] = Selection::MaskTriple( UF_solid_type, UF_all_subtype, UF_UI_SEL_FEATURE_ANY_FACE); // Faces
" `3 \9 b& `0 M* ImaskArray[0] = Selection::MaskTriple( UF_solid_type, UF_all_subtype, UF_UI_SEL_FEATURE_ANY_EDGE); // Edges3 t4 S- x5 {9 d6 D- U5 a/ t
maskArray[0] = Selection::MaskTriple( UF_component_type, 0, 0 ); // Components
  @4 U7 J$ Q; g+ Y  M+ EmaskArray[0] = Selection::MaskTriple( UF_line_type, 0, 0 ); // Lines4 |- |! J* {% j$ \) |) m, @. O: Z
maskArray[0] = Selection::MaskTriple( UF_drafting_entity_type, 0, 0 ); // Drafting objects
8 v- ?* j' d6 Z% \7 K/ `/ U% q! `*/
1 E/ \) x5 M! ]* z! m1 x% vPoint3d cursor;8 H, K) Q6 m% n; @! w
TaggedObject *object; // Select objects using filter defined by maskArray triples
, c1 L. y4 \4 x' X( M5 ?8 dSelection::Response res = selmgr->SelectTaggedObject(# j: ~; {2 h3 P+ i4 G9 a
   message, title, scope, action, include_features,
) c+ P0 l* @. k+ v2 \8 W; J! i            keep_highlighted, maskArray, &object, &cursor ); if( res == Selection::ResponseObjectSelected )
* A0 A4 R; e4 p9 ~{9 U. `0 O6 R, n# k7 h/ @! ~0 d$ a+ I
  return object;, b3 o  {5 D( ~$ e2 T
}
2 V& r  B* r5 v  ^; i' Rreturn 0;' h+ E& a: r, E; L) `5 ]2 I
}//------------------------------------------------------------------------------5 ?5 v0 n  {1 |3 k
// Selection with type array
2 F  n* o8 v4 q+ @//------------------------------------------------------------------------------
: c, H+ T+ g: s7 hTaggedObject* MyClass::select_by_type()7 L& M* ]9 \. \* d$ @% k- {1 i. J
{8 l% N5 S: q+ i: L, V% |+ a6 g, ~
NXString message("Select an object by type:");
, U$ `9 A4 S- }, D8 iNXString title("Select object");
+ q, }& E0 F. y+ A9 P( }Selection::SelectionScope scope = Selection::SelectionScopeUseDefault;
% E/ I; X9 W- @3 \bool keep_highlighted = 0; // Define the mask triple(s), see also uf_object_types.h.
) L/ ]- U" X+ D3 y// Uncomment or combine the desired types$ K3 B+ C9 u+ k2 `
std::vector<Selection::SelectionType> typeArray(1);
4 O4 o. W+ P5 I  CtypeArray[0] = Selection::SelectionTypeAll;
/ z" [7 ?' c; c$ x! G3 s" e! O/*
% p1 v& j  n% O' O2 r" ?& B3 WtypeArray[0] = Selection::SelectionTypeFeatures;
$ Q5 ^* u8 b8 v. \9 \typeArray[0] = Selection::SelectionTypeCurves;
, U0 y+ ^3 I  l( f6 V. J; xtypeArray[0] = Selection::SelectionTypeFaces;3 P0 ~+ q6 a$ V/ P/ `
typeArray[0] = Selection::SelectionTypeEdges;
! j7 G5 c; v( F8 h' J2 _typeArray[0] = Selection::SelectionTypeCurvesAndEdges;: h/ D3 D/ k6 F5 L5 N9 I
*/
9 Q9 z. F" |% xPoint3d cursor;& p: D0 }1 Y% W" w7 R) ?; ^) u
TaggedObject *object; // Select objects using filter defined by type array9 Z1 A0 x! o9 d
Selection::Response res = selmgr->SelectTaggedObject(
5 x  \/ H8 ]/ V   message, title, scope, keep_highlighted,
% d/ @: t+ B* k   typeArray, &object, &cursor ); if( res == Selection::ResponseObjectSelected )
/ V9 r8 T) T' e2 Y{. V' S) M  M5 d( ^
  return object;
& f2 D6 q1 D1 b" m8 e5 J}
0 K9 m9 {2 k6 ?: ~6 _- dreturn 0;
. i- L$ c" D  s7 [  f- L, C}//------------------------------------------------------------------------------
9 E% y1 Z) s8 h2 m8 s/ U7 H// Selection any objects
8 w0 H* `- x* O% U6 g: ^//------------------------------------------------------------------------------) K+ b* u1 c; I4 \# N4 h. D
std::vector< NXOpen::TaggedObject * > MyClass::select_any_objects()
7 m' w. L. D7 j{- e, |6 k, k) w& b+ o( z" u
NXString message("Select any objects:");" K( a; _8 S& K1 p4 N
NXString title("Select objects");
7 t0 Y& ]/ ?' }! l" {" zSelection::SelectionScope scope = Selection::SelectionScopeUseDefault;% p/ l7 X: [) K' I% z
bool include_features = 0;
, W  h! K/ s# t1 cbool keep_highlighted = 0;; T. f% w+ V5 q9 D  @1 i. |
std::vector< NXOpen::TaggedObject * > objectArray; // Select any object array+ c; m- g1 Y4 @
Selection::Response res = selmgr->SelectTaggedObjects(2 t0 O: r4 S' K, R4 w, Y
   message, title, scope, include_features,
$ L) r6 ^3 h: E0 i- |1 S9 {   keep_highlighted, objectArray ); return objectArray;2 @+ R, `. _0 T1 R& d
}: k; h% Q5 f' F# \) R

; O. ^% c3 f- N* Q4 v& ?  V$ z! a' Q- q' |4 O% T- }

5 T$ X1 w# L$ b  H6 Q8 d
上海点团信息科技有限公司,承接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+ `4 B5 J2 X5 H  X- l( _+ N. g" |( c
老大 为什么把你的这个代码放在这里会提示错误啊。。。新手一枚,问题幼稚,请多指教 谢谢 ...
  R* J% }: P+ D( J: {8 l- H
你抱什么错
  }& V- J9 {$ {& Z. z. ~头文件 加了么
上海点团信息科技有限公司,承接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/ R2 U5 O# c4 F" j0 {
老大 为什么把你的这个代码放在这里会提示错误啊。。。新手一枚,问题幼稚,请多指教 谢谢 ...

( k+ O! S: b6 t8 Q9 z8 a$ F) d& y7 ]3 X你抱什么错
& g3 z! u  b* k; t6 X# Y% E头文件 加了么
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了