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 5507 6

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

admin 楼主

2014-2-18 13:07:13

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

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

x
选择方式包括通过mask过滤,通过type选择,或者通过选择所有的对象。0 O9 h9 V2 G& a% V
" }3 \( o6 G( v  w: {, C
/------------------------------------------------------------------------------
! f9 R9 R1 H! \* _' S# x. [// Selection with mask8 F& [% x' |+ {4 s5 y/ L9 v
//------------------------------------------------------------------------------
$ X4 v& R, _' W2 a& u+ u- F- GTaggedObject* MyClass::select_by_mask(), k/ d. X8 F# n- N7 Q
{
" |/ u% Q: C3 T$ @NXString message("Select an object by mask:");
: U7 J  s6 I2 H. w, eNXString title("Select object");/ V/ \4 f* w+ u) ]2 u* w3 U
Selection::SelectionScope scope = Selection::SelectionScopeUseDefault;
- U* |# Z- j" USelection::SelectionAction action = Selection::SelectionActionClearAndEnableSpecific;. g/ D$ ~; K. K6 B& U
bool include_features = 0;5 u8 k; |: a& M3 e7 B9 ?
bool keep_highlighted = 0; // Define the mask triple(s), see also uf_object_types.h.# U' {- V: D6 Q6 u
// Uncomment or combine the desired mask triples
$ B6 Q+ q+ h6 ~9 gstd::vector<Selection::MaskTriple> maskArray(1);
$ Z$ D3 [5 X' d- g& B5 W9 |maskArray[0] = Selection::MaskTriple( UF_solid_type, UF_solid_body_subtype, 0 ); // Bodies
3 H: O$ R( u" u0 Z+ ^+ j# x/*0 w: z: }8 y1 Y: {
maskArray[0] = Selection::MaskTriple( UF_solid_type, UF_all_subtype, UF_UI_SEL_FEATURE_ANY_FACE); // Faces. w) D8 z! h6 f9 b+ P
maskArray[0] = Selection::MaskTriple( UF_solid_type, UF_all_subtype, UF_UI_SEL_FEATURE_ANY_EDGE); // Edges
; R8 H7 m  e6 _: l1 c5 R6 V! XmaskArray[0] = Selection::MaskTriple( UF_component_type, 0, 0 ); // Components# Y. @$ G- G+ w. Z1 ^
maskArray[0] = Selection::MaskTriple( UF_line_type, 0, 0 ); // Lines. ^; \  \, C6 {& _: ~# F3 O/ e
maskArray[0] = Selection::MaskTriple( UF_drafting_entity_type, 0, 0 ); // Drafting objects* t4 n! T1 N' |3 B
*/
% h) {1 s1 D/ o- T+ b4 [Point3d cursor;
! k' m% a! T$ e* E- y7 ~1 [8 t! @TaggedObject *object; // Select objects using filter defined by maskArray triples
# |5 l+ g; ~3 A- S( PSelection::Response res = selmgr->SelectTaggedObject(
. [4 X% Z& q# R" x   message, title, scope, action, include_features,
) y& m+ V- O( T( _            keep_highlighted, maskArray, &object, &cursor ); if( res == Selection::ResponseObjectSelected )4 C7 }: j& C% |1 @, ]4 X0 w% I
{
; N+ l4 G. x3 N& m4 h8 l6 `  return object;
$ H$ c: H+ }+ i( Q8 T0 p: F}3 L0 h' a% E3 |! }
return 0;, J% E4 l! |3 c% Q! f! O
}//------------------------------------------------------------------------------( i9 D9 H' a1 L2 q' r% k- b
// Selection with type array
5 i7 C) O! n& w6 U//------------------------------------------------------------------------------
, C: ]0 B* _6 Z) i% ?; \8 ~TaggedObject* MyClass::select_by_type()
6 Z1 t6 i: ?& ]% h, o$ o{
8 D' h4 r4 A- lNXString message("Select an object by type:");
, ?) [. \: F8 y% `% z" pNXString title("Select object");) R0 @& R* ~: a
Selection::SelectionScope scope = Selection::SelectionScopeUseDefault;7 Y3 A( _! J% W0 I: r
bool keep_highlighted = 0; // Define the mask triple(s), see also uf_object_types.h.
* y& G) S9 ^  E# g// Uncomment or combine the desired types
0 W! V  K- w: l" _8 ?std::vector<Selection::SelectionType> typeArray(1);, f$ `# q# o/ S' u6 v' l8 Z
typeArray[0] = Selection::SelectionTypeAll;' ~, v( A2 A. f( J
/*
- x. w5 O4 @1 ^8 X/ M5 I' htypeArray[0] = Selection::SelectionTypeFeatures;
  F) W3 Q; s/ N1 e" ^0 _typeArray[0] = Selection::SelectionTypeCurves;) L! C& a! u* j5 p- A
typeArray[0] = Selection::SelectionTypeFaces;
; p* [  i3 m. [$ j- ^typeArray[0] = Selection::SelectionTypeEdges;
+ m. _  ]0 o" B5 U" N9 r# ttypeArray[0] = Selection::SelectionTypeCurvesAndEdges;5 R1 V4 q0 ?: G) q  ]* Z2 k
*/5 X0 e. f) S. o
Point3d cursor;
0 N* j7 S  `3 ZTaggedObject *object; // Select objects using filter defined by type array* ^; D. f8 U! s3 o. x7 a- y
Selection::Response res = selmgr->SelectTaggedObject(
- a2 F. w' w2 R$ ?: x) B+ z, q   message, title, scope, keep_highlighted, $ V: M" c9 n: |" p+ A0 [  e
   typeArray, &object, &cursor ); if( res == Selection::ResponseObjectSelected )# U( A' M0 ]4 T
{+ j* ?9 `- [& f. \2 r8 M" U
  return object;
( M0 {/ J( L/ ~/ O# M: m}
$ a; ?- k6 v( H* x/ f2 L- x& f: wreturn 0;
5 g3 p* f  h6 H6 r}//------------------------------------------------------------------------------
. |4 r, c9 L+ h! u// Selection any objects
7 f* F; b$ v) p6 k//------------------------------------------------------------------------------
( y( @. v) Q4 U$ t/ I$ p" w. M0 V# Astd::vector< NXOpen::TaggedObject * > MyClass::select_any_objects()
1 j, {8 x& s, ^0 j  ]3 u9 {{- F* d  M: ^! T1 u# P- N3 K
NXString message("Select any objects:");' @! R$ @4 R* i
NXString title("Select objects");
7 m' Y% [+ `0 tSelection::SelectionScope scope = Selection::SelectionScopeUseDefault;
; v2 ~/ s& U( {6 ^' \# L6 Bbool include_features = 0; + g- }+ e& m6 l
bool keep_highlighted = 0;0 {1 {9 U- \) z. @; z7 ~8 |
std::vector< NXOpen::TaggedObject * > objectArray; // Select any object array
" H+ f  C3 r( P3 F1 }Selection::Response res = selmgr->SelectTaggedObjects(
1 _( K7 _; v4 N: X% u0 x& @$ e6 m   message, title, scope, include_features, 3 e3 ^: b6 y, _) X% Z8 E
   keep_highlighted, objectArray ); return objectArray;* {$ g7 N# ^9 R; d8 W7 H+ a" H0 Y
}
5 j" N0 `( r" _; a9 M0 Y; x; b
' b  l5 @  \! g6 ]% J* U; \& v( Z. F

: m  \) k; d' ?, d! m3 Q
上海点团信息科技有限公司,承接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
, n$ V1 G) l* Q" V0 F1 g老大 为什么把你的这个代码放在这里会提示错误啊。。。新手一枚,问题幼稚,请多指教 谢谢 ...
3 j8 A8 {; k7 |; N9 D) I6 e% {
你抱什么错' J5 \7 B+ }. G( C' P9 `
头文件 加了么
上海点团信息科技有限公司,承接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
4 Y& E& g7 d; m" c3 C" N, ~老大 为什么把你的这个代码放在这里会提示错误啊。。。新手一枚,问题幼稚,请多指教 谢谢 ...

' z( K  Z# W* M# x$ l你抱什么错
( V; t$ Y, [" r, B' R& k  l头文件 加了么
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了