PLM之家精品课程培训,联系电话:18301858168 QQ: 939801026

  • NX二次开培训

    NX二次开培训

    适合初级入门或想深入了解二次开发的工程师,本培训结合ufun,NXOpen C++,大量的实例及官方内部的开发技术对于老鸟也值得借鉴!.

    NX CAM二次开发培训报名 NX二次开发基础培训报名
  • PLM之家Catia CAA二次开发培训

    Catia二次开发培训

    Catia二次开发的市场大,这方面开发人才少,难度大。所以只要你掌握了开发,那么潜力巨大,随着时间的积累,你必将有所用武之地!

  • PLM之Teamcenter最佳学习方案

    Teamcenter培训

    用户应用基础培训,管理员基础培训,管理员高级培训,二次开发培训应有尽有,只要你感兴趣肯学习,专业多年经验大师级打造!

  • PLM之Tecnomatix制造领域培训

    Tecnomatix培训

    想了解制造领域数字化吗?想了解工厂,生产线设计吗?数字化双胞胎,工业4.0吗?我们的课程虚位以待!

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

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

  [复制链接]

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

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

admin 楼主

2014-2-18 13:07:13

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

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

x
选择方式包括通过mask过滤,通过type选择,或者通过选择所有的对象。
6 r9 ?, s: }: C: ^: H+ t# g5 g" p
/------------------------------------------------------------------------------) ?9 Q( ~. v2 c) y+ d% t& j! d# q
// Selection with mask" d" b- y8 w$ x0 [3 b5 ~6 t7 V$ J
//------------------------------------------------------------------------------
' O0 z: G1 R7 x3 ETaggedObject* MyClass::select_by_mask()7 }4 \" D( R, U
{
: T0 H0 h  j7 Q: G5 S5 F* _NXString message("Select an object by mask:");
8 \/ [( c2 `! MNXString title("Select object");
; G' ~6 R/ w/ _Selection::SelectionScope scope = Selection::SelectionScopeUseDefault;9 |+ x( t  ]5 K4 i, q% J
Selection::SelectionAction action = Selection::SelectionActionClearAndEnableSpecific;
' E& U$ q) g9 m. I) J& r$ n$ Ibool include_features = 0;
7 a: H5 C( _9 O/ ~& Z/ F- m* Lbool keep_highlighted = 0; // Define the mask triple(s), see also uf_object_types.h.) X: Q8 {1 m* ^' r, w0 P$ D. U7 M5 ^
// Uncomment or combine the desired mask triples, i0 ]6 }* d. r) W. Q. o
std::vector<Selection::MaskTriple> maskArray(1);. b8 t, V1 a! l9 S; ~
maskArray[0] = Selection::MaskTriple( UF_solid_type, UF_solid_body_subtype, 0 ); // Bodies
5 {% W) h0 Q3 r8 B- c7 h0 }7 [/*
) r3 @) U/ J, ~% t/ EmaskArray[0] = Selection::MaskTriple( UF_solid_type, UF_all_subtype, UF_UI_SEL_FEATURE_ANY_FACE); // Faces1 R5 G7 f1 d9 h: s
maskArray[0] = Selection::MaskTriple( UF_solid_type, UF_all_subtype, UF_UI_SEL_FEATURE_ANY_EDGE); // Edges2 T( S% d+ |9 h# R
maskArray[0] = Selection::MaskTriple( UF_component_type, 0, 0 ); // Components
0 }/ u0 @9 R. B0 w# [2 MmaskArray[0] = Selection::MaskTriple( UF_line_type, 0, 0 ); // Lines
! F6 F% `8 h( G: O. {( SmaskArray[0] = Selection::MaskTriple( UF_drafting_entity_type, 0, 0 ); // Drafting objects$ G2 u+ ]! i8 }0 D3 W4 ]( z4 o
*/$ k9 t4 n# o/ ]
Point3d cursor;1 Q( i+ E. R; }- W: `$ B% `/ D
TaggedObject *object; // Select objects using filter defined by maskArray triples
  G. y2 O. y4 p$ S& |# aSelection::Response res = selmgr->SelectTaggedObject() b% l9 k% t5 {. P# `/ H9 o' ^
   message, title, scope, action, include_features,
: Y1 `7 w" E1 a8 |            keep_highlighted, maskArray, &object, &cursor ); if( res == Selection::ResponseObjectSelected )
: j2 k: o/ X3 `, ?! m1 I% ]+ s- y( f: I{7 k7 D' k' j, R* k: T& p
  return object;7 @, t+ X3 y/ Z6 g$ U
}
) _2 K+ h& ^# d8 r) O7 S; b; {return 0;
2 F2 C& q- T- K+ H, A. C/ ]}//------------------------------------------------------------------------------( C% @% r! ~. G- Z  \) y
// Selection with type array
& ^, {4 ~6 o  X( w% @//------------------------------------------------------------------------------& D" Z, |2 _6 I; ?' ?
TaggedObject* MyClass::select_by_type()3 e3 l9 Y, t) n! r( M6 C
{% _, D" @6 q5 d
NXString message("Select an object by type:");
* g8 i9 ^) e4 b4 P$ D$ G7 nNXString title("Select object");
* e' b& U' a- V9 MSelection::SelectionScope scope = Selection::SelectionScopeUseDefault;, d8 r; e4 K/ S, D
bool keep_highlighted = 0; // Define the mask triple(s), see also uf_object_types.h.
/ y; g! I- ^. W0 h6 Z// Uncomment or combine the desired types9 }% Z- O+ b( j# g' `4 a
std::vector<Selection::SelectionType> typeArray(1);$ T& V8 }) R" p' L6 Q! E7 q
typeArray[0] = Selection::SelectionTypeAll;, Q% v) s& B! y' v8 `, I
/*
5 a: ?& x% O  a0 n: p; l# Y6 `typeArray[0] = Selection::SelectionTypeFeatures;0 T4 a+ i% X3 S6 c5 ^
typeArray[0] = Selection::SelectionTypeCurves;1 C( B/ o7 l0 ]8 ]
typeArray[0] = Selection::SelectionTypeFaces;+ J4 u7 k: N4 P  P7 g9 `% d
typeArray[0] = Selection::SelectionTypeEdges;! ^$ a5 G  F8 ^: h2 U) Z! A
typeArray[0] = Selection::SelectionTypeCurvesAndEdges;  Z# W" Q2 c3 M$ F, E5 l, i% z
*/) m6 O: w, p' v  [5 \$ J/ C
Point3d cursor;; |6 V. d: p/ V8 I
TaggedObject *object; // Select objects using filter defined by type array* N+ y# Y% [0 w, R$ P9 F4 x$ X
Selection::Response res = selmgr->SelectTaggedObject(
6 M  H3 p: O: P+ u# E) h- Z8 t   message, title, scope, keep_highlighted, 8 ^$ E( ]9 N0 w- k( n0 u
   typeArray, &object, &cursor ); if( res == Selection::ResponseObjectSelected )% k+ f9 O" Z) p7 q# `
{2 C+ F3 t/ E- o2 P- a: E
  return object;
9 }' w) _" C! {7 U* v- u" [}
( Z$ p6 |) K7 e! _2 S9 q- Oreturn 0;
& l; d: I7 `! B% f0 r}//------------------------------------------------------------------------------0 v# j5 [( _- ~' |, x
// Selection any objects  X0 d+ d: w3 w0 R
//------------------------------------------------------------------------------
/ r! Q) \+ ]- z5 K' Y/ W! S) mstd::vector< NXOpen::TaggedObject * > MyClass::select_any_objects()
2 W( g& b, P) q, @; l4 j: t* l. t" _{( N* G3 j- t/ \9 D, q
NXString message("Select any objects:");
3 Z3 ~! d1 g) J' }1 RNXString title("Select objects");
2 v$ I9 \: ^% D, ISelection::SelectionScope scope = Selection::SelectionScopeUseDefault;
) ~, x& _& N9 C- Q1 E( Wbool include_features = 0;
6 p& T, J( o. q9 j+ o: fbool keep_highlighted = 0;$ p+ X% Z. s1 A1 F; _
std::vector< NXOpen::TaggedObject * > objectArray; // Select any object array
$ f, G' m- n" _  e& w  TSelection::Response res = selmgr->SelectTaggedObjects(! x! n  S% Z4 C/ m+ w4 v1 ^
   message, title, scope, include_features,
' u, t: I, `8 h& j   keep_highlighted, objectArray ); return objectArray;  ]% N+ V! f' G9 [  n( o
}
( \, t9 N+ h2 G$ k2 o! Y$ b" E5 t; T2 `7 V' @% ]8 D. E
/ I  |. h" I( |2 N3 U- K% x' ~, P% @
$ v. c9 U% t$ ?: Z" \
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ 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" h; A5 `# {4 |: c8 i* i
老大 为什么把你的这个代码放在这里会提示错误啊。。。新手一枚,问题幼稚,请多指教 谢谢 ...
: f) o; D% t* M4 n
你抱什么错; k8 k4 b" _- R! S
头文件 加了么
上海点团信息科技有限公司,承接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:21

admin 地板

2014-3-2 19:34:21

sl2651668521 发表于 2014-3-2 10:36
2 W! q9 g: x2 U) P; ^8 s) g- D老大 为什么把你的这个代码放在这里会提示错误啊。。。新手一枚,问题幼稚,请多指教 谢谢 ...
+ U( k5 k- {( G6 [/ S2 E# n
你抱什么错  g8 y% I- j, U% J6 Q# \
头文件 加了么
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ 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二次开发专题模块培训报名开始啦

    我知道了