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

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

  [复制链接]

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

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

admin 楼主

2014-2-18 13:07:13

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

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

x
选择方式包括通过mask过滤,通过type选择,或者通过选择所有的对象。
- v9 V  r4 h! r- N) ]* h6 }5 [! R& Y$ D  B; T+ \+ Y
/------------------------------------------------------------------------------8 s) n! `& S; Z8 P+ [4 e$ \& v: P- n
// Selection with mask
9 J9 P# t# q5 M, Y. v* p8 L//------------------------------------------------------------------------------: N6 ^) _0 `1 Q6 v* U9 ]3 [2 a; [
TaggedObject* MyClass::select_by_mask()# A) T6 E2 _3 D) ?: ^+ N2 ~
{
/ D9 S, I8 z0 ?: K! y, J# @, b# INXString message("Select an object by mask:");$ T& p; a! Q% j) b4 e4 \
NXString title("Select object");
. p9 [  [9 B" z  v# mSelection::SelectionScope scope = Selection::SelectionScopeUseDefault;
: x8 n& o; j2 [9 MSelection::SelectionAction action = Selection::SelectionActionClearAndEnableSpecific;/ q; l& L: F" o; n- T
bool include_features = 0;
  a1 u5 u: [$ B9 M4 I, m/ t- B1 qbool keep_highlighted = 0; // Define the mask triple(s), see also uf_object_types.h.
5 o9 c" ?7 G# ~$ z0 `5 y8 W// Uncomment or combine the desired mask triples6 \( j% r' F* C% H. _) C
std::vector<Selection::MaskTriple> maskArray(1);
  c: \2 ?: j# u. @  LmaskArray[0] = Selection::MaskTriple( UF_solid_type, UF_solid_body_subtype, 0 ); // Bodies- j% A6 K9 ]( `5 X
/*5 A; F3 V9 g) W
maskArray[0] = Selection::MaskTriple( UF_solid_type, UF_all_subtype, UF_UI_SEL_FEATURE_ANY_FACE); // Faces2 k- W8 e- W0 u8 \  Z' K
maskArray[0] = Selection::MaskTriple( UF_solid_type, UF_all_subtype, UF_UI_SEL_FEATURE_ANY_EDGE); // Edges3 P  e7 z; Z5 H$ D! u8 C  o
maskArray[0] = Selection::MaskTriple( UF_component_type, 0, 0 ); // Components9 v% c4 @9 S  J  Q( ?. ^+ A0 |+ d
maskArray[0] = Selection::MaskTriple( UF_line_type, 0, 0 ); // Lines2 m3 \" x0 e5 K7 z, {
maskArray[0] = Selection::MaskTriple( UF_drafting_entity_type, 0, 0 ); // Drafting objects
, j! p# ]2 {: e; `* a) N# b*/
( z/ H6 r9 w) M) B) ePoint3d cursor;
& n4 N+ c) K6 @) Q5 vTaggedObject *object; // Select objects using filter defined by maskArray triples$ v. V% p" c& H$ B, \9 e; \
Selection::Response res = selmgr->SelectTaggedObject(6 L9 K" C4 L# C6 r, o
   message, title, scope, action, include_features,
' b: f5 S" _  z! G, ]2 Q$ ?$ w+ ~- b            keep_highlighted, maskArray, &object, &cursor ); if( res == Selection::ResponseObjectSelected )
! |4 Q* C7 {/ r  p' w{
& I( m8 R5 i$ A4 P& e  return object;/ D4 c3 E! z  o1 P# u' O9 }7 J
}
, p7 Q% m% Y/ A# rreturn 0;
+ \) k- Z2 G7 ~7 S}//------------------------------------------------------------------------------( a0 b" i7 S% J9 {) P
// Selection with type array
" v# ^8 a+ a, g' d( G//------------------------------------------------------------------------------
# T( j" W* r; [' s- m7 Q7 [1 L- NTaggedObject* MyClass::select_by_type()
! |/ |4 |3 B( l  @{
% Q5 e% \3 I1 DNXString message("Select an object by type:");
$ ^' i6 Q* e  ~4 CNXString title("Select object");1 i0 t( D) P+ L- P* L5 a3 g
Selection::SelectionScope scope = Selection::SelectionScopeUseDefault;
$ q, {, g6 U/ Pbool keep_highlighted = 0; // Define the mask triple(s), see also uf_object_types.h., n; n  E6 \2 r
// Uncomment or combine the desired types6 f4 d4 _1 {4 F" q: ~: ^
std::vector<Selection::SelectionType> typeArray(1);
9 A9 T6 p$ D4 D; W" v- v4 [typeArray[0] = Selection::SelectionTypeAll;6 ~7 Q' V1 J. ^1 \
/*1 y7 b4 o( Z. ^  M0 ^6 G
typeArray[0] = Selection::SelectionTypeFeatures;
/ O; q9 \3 W: y7 rtypeArray[0] = Selection::SelectionTypeCurves;
9 m4 v9 [# O- I/ u# r$ btypeArray[0] = Selection::SelectionTypeFaces;
* i8 U% f. m  i) f+ q4 NtypeArray[0] = Selection::SelectionTypeEdges;7 s, n" T: T4 m9 Q0 t2 S
typeArray[0] = Selection::SelectionTypeCurvesAndEdges;2 i( u* t( l8 P  h8 r$ c, C
*/9 N8 y. n8 D+ K
Point3d cursor;
7 |- O8 T% J( w5 X9 s6 y- zTaggedObject *object; // Select objects using filter defined by type array8 W$ k3 ?4 f) R6 m
Selection::Response res = selmgr->SelectTaggedObject(
$ D* C" N; Z2 V. a1 J   message, title, scope, keep_highlighted, 2 w0 n# o- s1 ?+ A' t
   typeArray, &object, &cursor ); if( res == Selection::ResponseObjectSelected )3 D* h# w6 U% v) p# T" ~, s
{: n: f* r6 ]! J# q1 K7 H
  return object;
, N% y& K5 O" r}5 M+ I; G6 w' [) O. k
return 0;2 W" a6 O! p/ S- v9 s( x8 L% r
}//------------------------------------------------------------------------------- x8 D' ^- @5 y' K' f
// Selection any objects7 m/ A8 G( w( d
//------------------------------------------------------------------------------; S0 ]* G6 E3 E- [  p5 S! b
std::vector< NXOpen::TaggedObject * > MyClass::select_any_objects()
5 t: }  \) F, z" {1 F& G( R" k{
$ j8 |2 H/ d! x5 i4 MNXString message("Select any objects:");
7 ~2 j/ e5 D. e1 l9 GNXString title("Select objects");
, N2 w5 g# G) M1 ZSelection::SelectionScope scope = Selection::SelectionScopeUseDefault;$ O" T9 R& |: C# P! ^
bool include_features = 0;
' Y1 Q9 ~4 T! X4 x. u  C7 A; M: Rbool keep_highlighted = 0;  l" h- s8 H9 V! X
std::vector< NXOpen::TaggedObject * > objectArray; // Select any object array% M# D& F' D2 p& K) D0 r2 M
Selection::Response res = selmgr->SelectTaggedObjects(
9 j# h( h% l' S& Q9 q   message, title, scope, include_features, 5 P, N1 q/ n9 s/ e
   keep_highlighted, objectArray ); return objectArray;# @( A  F3 B+ e# v2 D. m* W3 c" b2 O
}! P) S1 \: e6 X. X% v4 Z# F
: b( T7 n$ ^; j9 I$ y, ~
: U! K- h9 a  [/ f7 }, |0 }$ \

8 X) k7 h3 y! P- K, L, d7 G/ 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
' h4 F; f7 q+ E6 g老大 为什么把你的这个代码放在这里会提示错误啊。。。新手一枚,问题幼稚,请多指教 谢谢 ...
, T5 K2 o; H% M6 ?( i
你抱什么错; Y, R2 S4 A# P4 V/ `3 V3 |! L6 s" [
头文件 加了么
上海点团信息科技有限公司,承接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
. m0 j, y7 m7 W/ p" N! I老大 为什么把你的这个代码放在这里会提示错误啊。。。新手一枚,问题幼稚,请多指教 谢谢 ...
1 M* W5 M$ t* h* a' R7 C% j$ B
你抱什么错
* W  ^" P3 a9 C6 [% O; ~7 t头文件 加了么
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了