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

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

  [复制链接]

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

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

admin 楼主

2014-2-18 13:07:13

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

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

x
选择方式包括通过mask过滤,通过type选择,或者通过选择所有的对象。
9 r: U2 {3 K$ h3 D8 m$ H3 [+ S2 x3 Y  r4 d& T9 K2 v# E3 K
/------------------------------------------------------------------------------4 J/ u9 s6 L2 Q5 ]- \& Z$ L
// Selection with mask% A/ `/ D( P8 S2 T
//------------------------------------------------------------------------------
2 w2 ^8 u( u6 PTaggedObject* MyClass::select_by_mask()" R+ R+ Q$ Q- F' W$ Z
{
6 i6 |# c& y) a1 }NXString message("Select an object by mask:");* v, E3 e1 t6 I7 q& {
NXString title("Select object");
! G6 K% B. D% h: E, M% S, _Selection::SelectionScope scope = Selection::SelectionScopeUseDefault;5 ~  C$ o' L4 k6 B- k
Selection::SelectionAction action = Selection::SelectionActionClearAndEnableSpecific;
2 c& Y0 Y. R  @; S! B, qbool include_features = 0;
! y3 P+ F- Y- c, y3 a7 R' {& t- p; @bool keep_highlighted = 0; // Define the mask triple(s), see also uf_object_types.h.4 g* e; v3 J9 F, q  L0 t) S' W5 N; u; N1 J
// Uncomment or combine the desired mask triples& S4 n8 ?2 j. o; B7 P: |$ C
std::vector<Selection::MaskTriple> maskArray(1);" k# F' o2 v3 ]* G; m4 Z
maskArray[0] = Selection::MaskTriple( UF_solid_type, UF_solid_body_subtype, 0 ); // Bodies
6 V- l7 ^5 Z/ e3 W9 d/*
4 I5 e8 R+ V8 s, {- U# k8 SmaskArray[0] = Selection::MaskTriple( UF_solid_type, UF_all_subtype, UF_UI_SEL_FEATURE_ANY_FACE); // Faces
$ o# R& `# w: Y' [maskArray[0] = Selection::MaskTriple( UF_solid_type, UF_all_subtype, UF_UI_SEL_FEATURE_ANY_EDGE); // Edges; l- L7 a8 T+ _& c$ Q: q2 m
maskArray[0] = Selection::MaskTriple( UF_component_type, 0, 0 ); // Components
; B! v2 @: o- A5 m: h* xmaskArray[0] = Selection::MaskTriple( UF_line_type, 0, 0 ); // Lines# G0 K4 o% b, S" N  F
maskArray[0] = Selection::MaskTriple( UF_drafting_entity_type, 0, 0 ); // Drafting objects
6 i1 ]/ \0 x8 m, p: l' w4 U*/
( A7 o/ l1 b7 WPoint3d cursor;, g% e6 {2 d5 y- `; N7 N
TaggedObject *object; // Select objects using filter defined by maskArray triples
6 g$ ]$ i' [/ W6 j* A0 ~Selection::Response res = selmgr->SelectTaggedObject(# `# G. h$ S+ _0 F
   message, title, scope, action, include_features,6 A. i8 C6 v, t( @. C
            keep_highlighted, maskArray, &object, &cursor ); if( res == Selection::ResponseObjectSelected ): y  n/ d( M1 F9 t
{
: Y/ |( h- N6 ^& r  return object;5 v; w% G; g8 [5 |+ w3 U# |
}& n2 p* D0 z/ w, l" X2 \
return 0;6 x8 r! H6 y/ `( U4 d9 U
}//------------------------------------------------------------------------------" M: c$ I0 r, u/ O
// Selection with type array! ?4 H+ h! F" |5 ^2 s1 W* J: l# y0 @
//------------------------------------------------------------------------------1 A) t1 ?4 P  y8 T
TaggedObject* MyClass::select_by_type()
) `7 ~2 ], h. T! r' w- y! b{8 p6 |3 l  _3 i" g
NXString message("Select an object by type:");& T* F" ^+ b0 d
NXString title("Select object");
4 E0 }' t* A+ d8 jSelection::SelectionScope scope = Selection::SelectionScopeUseDefault;# U+ p. {+ x# }$ L
bool keep_highlighted = 0; // Define the mask triple(s), see also uf_object_types.h.# U; k- t8 V0 i: @: e
// Uncomment or combine the desired types
; S2 X# @! G9 M9 T4 `std::vector<Selection::SelectionType> typeArray(1);
0 \- m1 {: k1 k5 |2 btypeArray[0] = Selection::SelectionTypeAll;
) H: d' }% |4 e9 n4 n: q/*
9 J8 ?9 T( N7 j! M- ^typeArray[0] = Selection::SelectionTypeFeatures;6 x" X! Z2 M/ I. J6 }/ }
typeArray[0] = Selection::SelectionTypeCurves;& O% t. d1 @8 R+ ?" |
typeArray[0] = Selection::SelectionTypeFaces;! R9 t. \% {" |
typeArray[0] = Selection::SelectionTypeEdges;) g- x" l* L5 {5 }
typeArray[0] = Selection::SelectionTypeCurvesAndEdges;
, W8 Y6 a4 b6 y* M+ W: x*/
! H  u8 {6 _  x# M( {Point3d cursor;: @/ g8 e& B2 Y% u; m
TaggedObject *object; // Select objects using filter defined by type array, ?1 J# S$ f2 g5 P5 n
Selection::Response res = selmgr->SelectTaggedObject(
% P7 @. Y7 w0 M: y; \3 s   message, title, scope, keep_highlighted, " T  p- M- V1 Z6 S  O
   typeArray, &object, &cursor ); if( res == Selection::ResponseObjectSelected ): H" F- ^5 [5 h4 l; z# X
{
3 k2 `1 z0 l4 f; i9 G  return object;
% m" `% v4 n( d) {$ d. F}, a! t7 {8 u/ S* ]  b
return 0;! a0 ]7 \4 v6 M7 e, b
}//------------------------------------------------------------------------------
. W" K5 m: x! n6 \// Selection any objects9 _5 Z  H0 D2 G( v4 @6 y
//------------------------------------------------------------------------------
2 j4 q* W3 x7 J% o3 ~! Ostd::vector< NXOpen::TaggedObject * > MyClass::select_any_objects()# e0 {$ u' D& }* J1 ?' f* M4 o8 q
{* o, U: Z2 }, L
NXString message("Select any objects:");* z; A( M+ l7 R- @1 S) z# ~
NXString title("Select objects");7 A$ p- V1 x& g
Selection::SelectionScope scope = Selection::SelectionScopeUseDefault;
; h1 q: M' w9 |7 S: v* H" Bbool include_features = 0; / P. X; }9 L/ A! F
bool keep_highlighted = 0;
4 @" x, Y1 o- b8 Z+ Q0 }std::vector< NXOpen::TaggedObject * > objectArray; // Select any object array
6 E& Z. @* n; D6 V! Y5 uSelection::Response res = selmgr->SelectTaggedObjects(
6 B3 ~0 x* U$ q- `1 Z( @7 t   message, title, scope, include_features, : |2 l* h0 r' S/ e6 N; A
   keep_highlighted, objectArray ); return objectArray;
' y! S3 ?/ @! X- a" P6 I}
/ I7 p/ W# V: ^' d0 n3 ^4 s, F" \$ T1 E- W

$ z- q0 o' F) t( z
( ^* X) Y" I9 }6 B/ S0 h
上海点团信息科技有限公司,承接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
; v: ^" s1 V2 z  Y. k/ p" K# l* o& ]老大 为什么把你的这个代码放在这里会提示错误啊。。。新手一枚,问题幼稚,请多指教 谢谢 ...

; z# P' ^9 F$ n6 a! @你抱什么错/ P/ W0 y1 H$ f- l5 T$ T. B
头文件 加了么
上海点团信息科技有限公司,承接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 _; T5 \' H8 P& |/ M2 P; s$ q4 D老大 为什么把你的这个代码放在这里会提示错误啊。。。新手一枚,问题幼稚,请多指教 谢谢 ...
0 l2 Q2 ?- M% u  S$ i
你抱什么错1 }; C% D* \) z( B
头文件 加了么
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了