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

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

  [复制链接]

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

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

admin 楼主

2014-2-18 13:07:13

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

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

x
选择方式包括通过mask过滤,通过type选择,或者通过选择所有的对象。
% B) E0 V: G! l7 e
) k) j$ G7 n8 h7 s0 [/------------------------------------------------------------------------------
& F; R! ?4 a) G: ]7 V- w4 h- a// Selection with mask: j5 T, H; n# j+ I: F2 K( _
//------------------------------------------------------------------------------: x  {" s% w4 v# h/ i
TaggedObject* MyClass::select_by_mask()( f$ t" o" S8 o9 x+ K$ l4 h
{
; s  w8 m6 \1 x9 k$ W$ WNXString message("Select an object by mask:");
: r$ T2 p$ P/ Y1 N' xNXString title("Select object");+ G, _  W1 W3 B$ B& c- F5 e
Selection::SelectionScope scope = Selection::SelectionScopeUseDefault;9 T6 ^7 n. K6 z  ^+ F$ I
Selection::SelectionAction action = Selection::SelectionActionClearAndEnableSpecific;. W* U6 |0 _: d/ [& J# v9 R5 l. B
bool include_features = 0;& b4 T3 N$ }) p: T! z! S
bool keep_highlighted = 0; // Define the mask triple(s), see also uf_object_types.h.
. `# S$ j" O1 j* A0 Z7 _// Uncomment or combine the desired mask triples  L& `, @; e1 V
std::vector<Selection::MaskTriple> maskArray(1);! O5 d1 t4 k+ M0 q' x% r6 J
maskArray[0] = Selection::MaskTriple( UF_solid_type, UF_solid_body_subtype, 0 ); // Bodies: e: [% `6 h9 r
/** i: ~9 G, d0 U& T0 q# g$ G, y
maskArray[0] = Selection::MaskTriple( UF_solid_type, UF_all_subtype, UF_UI_SEL_FEATURE_ANY_FACE); // Faces
6 J3 e) Z; w- U7 ~maskArray[0] = Selection::MaskTriple( UF_solid_type, UF_all_subtype, UF_UI_SEL_FEATURE_ANY_EDGE); // Edges
$ z" P' B; B! n- d4 L" ?maskArray[0] = Selection::MaskTriple( UF_component_type, 0, 0 ); // Components
* ?% j1 L0 o. T& r7 \! M# ImaskArray[0] = Selection::MaskTriple( UF_line_type, 0, 0 ); // Lines. N# Y( a0 y3 l; J& h
maskArray[0] = Selection::MaskTriple( UF_drafting_entity_type, 0, 0 ); // Drafting objects0 {  p3 O# F5 q6 ^+ G* W% M4 `
*/6 K1 g) p# V7 y
Point3d cursor;
7 o8 F4 j6 o8 }) e( ETaggedObject *object; // Select objects using filter defined by maskArray triples' g; g! c1 g: e; w8 s0 {
Selection::Response res = selmgr->SelectTaggedObject(3 z- V3 J5 a- }" w6 E
   message, title, scope, action, include_features,% G$ v9 a5 B. }! j, [4 f3 Y5 G
            keep_highlighted, maskArray, &object, &cursor ); if( res == Selection::ResponseObjectSelected )
