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

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

  [复制链接]

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

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

admin 楼主

2014-2-18 13:07:13

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

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

x
选择方式包括通过mask过滤,通过type选择,或者通过选择所有的对象。
# T3 C# a! ?9 s$ w) i! w- A$ d; s4 G% o; Z  u6 |
/------------------------------------------------------------------------------8 C: X- E4 M5 L8 e/ T
// Selection with mask
: g  f; k- p. y1 ~! k; R//------------------------------------------------------------------------------4 X9 U2 T% n' o- M
TaggedObject* MyClass::select_by_mask()
# F: p. w# p6 T' i9 c{6 J1 d9 H- M2 l4 S! M# D
NXString message("Select an object by mask:");
9 z% c5 y8 M% a) Y) Q4 |4 fNXString title("Select object");2 z+ ]  \7 Z$ F) o/ R
Selection::SelectionScope scope = Selection::SelectionScopeUseDefault;
8 j. e( P6 M" F# N/ P2 C0 U; `6 e( WSelection::SelectionAction action = Selection::SelectionActionClearAndEnableSpecific;
$ w( E! w1 L. ~& d. mbool include_features = 0;! Y9 t0 ^$ X! X
bool keep_highlighted = 0; // Define the mask triple(s), see also uf_object_types.h.
( w! `5 |: ?/ c# n// Uncomment or combine the desired mask triples. `$ |8 [" b1 m0 ~7 c
std::vector<Selection::MaskTriple> maskArray(1);
/ Z9 Q# y" n" ~+ A. [! emaskArray[0] = Selection::MaskTriple( UF_solid_type, UF_solid_body_subtype, 0 ); // Bodies
7 c8 t2 g# W, S- H1 U( J: H# p/*& }- r8 Q6 N3 K7 l
maskArray[0] = Selection::MaskTriple( UF_solid_type, UF_all_subtype, UF_UI_SEL_FEATURE_ANY_FACE); // Faces; J; b; O7 N2 a
maskArray[0] = Selection::MaskTriple( UF_solid_type, UF_all_subtype, UF_UI_SEL_FEATURE_ANY_EDGE); // Edges
1 [# v4 v. ^# t0 MmaskArray[0] = Selection::MaskTriple( UF_component_type, 0, 0 ); // Components& O; W7 _3 p! {, Z% ~5 T
maskArray[0] = Selection::MaskTriple( UF_line_type, 0, 0 ); // Lines: l$ o1 ^4 {' W) L9 @8 D
maskArray[0] = Selection::MaskTriple( UF_drafting_entity_type, 0, 0 ); // Drafting objects/ C! o6 q  r: E* r1 ^& K4 x2 C
*/$ ^6 S- q, ?6 |& p4 x5 a+ X" _
Point3d cursor;
: M9 F; \7 s3 b( NTaggedObject *object; // Select objects using filter defined by maskArray triples: Z; o0 L3 b' t; i' V) ^
Selection::Response res = selmgr->SelectTaggedObject(4 @& P1 f2 t2 [8 M1 @" S
   message, title, scope, action, include_features,
: Z" Q- I& Q" v5 u/ G$ _            keep_highlighted, maskArray, &object, &cursor ); if( res == Selection::ResponseObjectSelected )6 d7 |  g: s" [+ T) v: m' h
{
' s, G* l, j8 _7 w4 ^: b% `' w$ S  return object;/ t! K" P/ |8 N9 r2 c# L
}0 u- M/ w# j, Y) _, B
return 0;
/ r: j9 J1 F) V! H3 b! R& P}//------------------------------------------------------------------------------7 d0 X9 v1 J, L4 w6 K
// Selection with type array7 A$ T  G% m! ^* |
//------------------------------------------------------------------------------6 M- t) s, J( X( E
TaggedObject* MyClass::select_by_type()6 k( ~7 M0 q; l4 F; r0 W
{
# ~; r1 F5 }& U- B/ D) B! d: NNXString message("Select an object by type:");6 h. Z: L; m* _' ]+ G! n" M1 N
NXString title("Select object");
3 ?; {3 Q# v' r7 X# wSelection::SelectionScope scope = Selection::SelectionScopeUseDefault;$ J  h/ F- i0 k
bool keep_highlighted = 0; // Define the mask triple(s), see also uf_object_types.h.3 E) ~: t3 {1 d- u6 ^
// Uncomment or combine the desired types
- q  o; U, d, y9 Bstd::vector<Selection::SelectionType> typeArray(1);
; f# F( h; S( `# T6 h; jtypeArray[0] = Selection::SelectionTypeAll;5 E6 o+ F* ]9 q1 s5 {! T
/*
2 i0 D+ X( u. a( ^typeArray[0] = Selection::SelectionTypeFeatures;
& x; O. F+ V! _) QtypeArray[0] = Selection::SelectionTypeCurves;
( m- n; ]) ~/ r4 xtypeArray[0] = Selection::SelectionTypeFaces;
5 [& D/ j% f: f, i- JtypeArray[0] = Selection::SelectionTypeEdges;# ?# B" ?) ?+ `, r1 n9 x
typeArray[0] = Selection::SelectionTypeCurvesAndEdges;" ?; w, Q% q* I9 Q9 O. P( e( ?
*/
- m" @# y4 r, t% E; p; j! zPoint3d cursor;
; g; x  X4 f  Z9 N: `3 `# J; MTaggedObject *object; // Select objects using filter defined by type array. g; E; C  Y1 A5 b) L- y
Selection::Response res = selmgr->SelectTaggedObject($ g' h" ?6 d! X; Y
   message, title, scope, keep_highlighted,
- X3 k& G1 x7 a8 r( O   typeArray, &object, &cursor ); if( res == Selection::ResponseObjectSelected )
. [& D9 m4 o( G4 x1 L: u- d6 @{
" J- \/ n' Y% \  return object;
3 F% H$ ]0 ?7 S. `. ~, D}6 O* n% U  W. U3 o7 m0 z
return 0;$ `9 w; r7 r* Y' O; z! P% P. J
}//------------------------------------------------------------------------------8 X: ^7 r9 G) D& P- X/ S) b
// Selection any objects
6 J) @( A" G* S2 p3 c- g$ U* r//------------------------------------------------------------------------------
7 \' t2 W) S1 Tstd::vector< NXOpen::TaggedObject * > MyClass::select_any_objects()4 Q$ z8 k6 Y) f9 ^: k$ H
{! Y$ ^; X6 ~, u% c& ?+ v+ F3 @: Q
NXString message("Select any objects:");4 P1 V4 ~1 C2 G
NXString title("Select objects");3 |! P% Y8 }" C! X( N
Selection::SelectionScope scope = Selection::SelectionScopeUseDefault;4 m1 I" d6 \. l3 O6 O# ^0 _. n
bool include_features = 0; ; E; |$ v4 ?5 N; a8 t
bool keep_highlighted = 0;* ^8 ^+ K! f0 ?4 D8 K' o
std::vector< NXOpen::TaggedObject * > objectArray; // Select any object array
' f9 U$ N+ e3 Q) P: p* v/ e: c. lSelection::Response res = selmgr->SelectTaggedObjects(3 B1 }1 _$ z1 I; \
   message, title, scope, include_features,
& x* R% P. e+ s! A7 u% q1 p3 ^   keep_highlighted, objectArray ); return objectArray;
+ |0 d0 n/ q& e7 }  j1 v}
5 b0 {5 E. @* ]5 U8 z, X. |$ ]* k% A. H# ]7 f9 P
2 p. [% ?2 N3 I& K& j5 o  R% ?

/ {' _* Z/ {/ ~# H  @
上海点团信息科技有限公司,承接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:368 F' ?* Q+ K3 W) j3 B! H/ s
老大 为什么把你的这个代码放在这里会提示错误啊。。。新手一枚,问题幼稚,请多指教 谢谢 ...
9 t) J$ {& x# `
你抱什么错
$ {  o1 U3 G2 M" C5 ?1 o头文件 加了么
上海点团信息科技有限公司,承接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
1 L" o9 S" r5 g老大 为什么把你的这个代码放在这里会提示错误啊。。。新手一枚,问题幼稚,请多指教 谢谢 ...

5 R$ B6 f% K) o6 g4 ^你抱什么错
! C  S7 S0 w# l  ^& t" D4 f1 D头文件 加了么
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了