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

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

  [复制链接]

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

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

admin 楼主

2014-2-18 13:07:13

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

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

x
选择方式包括通过mask过滤,通过type选择,或者通过选择所有的对象。+ D1 A- s/ c6 q2 Y/ N: e  E
& ~! o4 n4 s" h6 J5 h
/------------------------------------------------------------------------------
! Z( l$ l- |4 m// Selection with mask
6 K& W/ ^1 ~  j//------------------------------------------------------------------------------
: y, J# n8 p9 ~3 uTaggedObject* MyClass::select_by_mask()3 x) f' S; r# G  v' j$ b1 G- Z
{; z5 R' e- V' q/ C0 B
NXString message("Select an object by mask:");" ]$ [; Y7 D6 N5 N
NXString title("Select object");: U8 A; R- l. F( k$ `% p3 m3 F
Selection::SelectionScope scope = Selection::SelectionScopeUseDefault;
5 |5 _, {6 e# f2 C$ xSelection::SelectionAction action = Selection::SelectionActionClearAndEnableSpecific;1 L+ S2 e1 c3 O1 \
bool include_features = 0;. M+ B- f. r, J' b! N4 n; u8 r6 n
bool keep_highlighted = 0; // Define the mask triple(s), see also uf_object_types.h.
$ L) O3 F4 e$ ?9 y% T! c" Q// Uncomment or combine the desired mask triples
2 G: \/ ?& L6 {2 u+ Rstd::vector<Selection::MaskTriple> maskArray(1);
; Y/ }: P8 G+ y" c4 NmaskArray[0] = Selection::MaskTriple( UF_solid_type, UF_solid_body_subtype, 0 ); // Bodies8 k6 X& E2 l; f% ^# Q! }
/*! ?5 T, O, s) T: w' R  y
maskArray[0] = Selection::MaskTriple( UF_solid_type, UF_all_subtype, UF_UI_SEL_FEATURE_ANY_FACE); // Faces
2 l1 h$ e5 g' @! K' vmaskArray[0] = Selection::MaskTriple( UF_solid_type, UF_all_subtype, UF_UI_SEL_FEATURE_ANY_EDGE); // Edges1 P! E( \( o( y# ?5 b
maskArray[0] = Selection::MaskTriple( UF_component_type, 0, 0 ); // Components' b. `2 X) j0 p+ [, n* L& T
maskArray[0] = Selection::MaskTriple( UF_line_type, 0, 0 ); // Lines
0 C# [9 f, l. N4 T, |/ g3 {/ _maskArray[0] = Selection::MaskTriple( UF_drafting_entity_type, 0, 0 ); // Drafting objects
/ v# z, l* }) t& Q6 C7 `) ]0 o*/# L6 Z) E! ^5 @& P' g8 E# T$ \4 G' B
Point3d cursor;: A: g* R3 l# @
TaggedObject *object; // Select objects using filter defined by maskArray triples
, P6 _! g! X' F1 DSelection::Response res = selmgr->SelectTaggedObject(% j0 p' c( s- l5 @; [: {( H4 t
   message, title, scope, action, include_features,
- W3 X# q+ o# x; \) G* m4 i            keep_highlighted, maskArray, &object, &cursor ); if( res == Selection::ResponseObjectSelected )
1 ]7 M) p: Y6 K# [! c2 O) ^" }: P$ A* v{- M! d( y' S& F; [1 z5 ?" E6 Q* a/ G
  return object;3 L- ~7 _6 }0 Z
}
# z) ~- O' S$ g) {return 0;
& w) Z) G2 ?$ @+ e}//------------------------------------------------------------------------------$ v$ X0 n% i6 B
// Selection with type array8 g3 Q4 _7 n9 a* F
//------------------------------------------------------------------------------
( m+ Z: k3 c: c+ HTaggedObject* MyClass::select_by_type()
4 C! m# o+ H1 z7 M0 K0 z6 t" _{
/ _( ?3 T, I6 M% S' P* t3 yNXString message("Select an object by type:");
7 T6 G5 \' C4 [! h+ |4 CNXString title("Select object");% z5 B- z# R- W! i2 j0 V' }
Selection::SelectionScope scope = Selection::SelectionScopeUseDefault;
7 \) Z  _6 {6 _  o2 L8 p% gbool keep_highlighted = 0; // Define the mask triple(s), see also uf_object_types.h.0 H7 X& p. a* @7 X6 N! a/ ~
// Uncomment or combine the desired types
3 U/ Q: j2 Z9 lstd::vector<Selection::SelectionType> typeArray(1);
  d1 v% b2 `* r* ~typeArray[0] = Selection::SelectionTypeAll;9 F+ h/ R) g* ^0 P/ [
/*% Y; r( f/ u1 Z' z/ W7 c2 I
typeArray[0] = Selection::SelectionTypeFeatures;0 P8 ?: Q3 O/ x  B" H8 V
typeArray[0] = Selection::SelectionTypeCurves;% t) v3 {( W6 }3 V
typeArray[0] = Selection::SelectionTypeFaces;
: G+ e  H1 z5 M' H3 j6 WtypeArray[0] = Selection::SelectionTypeEdges;  `0 r  m7 s' W' A$ W4 i
typeArray[0] = Selection::SelectionTypeCurvesAndEdges;1 @& l3 p* m9 b+ G0 z8 o
*/
/ Y0 @3 q2 e6 W! lPoint3d cursor;
" }$ Z+ s' |) ]2 ^7 C. J; sTaggedObject *object; // Select objects using filter defined by type array% \5 P" h# _* b( V+ R4 S
Selection::Response res = selmgr->SelectTaggedObject(: c. ^; v6 h: d1 w/ `0 e- v
   message, title, scope, keep_highlighted,
% b. m5 E- S$ N8 \' T   typeArray, &object, &cursor ); if( res == Selection::ResponseObjectSelected )
7 _8 @% c* v$ L& U+ G{
4 L. x7 \" u+ `; u5 }' @' y  return object;% M6 F& L5 Z' g4 Y1 k: P
}6 Q/ T4 Y  U" o; ?9 f
return 0;
' T7 o; P/ c3 K1 D9 H, E& H' E* z}//------------------------------------------------------------------------------5 ], g3 C! y0 O: j# y
// Selection any objects  J+ M  u2 E8 p5 k% e- g
//------------------------------------------------------------------------------. G2 ~+ }7 C9 U5 F/ }% M8 G
std::vector< NXOpen::TaggedObject * > MyClass::select_any_objects()/ T8 E$ K1 a9 x+ S. j7 F
{2 }9 [/ c+ Q4 Y7 e3 I# i
NXString message("Select any objects:");
6 o% N% b1 z1 k, F$ A$ h* s: U% ~NXString title("Select objects");" E; j& d. F' d4 J
Selection::SelectionScope scope = Selection::SelectionScopeUseDefault;
/ B. R, v# W4 j  H& }6 bbool include_features = 0; + F2 b3 \: o$ c; A6 T$ p' |/ W
bool keep_highlighted = 0;
2 Y1 {! u+ u: u9 l# hstd::vector< NXOpen::TaggedObject * > objectArray; // Select any object array9 T- k6 E( r  X1 W, N0 [! e; i
Selection::Response res = selmgr->SelectTaggedObjects(, W) }; C& g- G0 w9 l2 o' A9 [
   message, title, scope, include_features,
0 B- t' M6 U/ t  W   keep_highlighted, objectArray ); return objectArray;
: e: ^+ X' \3 w% n}; X% ]9 J3 I( J0 {
0 `8 ~$ y' `/ N6 g9 V& g* s' Q
5 Y6 J7 B& v; C  M! H

+ b- r: R, D( h, z: h
上海点团信息科技有限公司,承接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
1 U5 M( M& @! j0 _' ^& P老大 为什么把你的这个代码放在这里会提示错误啊。。。新手一枚,问题幼稚,请多指教 谢谢 ...
* X+ _/ l3 {! x/ J4 Y9 w+ O0 Y
你抱什么错
: Z; `9 P# }. R" w4 {1 B头文件 加了么
上海点团信息科技有限公司,承接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
2 ?- _; m  d) R) C' M' {老大 为什么把你的这个代码放在这里会提示错误啊。。。新手一枚,问题幼稚,请多指教 谢谢 ...
& t) t2 H/ {$ i! v
你抱什么错
( _8 M" a  `) H: F头文件 加了么
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了