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

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

  [复制链接]

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

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

admin 楼主

2014-2-18 13:07:13

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

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

x
选择方式包括通过mask过滤,通过type选择,或者通过选择所有的对象。
" u; D0 l6 \! F
$ q  S, f+ S2 B/ S6 p2 J, o/------------------------------------------------------------------------------
$ L9 R9 s5 m1 }3 m// Selection with mask
( _3 R; l5 |% ^4 l* H( L//------------------------------------------------------------------------------$ L: h6 ~3 R2 S1 C' Z5 l. u$ j
TaggedObject* MyClass::select_by_mask()
& m9 d7 B% [- v& Y, g; _) J; a{. w# L7 Y" P' Z9 [2 u# O
NXString message("Select an object by mask:");$ `& l( i0 S/ ~: H5 V! f9 f
NXString title("Select object");
6 Z$ `: w. m' A0 [& USelection::SelectionScope scope = Selection::SelectionScopeUseDefault;
) H/ Y. ]% U0 I4 m& SSelection::SelectionAction action = Selection::SelectionActionClearAndEnableSpecific;
& c1 S1 E, ]+ _5 gbool include_features = 0;
( @# C2 P5 z2 E# @bool keep_highlighted = 0; // Define the mask triple(s), see also uf_object_types.h.
1 j$ p  s0 u5 }$ L0 e// Uncomment or combine the desired mask triples
$ t; |$ F1 g5 k( |, [4 pstd::vector<Selection::MaskTriple> maskArray(1);1 f' I- R; r7 `1 c9 z$ G* {2 ?
maskArray[0] = Selection::MaskTriple( UF_solid_type, UF_solid_body_subtype, 0 ); // Bodies
- z$ q8 G3 ?* L& |. W& p/*% {4 D+ ?8 Z2 f( m" Y/ U% W
maskArray[0] = Selection::MaskTriple( UF_solid_type, UF_all_subtype, UF_UI_SEL_FEATURE_ANY_FACE); // Faces/ A! c! r) `. }' g3 {
maskArray[0] = Selection::MaskTriple( UF_solid_type, UF_all_subtype, UF_UI_SEL_FEATURE_ANY_EDGE); // Edges
- A9 r9 J7 A+ o! F* ~4 }: ~$ H8 `maskArray[0] = Selection::MaskTriple( UF_component_type, 0, 0 ); // Components6 N7 J7 z' d, O2 W1 c. j' L
maskArray[0] = Selection::MaskTriple( UF_line_type, 0, 0 ); // Lines! c# }$ Z( j2 k* T" S
maskArray[0] = Selection::MaskTriple( UF_drafting_entity_type, 0, 0 ); // Drafting objects9 H* p4 C; G/ S5 @) m  l
*/: T! k: M( I5 c3 z8 k4 P2 V! O
Point3d cursor;
2 Z1 X+ i. M( U) DTaggedObject *object; // Select objects using filter defined by maskArray triples
6 C! I! O4 C3 U0 h( U3 jSelection::Response res = selmgr->SelectTaggedObject(
. ?. U$ I1 `5 f   message, title, scope, action, include_features,
' N& G5 i- H7 b* V0 s, ]            keep_highlighted, maskArray, &object, &cursor ); if( res == Selection::ResponseObjectSelected )
  _, d2 e. l( j  B{
( f. c# i; D  w1 |$ i5 d" t  return object;2 T8 I4 S4 X- e4 R9 b
}, E" \7 O$ F2 e; j' k
return 0;2 \9 s8 Q# B# p3 y: T$ T, Z% y
}//------------------------------------------------------------------------------1 a2 U, Z; a5 N) u) C, s
// Selection with type array
/ Q4 W3 |( `$ J* J% S6 E//------------------------------------------------------------------------------( v+ a: u) A) y0 d2 U& P
TaggedObject* MyClass::select_by_type()/ H6 F2 C/ f4 b' H* K* Q
{
" R5 I2 Z0 e6 @) k! ZNXString message("Select an object by type:");0 [& ?! |4 f- Q# |) E. Z' {
NXString title("Select object");
3 a% Y  u1 t& R( v$ t! N4 fSelection::SelectionScope scope = Selection::SelectionScopeUseDefault;
9 I8 F( r1 M+ e" I( B6 wbool keep_highlighted = 0; // Define the mask triple(s), see also uf_object_types.h.
6 r4 l# O2 `; G4 N4 U// Uncomment or combine the desired types; b( K' B- v7 Q' Z. L
std::vector<Selection::SelectionType> typeArray(1);9 t# x! A: b$ n* p' O
typeArray[0] = Selection::SelectionTypeAll;
$ E! D* |6 |+ @8 i4 a/*3 C; H) R) e$ J9 j; d) [6 w" k, |
typeArray[0] = Selection::SelectionTypeFeatures;
5 ?8 L( ]. V3 A  a5 R7 Z' x0 Y7 MtypeArray[0] = Selection::SelectionTypeCurves;( K0 k$ |+ F8 ?: H  |& Y" L
typeArray[0] = Selection::SelectionTypeFaces;/ T4 b* u* ~5 G3 v* z0 y. @
typeArray[0] = Selection::SelectionTypeEdges;
. d* U, w$ E$ ^typeArray[0] = Selection::SelectionTypeCurvesAndEdges;0 M! m9 s7 T1 ?; x" L# e- N
*/* u& u6 G" e* t9 G+ F- g
Point3d cursor;
( s7 _  B! L8 }6 U0 VTaggedObject *object; // Select objects using filter defined by type array; O$ \: _$ G$ p# O& j# C; X0 _
Selection::Response res = selmgr->SelectTaggedObject(3 L3 k9 k4 |- Q' _/ x
   message, title, scope, keep_highlighted,
6 V5 Z& V5 N' \+ F8 M: s- w   typeArray, &object, &cursor ); if( res == Selection::ResponseObjectSelected )9 T: `% h  c  a1 e/ U
{
' l" Z2 Q& z# P. m  g1 ~  return object;- Y0 o7 Y8 d- B
}9 K; J8 k. c8 }4 R8 K; _
return 0;
/ p, T: n, D) m}//------------------------------------------------------------------------------
. D+ B: |" Q, X4 k( L  c+ e- @; F// Selection any objects
1 O$ w/ t6 C' l5 n% X" b2 U//------------------------------------------------------------------------------; {5 J) K& a8 X0 P
std::vector< NXOpen::TaggedObject * > MyClass::select_any_objects()
2 W- y. h, G. F/ I{
8 _8 ?/ F( c& x5 T9 d1 }- e4 \NXString message("Select any objects:");* i8 M7 S+ G- J2 X0 j. g; ^
NXString title("Select objects");
8 ^2 g4 w, Y" K$ z9 LSelection::SelectionScope scope = Selection::SelectionScopeUseDefault;3 f6 l+ _" ^. ~9 t2 ?$ l
bool include_features = 0;
% @' A$ |9 a" V7 Ibool keep_highlighted = 0;7 M, s+ z& a" j" r% U
std::vector< NXOpen::TaggedObject * > objectArray; // Select any object array' D. p. `3 I( r
Selection::Response res = selmgr->SelectTaggedObjects(
( ^3 t: B$ t! L' l   message, title, scope, include_features,
1 r( T* [% Q# `   keep_highlighted, objectArray ); return objectArray;! s' n1 n6 x& h7 A3 d' \) G, X
}+ \6 ?: p4 h- f9 S0 B

+ _+ j1 s. b4 T1 N9 o/ s! q- L2 \' s# `/ G) l1 Q- b
( u: N  G# s+ ~
上海点团信息科技有限公司,承接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
! @; y8 }: S  ^/ s( e老大 为什么把你的这个代码放在这里会提示错误啊。。。新手一枚,问题幼稚,请多指教 谢谢 ...

+ G' L: @0 d. u$ X' w% B你抱什么错
' \* J* j  z) G2 Z5 z7 w4 |7 p2 C头文件 加了么
上海点团信息科技有限公司,承接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- e, Z+ Y2 W1 C6 d0 Y
老大 为什么把你的这个代码放在这里会提示错误啊。。。新手一枚,问题幼稚,请多指教 谢谢 ...

8 b, [* p/ F' j7 E  H& Z1 q你抱什么错
: Y9 i$ i  ?8 h) V# y, }头文件 加了么
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了