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

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

  [复制链接]

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

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

admin 楼主

2014-2-18 13:07:13

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

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

x
选择方式包括通过mask过滤,通过type选择,或者通过选择所有的对象。* ~8 T% F1 i' {  A: n, _+ ?

0 D: v1 n1 n$ l3 I7 d/------------------------------------------------------------------------------
  L$ Z7 _' w) Y// Selection with mask
5 S) {8 l, n* Z; i5 S//------------------------------------------------------------------------------
$ m9 W( {  }1 ]6 h9 k) ^4 FTaggedObject* MyClass::select_by_mask()
0 N, g  K/ s+ y1 ~6 d8 l{
9 G  h  u+ K5 Q+ ^8 x2 D+ H- C9 HNXString message("Select an object by mask:");7 \( m. k  z+ X/ v' H
NXString title("Select object");: O  U7 q/ |1 K) }7 ]
Selection::SelectionScope scope = Selection::SelectionScopeUseDefault;# t5 j9 V% T8 l6 I9 K7 R; b, m
Selection::SelectionAction action = Selection::SelectionActionClearAndEnableSpecific;
3 M7 q  q! v/ ]bool include_features = 0;
( d: v' u  K9 Xbool keep_highlighted = 0; // Define the mask triple(s), see also uf_object_types.h.
* R# K3 |7 p8 F1 f/ ?% `( m1 h// Uncomment or combine the desired mask triples
. M, q+ F3 T: o. l- Z7 W) Hstd::vector<Selection::MaskTriple> maskArray(1);6 W6 y5 z) a/ Z
maskArray[0] = Selection::MaskTriple( UF_solid_type, UF_solid_body_subtype, 0 ); // Bodies3 [7 v3 C6 @4 L9 P
/*
0 {. c. S& H. G; s, m$ omaskArray[0] = Selection::MaskTriple( UF_solid_type, UF_all_subtype, UF_UI_SEL_FEATURE_ANY_FACE); // Faces8 ]' [" _! ]2 w
maskArray[0] = Selection::MaskTriple( UF_solid_type, UF_all_subtype, UF_UI_SEL_FEATURE_ANY_EDGE); // Edges% I/ _( \* c" L+ a) s# q
maskArray[0] = Selection::MaskTriple( UF_component_type, 0, 0 ); // Components
! @# F0 G* J4 F- Q9 k! BmaskArray[0] = Selection::MaskTriple( UF_line_type, 0, 0 ); // Lines! @- j4 m. J) P6 R- u
maskArray[0] = Selection::MaskTriple( UF_drafting_entity_type, 0, 0 ); // Drafting objects/ i' l! Z$ F/ L  r- t) J( K
*/
* K: f0 _: y  a2 KPoint3d cursor;
5 M  f$ E- c: ~4 oTaggedObject *object; // Select objects using filter defined by maskArray triples
: N5 Y7 Y$ j5 F+ cSelection::Response res = selmgr->SelectTaggedObject(  k, L' K# o3 g7 }7 r0 t
   message, title, scope, action, include_features,
# B3 M& o' k4 Y, a( S5 D5 F            keep_highlighted, maskArray, &object, &cursor ); if( res == Selection::ResponseObjectSelected )# e3 K. y4 T4 ^
{6 E) ~4 {( {) H0 M2 @# K" G
  return object;
) m' _) g& t( u, }' i* k}
3 D% [0 I& W" Z" B- X& E) w8 c) kreturn 0;
) B+ \9 B/ w6 |6 s. b" s% D}//------------------------------------------------------------------------------
' F) ?. v2 e7 X" I0 j; g4 ^// Selection with type array
$ A) r* v* C( X8 i& }* m2 a5 A) x//------------------------------------------------------------------------------, K5 `& y0 |$ X2 v
TaggedObject* MyClass::select_by_type()
" G) y3 t: }4 s! Q- ~. m{
. s& w" y! s4 L( ^, KNXString message("Select an object by type:");9 v5 h) O0 o+ y4 M( f
NXString title("Select object");: @- R6 y! A: `+ c0 r
Selection::SelectionScope scope = Selection::SelectionScopeUseDefault;! X) D4 D2 R" ?1 f; m( Z5 \" o: x
bool keep_highlighted = 0; // Define the mask triple(s), see also uf_object_types.h.! h- H' s; e/ H2 i: E) W5 k
// Uncomment or combine the desired types
7 ]- t: }$ O' @9 g0 @) ~& o8 tstd::vector<Selection::SelectionType> typeArray(1);
: u! G$ e& f: utypeArray[0] = Selection::SelectionTypeAll;0 Q# e+ z" W: X/ ^
/*
  l# m4 r- ~& Z. n3 Z+ Z& h/ qtypeArray[0] = Selection::SelectionTypeFeatures;$ e5 R/ j2 r2 ^1 t! Z0 R
typeArray[0] = Selection::SelectionTypeCurves;
+ a/ N' G( p5 \3 ztypeArray[0] = Selection::SelectionTypeFaces;; S: U/ D1 e9 ~6 R# r( y
typeArray[0] = Selection::SelectionTypeEdges;0 p' l! p- B& d1 f! {! A
typeArray[0] = Selection::SelectionTypeCurvesAndEdges;/ q4 m8 ]6 w0 j' X0 B1 ?* {3 J
*/& o6 ]4 x$ F' A- |; g% V. ^+ f
Point3d cursor;( B, s; S4 c$ K1 E8 h, C
TaggedObject *object; // Select objects using filter defined by type array
. T' k0 J, A/ n4 p& jSelection::Response res = selmgr->SelectTaggedObject(7 L8 B; T0 F! F3 {  ?
   message, title, scope, keep_highlighted, 6 b! [* W8 b( ~! c, p
   typeArray, &object, &cursor ); if( res == Selection::ResponseObjectSelected )
5 x9 v+ X! `  g  y! o' z" X+ Y, \{. d* q' o$ W5 L
  return object;' t4 v! B5 N, w* i
}" C0 e( L2 j" j2 f
return 0;
3 R( }1 O% h# d! t* H/ {}//------------------------------------------------------------------------------
% N  n* ]4 k& C- O// Selection any objects6 r& h* [2 J+ Z( U
//------------------------------------------------------------------------------" m0 H' @0 ~* [. P/ p$ f
std::vector< NXOpen::TaggedObject * > MyClass::select_any_objects()) f$ V% s* i- N+ G/ o8 m- }' R* \8 u  J
{' h- V5 X$ k! W" k6 J  _
NXString message("Select any objects:");
$ C1 |2 W: w- k+ ~5 NNXString title("Select objects");* G6 M- B, H9 ?, {  N
Selection::SelectionScope scope = Selection::SelectionScopeUseDefault;
0 D" A1 S8 \, ]3 Q' Fbool include_features = 0;
; }  G% O$ N) Y7 c6 [bool keep_highlighted = 0;9 z! i! U& ^# @" F0 I8 {  X, D
std::vector< NXOpen::TaggedObject * > objectArray; // Select any object array
/ ?. U- ~  [. d* }Selection::Response res = selmgr->SelectTaggedObjects(
& w4 Q5 E- z5 h   message, title, scope, include_features,
5 \$ J, L) K8 `6 ]6 r. q, t   keep_highlighted, objectArray ); return objectArray;
) m4 C  v8 x( g' @2 J6 i8 Y; y5 B}* c! x7 F1 j" P, h
" S8 x$ Z' `7 v

5 ?& b( g0 F) f, @' z4 V: j! I% }  L
0 o3 y& l0 H5 w! B, k7 w2 @
上海点团信息科技有限公司,承接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. i+ g+ t% ?8 s/ y3 Z( ?: e
老大 为什么把你的这个代码放在这里会提示错误啊。。。新手一枚,问题幼稚,请多指教 谢谢 ...

' Q6 I; X5 L) ^8 a/ S# g) l# p你抱什么错9 R) ^+ y# D( T- ^' `
头文件 加了么
上海点团信息科技有限公司,承接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 K3 T( {1 N& ?, {6 O" ~老大 为什么把你的这个代码放在这里会提示错误啊。。。新手一枚,问题幼稚,请多指教 谢谢 ...
) f5 c( e5 @5 P: h, s" V/ {
你抱什么错5 k( W) u3 f0 h) _9 m
头文件 加了么
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了