PLM之家PLMHome-国产软件践行者

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

  [复制链接]

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

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

admin 楼主

2014-2-18 13:07:13

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

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

x
选择方式包括通过mask过滤,通过type选择,或者通过选择所有的对象。
7 E! l$ s4 C- U. w) u9 j; ]# m
3 J7 \& q* F! R: Y9 j! ^/------------------------------------------------------------------------------- S8 u9 u) ?2 g; a2 u( e; |
// Selection with mask
# x% p5 D/ K6 z9 N//------------------------------------------------------------------------------; ]6 S! t" T/ F; U4 A8 J
TaggedObject* MyClass::select_by_mask()
) w- [5 `8 o/ m1 h# ~{
' [/ W, r1 H+ l) qNXString message("Select an object by mask:");7 P+ O2 B* X1 p5 E3 z5 F- h$ {
NXString title("Select object");/ p4 U2 k& \; l' F
Selection::SelectionScope scope = Selection::SelectionScopeUseDefault;/ D9 g6 I) E5 O8 o' z, p
Selection::SelectionAction action = Selection::SelectionActionClearAndEnableSpecific;3 W# u) C6 u" V- r9 u6 r
bool include_features = 0;
( ?  r1 I* a. Q7 d+ O6 ubool keep_highlighted = 0; // Define the mask triple(s), see also uf_object_types.h.- _* o9 C' p1 t- p
// Uncomment or combine the desired mask triples) h0 v$ Z. r2 N! z/ Y- C! J  z3 T9 D
std::vector<Selection::MaskTriple> maskArray(1);
6 j% ^  @9 K6 J4 ?* Z: [maskArray[0] = Selection::MaskTriple( UF_solid_type, UF_solid_body_subtype, 0 ); // Bodies
3 `5 s  p& v2 G  ^! q4 T/*
: l& a1 f1 I' q# _4 T' pmaskArray[0] = Selection::MaskTriple( UF_solid_type, UF_all_subtype, UF_UI_SEL_FEATURE_ANY_FACE); // Faces
& i3 P  V3 c' Q1 o) SmaskArray[0] = Selection::MaskTriple( UF_solid_type, UF_all_subtype, UF_UI_SEL_FEATURE_ANY_EDGE); // Edges7 X# o6 m* D' [5 \4 p- b) Y: z
maskArray[0] = Selection::MaskTriple( UF_component_type, 0, 0 ); // Components
  d) z* t2 H+ [4 ~maskArray[0] = Selection::MaskTriple( UF_line_type, 0, 0 ); // Lines
" y. ~$ n: o  A8 C4 PmaskArray[0] = Selection::MaskTriple( UF_drafting_entity_type, 0, 0 ); // Drafting objects; S( N& u4 q7 w) E
*/8 J) E  {1 u, G7 ?4 E0 U
Point3d cursor;9 C2 Y$ l5 _$ l+ L$ k" I
TaggedObject *object; // Select objects using filter defined by maskArray triples
: e3 R" d: J4 J/ r. S: P7 m$ FSelection::Response res = selmgr->SelectTaggedObject(' p2 {' U6 s  M1 c% _
   message, title, scope, action, include_features,+ z7 R3 @- V( T$ n. `5 }
            keep_highlighted, maskArray, &object, &cursor ); if( res == Selection::ResponseObjectSelected )
& V7 a, o9 i8 e0 d{
" p' h5 M& A) \3 ]. Q8 J  return object;
: p% t/ j) n: E# L8 y8 \}
  Y6 y  i$ d3 U  n. O5 Kreturn 0;- n1 ]1 r  O: g, r; ^. h$ \
}//------------------------------------------------------------------------------0 G6 T' V& o" _' V) P0 Q
// Selection with type array
: }5 I2 V- j6 o- `//------------------------------------------------------------------------------
5 M8 C+ M: h: ~$ C+ P* gTaggedObject* MyClass::select_by_type()! L2 |( E6 W7 F4 s/ Z
{
) G) c' c1 q7 P# p- H7 o$ D5 INXString message("Select an object by type:");
( s6 i# P# M, d$ rNXString title("Select object");
* b& ^4 r# p1 C: J) D, {/ ^2 xSelection::SelectionScope scope = Selection::SelectionScopeUseDefault;
$ Q0 b& n, t5 w, K, a. Wbool keep_highlighted = 0; // Define the mask triple(s), see also uf_object_types.h.7 L5 x  F) V* F) S" n/ t
// Uncomment or combine the desired types
8 f8 |7 ^; _+ C7 q: ~std::vector<Selection::SelectionType> typeArray(1);& \6 k9 m( h) D2 f  t- X6 K: Y
typeArray[0] = Selection::SelectionTypeAll;1 k# e8 m, D  ~) U; t
/*
. e+ v% q. X7 o, M5 _typeArray[0] = Selection::SelectionTypeFeatures;
* W( k( X6 N+ vtypeArray[0] = Selection::SelectionTypeCurves;
4 z1 }  m0 ^  m7 `) B* `7 DtypeArray[0] = Selection::SelectionTypeFaces;
2 C5 a& @$ _( c8 Z* j( @6 a2 @typeArray[0] = Selection::SelectionTypeEdges;
8 S/ b4 n# E3 c7 utypeArray[0] = Selection::SelectionTypeCurvesAndEdges;
. h4 `% t9 I. t& l5 V" l0 C- X*/
; p% f; l& A  ]" C* @, `Point3d cursor;
3 h4 I; T) J' T- b" H0 p' kTaggedObject *object; // Select objects using filter defined by type array0 U( g9 ~" p$ z/ V0 M
Selection::Response res = selmgr->SelectTaggedObject(  O* _6 @( k& a5 T& f
   message, title, scope, keep_highlighted,
3 Y" j6 i3 G2 s6 \   typeArray, &object, &cursor ); if( res == Selection::ResponseObjectSelected )
' V$ ~, j6 t! D6 H* S0 D{, n7 U7 r7 N: p6 k
  return object;, u, j5 c+ G# M# j' W$ F% j$ z+ b
}
8 J# d- x- i, h0 ^return 0;
2 C: `- ^, i* }}//------------------------------------------------------------------------------. g) B3 n; [6 w. N, d" F
// Selection any objects
: _: ^: h, g" q( k" F8 s; _( W) q' g//------------------------------------------------------------------------------
& K  m; w1 |# R  J3 f# A) C8 \std::vector< NXOpen::TaggedObject * > MyClass::select_any_objects()2 }( b' n+ U4 W+ m7 f
{
5 S. O( O8 Y) Q9 {NXString message("Select any objects:");
, w4 j! o6 f9 ^NXString title("Select objects");9 B6 F& d0 n. H
Selection::SelectionScope scope = Selection::SelectionScopeUseDefault;
$ G2 H0 w# [8 U" A  W# y, pbool include_features = 0;
, }0 ?$ i7 G- Vbool keep_highlighted = 0;) ~5 ?" P( b3 `- u, s" k
std::vector< NXOpen::TaggedObject * > objectArray; // Select any object array
& b$ d, m7 W8 z; ^Selection::Response res = selmgr->SelectTaggedObjects(
# {2 _$ ^0 ]6 f( Q/ d) L3 w5 e   message, title, scope, include_features,
5 C  @- W# ~4 n1 O+ j' C# }   keep_highlighted, objectArray ); return objectArray;
9 @; F4 x* C9 ^' {! K}, \$ N( E- O5 o6 N% d- o; P& _6 ?

; r  m1 k& _5 `9 }3 ^! o
$ B+ @0 m; j4 i$ C4 g* v. h1 L4 h) \4 z7 G/ |8 z
上海点团信息科技有限公司,承接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
9 ~7 A( A" n' |0 B/ q+ c, Q% Y老大 为什么把你的这个代码放在这里会提示错误啊。。。新手一枚,问题幼稚,请多指教 谢谢 ...
% [: J4 ~' K& i% {7 }
你抱什么错
  t8 |% _7 `+ V, W( S) [: v& p头文件 加了么
上海点团信息科技有限公司,承接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$ c1 l2 T/ ^: }4 C2 s, j
老大 为什么把你的这个代码放在这里会提示错误啊。。。新手一枚,问题幼稚,请多指教 谢谢 ...

* M1 z, E" M6 D! A, c) i你抱什么错+ m) a. L: H6 h& S9 U* \9 ~* }
头文件 加了么
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了