3 l1 i& B  H' m( S) X{
' ~- e( X" P1 z, P  return object;
7 x9 f  S/ V8 J2 }/ m}
5 Z: a! t' E/ `6 P" h/ Ereturn 0;: C. Z4 A8 ^( p0 A" y! F
}//------------------------------------------------------------------------------
* e( ?7 P; Y% w5 ?0 V8 O8 w+ _// Selection with type array7 ^% R/ c/ I& ?* P
//------------------------------------------------------------------------------
! j" C( F3 A9 W/ DTaggedObject* MyClass::select_by_type()0 X5 p9 Z! k( @# B- k/ A4 ]
{
9 ~; v/ c: p) y9 o& tNXString message("Select an object by type:");+ }. |" {% L6 B. `# y
NXString title("Select object");4 f* m3 Z* I- z- @, z
Selection::SelectionScope scope = Selection::SelectionScopeUseDefault;
( Q9 S& K6 C" Z; N7 Vbool keep_highlighted = 0; // Define the mask triple(s), see also uf_object_types.h.
* H# k+ c( B/ u. `+ O// Uncomment or combine the desired types$ r4 o4 `) l& A+ T# t
std::vector<Selection::SelectionType> typeArray(1);# @" r$ o& K! n2 q
typeArray[0] = Selection::SelectionTypeAll;
# r9 @3 P* }  ^+ b/*0 C3 d. U% }! ?2 d
typeArray[0] = Selection::SelectionTypeFeatures;, c/ i7 [; i3 c/ z
typeArray[0] = Selection::SelectionTypeCurves;
) O+ O. t  s  ^4 O1 x4 p+ _typeArray[0] = Selection::SelectionTypeFaces;
0 o/ a+ B. i! q- G" xtypeArray[0] = Selection::SelectionTypeEdges;4 ]* V) j$ ~/ j& O
typeArray[0] = Selection::SelectionTypeCurvesAndEdges;
# V: |2 b1 a4 f*/+ j! {  D$ w7 u  Z: B7 Y, U+ ?: {0 _
Point3d cursor;
# I6 G4 d1 z& L9 o: L( jTaggedObject *object; // Select objects using filter defined by type array! p' {, u5 j' r7 `& v
Selection::Response res = selmgr->SelectTaggedObject(" Z" e& u6 [' }. S
   message, title, scope, keep_highlighted,
- }! I6 d' q" [* N! W" s" O   typeArray, &object, &cursor ); if( res == Selection::ResponseObjectSelected )* }) u$ A0 f8 w5 a  P
{! ^) @; m% [' E* d# ?
  return object;
/ `/ q5 H  U; r}; ?6 b" L: K% h% U: U+ O7 W
return 0;
9 M: w: J. j! U  j( H1 s5 {9 }}//------------------------------------------------------------------------------  m" F( O: B1 L9 U0 N
// Selection any objects
/ @0 z3 a5 ?/ r1 G6 ?7 g//------------------------------------------------------------------------------
- V8 ?2 |% D; O% A" C; _$ mstd::vector< NXOpen::TaggedObject * > MyClass::select_any_objects()1 D/ Q2 i4 c4 K& y' ~1 u
{
, p1 @, u- R+ s7 f4 jNXString message("Select any objects:");: S% Y; x' t" J+ t
NXString title("Select objects");
$ s5 o+ p, H, K" n$ {Selection::SelectionScope scope = Selection::SelectionScopeUseDefault;( J* f, A- R( N" v0 E
bool include_features = 0;
- f* R+ G$ M. k4 gbool keep_highlighted = 0;/ ?& V' ~% ^2 _, x
std::vector< NXOpen::TaggedObject * > objectArray; // Select any object array5 ?( q* h1 c9 P9 i# d2 E3 C) s
Selection::Response res = selmgr->SelectTaggedObjects(1 i1 G' I; I* v4 D% V, E
   message, title, scope, include_features, % U8 ?( K- ?( X) l7 H( @
   keep_highlighted, objectArray ); return objectArray;
. K. m7 c# T- V' y' F}0 i/ [2 i* n) ]5 s# U2 X

6 ?$ v  n' j+ f
) U9 D* t) t# m  ~( H3 ]3 F
2 D) a8 ~& O2 D; |+ v* V! ~3 W6 i
上海点团信息科技有限公司,承接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
6 D9 X- O7 z; F+ p) Q1 ]老大 为什么把你的这个代码放在这里会提示错误啊。。。新手一枚,问题幼稚,请多指教 谢谢 ...
" l" X' [, t( w4 U
你抱什么错
' t# w' j$ F  d& G! }1 Z" D4 O/ I头文件 加了么
上海点团信息科技有限公司,承接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% A- S# ]. k( X+ g
老大 为什么把你的这个代码放在这里会提示错误啊。。。新手一枚,问题幼稚,请多指教 谢谢 ...
, M$ B, p1 D6 c" o
你抱什么错3 ~) [2 q# G: U" l
头文件 加了么
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了