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

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

  [复制链接]

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

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

admin 楼主

2014-2-18 13:07:13

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

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

x
选择方式包括通过mask过滤,通过type选择,或者通过选择所有的对象。) B" W; j8 j2 X
+ [! h$ D) s7 j- v7 Y
/------------------------------------------------------------------------------5 j/ [. \, U' u  S
// Selection with mask( K+ D& I) B  h  }
//------------------------------------------------------------------------------7 }" @# a: P) `  o) Z3 b# L% D
TaggedObject* MyClass::select_by_mask()
& z1 {$ q$ |" O9 @- r4 G{" u  t/ u2 O; M' s6 h7 C+ S
NXString message("Select an object by mask:");
4 A; f6 s% c' R& ?  P  B* WNXString title("Select object");
' C/ N; b9 M7 t2 W: c# w: ^Selection::SelectionScope scope = Selection::SelectionScopeUseDefault;4 P: J! U* T* c$ V0 t
Selection::SelectionAction action = Selection::SelectionActionClearAndEnableSpecific;
9 ]( ?) V# Q1 G: [bool include_features = 0;) s9 y9 p9 X  E
bool keep_highlighted = 0; // Define the mask triple(s), see also uf_object_types.h.
+ G8 m+ p0 X( ?/ D6 o/ N// Uncomment or combine the desired mask triples6 |! k+ Z' }  t  N5 z! R
std::vector<Selection::MaskTriple> maskArray(1);
& F, C. I* I8 V# l. T9 l, }maskArray[0] = Selection::MaskTriple( UF_solid_type, UF_solid_body_subtype, 0 ); // Bodies2 l9 V3 U$ V) _4 N* c
/*2 `4 s. A2 }3 ?) C; ~9 e
maskArray[0] = Selection::MaskTriple( UF_solid_type, UF_all_subtype, UF_UI_SEL_FEATURE_ANY_FACE); // Faces
+ x* Z% H  l2 Z0 o( @/ VmaskArray[0] = Selection::MaskTriple( UF_solid_type, UF_all_subtype, UF_UI_SEL_FEATURE_ANY_EDGE); // Edges
1 h3 O" C/ P  X6 H% f5 y' kmaskArray[0] = Selection::MaskTriple( UF_component_type, 0, 0 ); // Components
9 q3 U- I$ }3 Y1 F' gmaskArray[0] = Selection::MaskTriple( UF_line_type, 0, 0 ); // Lines- l5 H& `4 L0 f( D' i! [
maskArray[0] = Selection::MaskTriple( UF_drafting_entity_type, 0, 0 ); // Drafting objects
1 }; [$ G5 {* y( ]$ P*/' p! }# P! s; f/ m
Point3d cursor;4 I* u0 G% o( S; s6 Y5 M  ]7 J
TaggedObject *object; // Select objects using filter defined by maskArray triples
7 D* J' G  j4 S$ Z9 d  {, f  KSelection::Response res = selmgr->SelectTaggedObject(
$ p; m1 |2 ~2 O) `, b+ W, {   message, title, scope, action, include_features,! m# q' c/ ]' t$ p" X6 b9 V8 Y( ]
            keep_highlighted, maskArray, &object, &cursor ); if( res == Selection::ResponseObjectSelected )6 d7 u3 V- I7 c& q& k5 z
{
$ [* x- |; H5 l- b  return object;$ e5 h; A; G; K" I- m
}6 e: P4 E& S3 R7 c( j
return 0;
2 l+ a' C9 m# N+ u6 e2 u. }2 j}//------------------------------------------------------------------------------( d2 b4 h9 A6 T( c, L
// Selection with type array
( O8 j, u, H; p1 R' H//------------------------------------------------------------------------------
$ {% ^) f7 S# W2 n' VTaggedObject* MyClass::select_by_type()% p, N; ]- b8 a" V! w) H" [
{
# W! B5 m, o4 N* y. {0 [NXString message("Select an object by type:");7 I$ M/ [( Q* |# `2 _4 @
NXString title("Select object");" O' e  O' D+ v! x8 n6 `; g
Selection::SelectionScope scope = Selection::SelectionScopeUseDefault;9 z) s8 H3 v! F: z) v
bool keep_highlighted = 0; // Define the mask triple(s), see also uf_object_types.h.
& S: N! n# Q4 K9 X// Uncomment or combine the desired types; w2 ^: Q) }6 X- Y' Y
std::vector<Selection::SelectionType> typeArray(1);
, T* E7 \$ O1 _( UtypeArray[0] = Selection::SelectionTypeAll;
5 T$ K' e$ u7 Y1 H( P& |/ p/*
  s* w2 {  U6 O7 ?0 GtypeArray[0] = Selection::SelectionTypeFeatures;+ Q( ^9 e6 n0 w# c- {  }# k
typeArray[0] = Selection::SelectionTypeCurves;
6 w7 s8 Y- F' F3 n5 ^) atypeArray[0] = Selection::SelectionTypeFaces;4 x8 X- v* e% G  a7 a/ H' s
typeArray[0] = Selection::SelectionTypeEdges;
3 T/ z' ?& p& `% f, G6 Y9 w3 v: D# v: htypeArray[0] = Selection::SelectionTypeCurvesAndEdges;
& ]: B2 w3 o0 f" y- d*/* D9 Y+ i% ^1 S8 _  {0 N' u
Point3d cursor;& v$ K) p6 [& N0 u$ T. `' f- e1 k
TaggedObject *object; // Select objects using filter defined by type array  z7 X' f3 N8 t& _3 R% m) k
Selection::Response res = selmgr->SelectTaggedObject(
( Z. u  S4 E! T  O1 A0 p6 C3 Z# J   message, title, scope, keep_highlighted,
0 P, Z; c! |4 S/ M" {% M   typeArray, &object, &cursor ); if( res == Selection::ResponseObjectSelected )
6 ~4 c# ]5 v3 R{
2 \5 m- O+ N. p6 p  return object;
. `3 Y% k7 a, |" ]}: t# n% |# x. [0 a* s* ~# A3 p
return 0;
  M# D4 [% j" b# U' B; O+ w}//------------------------------------------------------------------------------
; i! P5 W; e( `+ S0 q! V// Selection any objects
3 p* m+ s. d$ [& w# f//------------------------------------------------------------------------------+ I4 h" K! _- E5 a4 Q1 a- b
std::vector< NXOpen::TaggedObject * > MyClass::select_any_objects()
+ \1 N, v* V$ e{
2 d/ p  c" K4 @' G3 E! M8 g: A! TNXString message("Select any objects:");! S) w" E8 i( s! r$ i! k2 ^& L
NXString title("Select objects");6 T' A2 k( q2 H5 {
Selection::SelectionScope scope = Selection::SelectionScopeUseDefault;& a/ X4 k: h( ^% K- m
bool include_features = 0;
" `; V6 L, {2 L% m! T0 fbool keep_highlighted = 0;& R) F( ~7 @& P
std::vector< NXOpen::TaggedObject * > objectArray; // Select any object array2 g* S5 M! ^9 N
Selection::Response res = selmgr->SelectTaggedObjects(
2 H9 e; i! |1 q( Y2 c% A( {9 b8 d   message, title, scope, include_features,
! V5 c: s5 s- Z% o* v( B# B( h   keep_highlighted, objectArray ); return objectArray;
/ e* |' A+ G0 l}" `6 {& x& J4 d

9 V: X) f) J5 i1 E1 O" H5 x- y% U! N& n
  t# \$ b: I& w" Q# ?
上海点团信息科技有限公司,承接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
8 g/ n1 u" Y2 s" c+ D, ^/ C" w( W老大 为什么把你的这个代码放在这里会提示错误啊。。。新手一枚,问题幼稚,请多指教 谢谢 ...

0 H* h' m* Y4 K3 p你抱什么错% C( V1 J/ Y$ b' ^3 H% y3 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( `: x: N1 H, J7 _3 d6 {# t  i
老大 为什么把你的这个代码放在这里会提示错误啊。。。新手一枚,问题幼稚,请多指教 谢谢 ...

+ ~( @3 F. {- z3 |" c你抱什么错2 Z" j  J0 Z5 R5 Z& V
头文件 加了么
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了