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

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

  [复制链接]

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

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

admin 楼主

2014-2-18 13:07:13

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

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

x
选择方式包括通过mask过滤,通过type选择,或者通过选择所有的对象。
3 u3 V) W8 \, @( I9 |
/ I4 x. W( s7 w7 g/------------------------------------------------------------------------------$ r6 Y$ X7 i6 j* I
// Selection with mask
8 X# P3 z1 U8 A2 I; O//------------------------------------------------------------------------------
# G0 Y& h; J" }& f- MTaggedObject* MyClass::select_by_mask()
2 @- r3 w9 G% N  d) U. v; k6 _4 g{, g. m+ s* @9 }! J
NXString message("Select an object by mask:");
. ~- q* [* w: k0 E& rNXString title("Select object");
- G! F: u) z$ s& }Selection::SelectionScope scope = Selection::SelectionScopeUseDefault;) O0 [  t6 N* d" w
Selection::SelectionAction action = Selection::SelectionActionClearAndEnableSpecific;
" c5 O: G" e: K$ C6 v& w( jbool include_features = 0;
' h' L2 u8 A4 _9 r( T' tbool keep_highlighted = 0; // Define the mask triple(s), see also uf_object_types.h.
/ U7 }  P) J2 N/ G// Uncomment or combine the desired mask triples  P. p% H" @: _7 h0 O% |! v! [" S
std::vector<Selection::MaskTriple> maskArray(1);- {) g( k+ r$ z0 o
maskArray[0] = Selection::MaskTriple( UF_solid_type, UF_solid_body_subtype, 0 ); // Bodies
) g2 ?2 z' ?2 b2 [, ^/*0 c0 [2 n6 m! _. z2 q9 E' @" I( O
maskArray[0] = Selection::MaskTriple( UF_solid_type, UF_all_subtype, UF_UI_SEL_FEATURE_ANY_FACE); // Faces
/ s1 ~6 k' ^3 y8 vmaskArray[0] = Selection::MaskTriple( UF_solid_type, UF_all_subtype, UF_UI_SEL_FEATURE_ANY_EDGE); // Edges7 \0 C  y1 N7 h/ O
maskArray[0] = Selection::MaskTriple( UF_component_type, 0, 0 ); // Components- g, Z7 l+ J: h2 u! u
maskArray[0] = Selection::MaskTriple( UF_line_type, 0, 0 ); // Lines
# ~0 m  ^  t/ Y; ~) rmaskArray[0] = Selection::MaskTriple( UF_drafting_entity_type, 0, 0 ); // Drafting objects9 e9 Y9 ^  x. r7 n7 R
*/2 E) H6 D7 w4 _2 y- e( q
Point3d cursor;+ T6 i- b/ \1 B& v7 c3 D
TaggedObject *object; // Select objects using filter defined by maskArray triples
$ F( f0 n& {  O: h$ r* b1 h- @7 }1 [Selection::Response res = selmgr->SelectTaggedObject(8 t# N8 L# `' x+ I
   message, title, scope, action, include_features,
$ ^4 [7 p* y5 c2 V' Q            keep_highlighted, maskArray, &object, &cursor ); if( res == Selection::ResponseObjectSelected )) T$ l/ n/ n  l( [0 }
{1 C! x2 D( p8 u
  return object;
% J' j# K5 E" y: d% J7 F: {}8 c) [2 R% R) W& J8 n- n
return 0;
: H2 y% ]' U, l( I! ^3 l% v}//------------------------------------------------------------------------------
$ g8 {" N6 C' v: S// Selection with type array* x# g* D4 i6 \" P* r
//------------------------------------------------------------------------------
  Z$ s0 G4 @- b4 O; }TaggedObject* MyClass::select_by_type()
' D, ~  h. N. @% k5 `) r& }& ?{# ^$ ~2 {( w1 F9 @9 Z1 a8 l
NXString message("Select an object by type:");
4 i9 R8 g. x7 g: h1 N* ENXString title("Select object");- X- a2 B/ c& r8 @
Selection::SelectionScope scope = Selection::SelectionScopeUseDefault;, K5 R" Q- u. @
bool keep_highlighted = 0; // Define the mask triple(s), see also uf_object_types.h.
* T5 }% h( e5 l" r1 h" M// Uncomment or combine the desired types( p: Z. ~! Z: ^
std::vector<Selection::SelectionType> typeArray(1);
# r8 k5 [: ^% }- T$ b8 ]typeArray[0] = Selection::SelectionTypeAll;( j- U( ]/ d' Z+ _4 ?
/*
! D; E4 u  H" k6 QtypeArray[0] = Selection::SelectionTypeFeatures;! e6 w, m5 @: e- p
typeArray[0] = Selection::SelectionTypeCurves;
& H" v; h. s/ ~) @. WtypeArray[0] = Selection::SelectionTypeFaces;
9 ^1 F* A: P/ k2 k% R0 A3 ktypeArray[0] = Selection::SelectionTypeEdges;4 Z1 ]) C' u4 ]
typeArray[0] = Selection::SelectionTypeCurvesAndEdges;8 p: c7 H2 y0 i
*/3 j1 F" U* w( I% _% _/ ]8 A4 p
Point3d cursor;8 F5 y9 i' S6 g
TaggedObject *object; // Select objects using filter defined by type array
. K, v& I9 K$ a) g+ qSelection::Response res = selmgr->SelectTaggedObject(
  _; h9 a' b" [   message, title, scope, keep_highlighted, : R$ H* w2 a/ C% b3 P. Y
   typeArray, &object, &cursor ); if( res == Selection::ResponseObjectSelected )/ V1 T; z1 h. J
{
4 R7 g$ V- h* a# C  return object;: M4 @3 z- W  {  t
}4 }1 {0 S" g4 @  b! q
return 0;, d$ B6 g; Q; T; u$ c; T( |
}//------------------------------------------------------------------------------2 t+ D- `4 E. p7 S+ P
// Selection any objects7 @! I7 m! q" B
//------------------------------------------------------------------------------, q: q' Q) f$ m6 P+ b" u  O
std::vector< NXOpen::TaggedObject * > MyClass::select_any_objects()# M6 }' x+ e; F: K. I+ l- y* z6 @
{
9 G6 n8 `7 S+ w6 M6 p5 HNXString message("Select any objects:");2 {, B5 r1 Y4 A8 s# S
NXString title("Select objects");% m5 Y- ?& ^4 }) n3 B5 [" }3 B
Selection::SelectionScope scope = Selection::SelectionScopeUseDefault;8 a7 `( X8 \! a. W
bool include_features = 0; 5 \0 e' v: I' G
bool keep_highlighted = 0;
1 K+ M4 M& }( L9 lstd::vector< NXOpen::TaggedObject * > objectArray; // Select any object array
+ Q! h* C" |8 l9 t5 b/ ^Selection::Response res = selmgr->SelectTaggedObjects(1 E6 P4 P3 b6 l
   message, title, scope, include_features,
; X1 c0 ~% ^. K. Q; n2 F   keep_highlighted, objectArray ); return objectArray;
4 p+ h$ |# V* @4 _}
" z& P0 c$ D9 @6 a  W7 b6 M1 Q( `, m! t
, l5 s: Q6 _8 k! V: G7 s
  R. a! j: v' P' T/ c0 b
上海点团信息科技有限公司,承接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:365 z* T5 `. ~4 \! i3 a% L3 e, x
老大 为什么把你的这个代码放在这里会提示错误啊。。。新手一枚,问题幼稚,请多指教 谢谢 ...

" t- C+ Q& k1 o) B$ ~你抱什么错
) r# Q3 b. Y, i9 T( x头文件 加了么
上海点团信息科技有限公司,承接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:366 w8 n" _5 t. |$ M
老大 为什么把你的这个代码放在这里会提示错误啊。。。新手一枚,问题幼稚,请多指教 谢谢 ...
- J3 A8 r% b9 q2 q
你抱什么错- n/ w. g& j  S, @, Y& ], Z* L* q
头文件 加了么
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了