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

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

  [复制链接]

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

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

admin 楼主

2014-2-18 13:07:13

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

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

x
选择方式包括通过mask过滤,通过type选择,或者通过选择所有的对象。0 Z6 x2 o; ^6 d3 Z

& C* @( ~7 G) b: R' Z+ P& C/------------------------------------------------------------------------------
" W' V% \( T' H. K% G, v// Selection with mask  E2 S5 Z; ^2 N; w
//------------------------------------------------------------------------------. O5 j6 [2 @- L/ Q. Q
TaggedObject* MyClass::select_by_mask()
  y" y  m5 V2 Z4 ?; [{
+ q1 F2 n/ k% `NXString message("Select an object by mask:");
5 {4 v/ H2 S+ W$ ?! b; J; QNXString title("Select object");6 q3 q- r3 `6 V1 d! L5 ]5 K; R- }' \
Selection::SelectionScope scope = Selection::SelectionScopeUseDefault;  D, h* H; L( g; x  \* X7 X7 o# n7 C
Selection::SelectionAction action = Selection::SelectionActionClearAndEnableSpecific;
+ E, s: i4 D3 n% W+ o0 abool include_features = 0;
5 `- E# O1 m* c5 S! V: vbool keep_highlighted = 0; // Define the mask triple(s), see also uf_object_types.h.: A# d+ _  n3 p. ?
// Uncomment or combine the desired mask triples
8 i5 S+ `& \- y: }. a4 @std::vector<Selection::MaskTriple> maskArray(1);
* Z* Q" g" q. c8 r. J% xmaskArray[0] = Selection::MaskTriple( UF_solid_type, UF_solid_body_subtype, 0 ); // Bodies
0 S) f( L/ I2 u; q" F- H/*
4 W, R" A; J4 ?  N. \) \maskArray[0] = Selection::MaskTriple( UF_solid_type, UF_all_subtype, UF_UI_SEL_FEATURE_ANY_FACE); // Faces
, d& _, v4 C6 c. y7 [maskArray[0] = Selection::MaskTriple( UF_solid_type, UF_all_subtype, UF_UI_SEL_FEATURE_ANY_EDGE); // Edges6 d. r" B9 ^3 \2 W) c
maskArray[0] = Selection::MaskTriple( UF_component_type, 0, 0 ); // Components3 P" D3 ~) X7 _1 K
maskArray[0] = Selection::MaskTriple( UF_line_type, 0, 0 ); // Lines
) w5 w& L9 y' g/ XmaskArray[0] = Selection::MaskTriple( UF_drafting_entity_type, 0, 0 ); // Drafting objects
; z" ?$ S" Z- j, l*/8 s. \7 b% p1 E" p
Point3d cursor;9 [1 D* m: i# ^% L# S) j. c
TaggedObject *object; // Select objects using filter defined by maskArray triples0 Z0 }8 \! U8 {; l/ H3 \. x) R- O
Selection::Response res = selmgr->SelectTaggedObject(3 r: d$ M" b$ C$ T9 K
   message, title, scope, action, include_features,
- @. s6 k/ Y; S            keep_highlighted, maskArray, &object, &cursor ); if( res == Selection::ResponseObjectSelected )
; \, h2 q2 W1 p( @9 u4 }{6 `7 g! s) E* N3 B
  return object;
2 j8 G( T6 s/ ^}1 n. @9 j& n0 Z7 @1 {! r
return 0;) f) y) j9 z6 K; V$ P1 i& A
}//------------------------------------------------------------------------------
9 x: n7 u# k: P- j; b# D" ^( G// Selection with type array
3 u0 O. Z) Y% |4 H3 g//------------------------------------------------------------------------------
- X8 e! e+ k6 g& ^TaggedObject* MyClass::select_by_type(): A' b, \+ _8 y" h: V
{
2 c& d6 m/ n6 VNXString message("Select an object by type:");! F7 }5 m; V* g9 }
NXString title("Select object");
. f4 j2 |+ z9 `/ |/ |Selection::SelectionScope scope = Selection::SelectionScopeUseDefault;
: h! ?0 |# J0 {bool keep_highlighted = 0; // Define the mask triple(s), see also uf_object_types.h.
; O- ]4 @6 U0 ~/ m- L// Uncomment or combine the desired types
! \. W. L; D! r* w3 H* ?std::vector<Selection::SelectionType> typeArray(1);- t+ o1 i: u) r6 P8 E
typeArray[0] = Selection::SelectionTypeAll;
8 y* Z$ s. q( o! @! w! Q$ }  i/*9 b3 ~6 v! I4 R; r1 R- q
typeArray[0] = Selection::SelectionTypeFeatures;" g: ^& X! K8 l0 Z- W% l
typeArray[0] = Selection::SelectionTypeCurves;/ B: A4 f2 L* G3 e
typeArray[0] = Selection::SelectionTypeFaces;) a( E# v& W: U1 M# R$ @: N
typeArray[0] = Selection::SelectionTypeEdges;7 p, i, U$ f$ a3 `; {
typeArray[0] = Selection::SelectionTypeCurvesAndEdges;' g( V' M1 |+ S2 t+ d* D( u+ c
*/
! q4 _& Q" J* aPoint3d cursor;, Y7 z& q1 Z+ `) L- r. B
TaggedObject *object; // Select objects using filter defined by type array2 ]2 K) s3 J2 j- _- P7 w) c# K) b8 I
Selection::Response res = selmgr->SelectTaggedObject(1 C3 o+ O8 A; Z3 G0 ~) I0 x3 S
   message, title, scope, keep_highlighted,
: |7 M4 a1 n. n   typeArray, &object, &cursor ); if( res == Selection::ResponseObjectSelected )
4 b% h# m3 ?0 U, Y& S{3 D( s: I! A# e$ E
  return object;
4 V/ Q( X& R- `4 k! s}* v# l: O( _( Y0 ]* D# T
return 0;
+ C0 s5 B) x3 V. i0 R5 X}//------------------------------------------------------------------------------9 F+ N( A6 `( C3 p3 Q/ ?# ~! z
// Selection any objects) g; H5 D  D8 o+ q2 }/ ?
//------------------------------------------------------------------------------
3 l" V. D% f6 Y- J% S( Sstd::vector< NXOpen::TaggedObject * > MyClass::select_any_objects(); f/ ]' s" i' D0 V9 ?& z8 b: {
{. T3 g  h0 K% d# c! h6 `3 J1 N  r
NXString message("Select any objects:");* n9 w4 J" ^' h9 O
NXString title("Select objects");
* P# ^' h& P' A  @! w7 Y1 d* ~Selection::SelectionScope scope = Selection::SelectionScopeUseDefault;8 ?% Z' [. ^& C/ G$ r
bool include_features = 0;
. y  i5 R  `3 ?! C5 Dbool keep_highlighted = 0;
. R  A8 h7 J+ V( |7 }# |' `std::vector< NXOpen::TaggedObject * > objectArray; // Select any object array
) ?, @8 k, D# }8 FSelection::Response res = selmgr->SelectTaggedObjects(
8 k# ?7 K' b# L9 S0 W6 V% G( y1 s& z   message, title, scope, include_features, 6 ~2 E0 H6 E: K
   keep_highlighted, objectArray ); return objectArray;
4 b/ s1 J( e# i}
. D0 y8 N9 u5 N) f" [( o2 C& q  m. H# V6 {

. d. v: k! |1 k5 p# l3 X) _, f/ p; h! T5 e) C
上海点团信息科技有限公司,承接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. c# a7 w# {% K4 l; |
老大 为什么把你的这个代码放在这里会提示错误啊。。。新手一枚,问题幼稚,请多指教 谢谢 ...

/ B0 \+ a7 H: O你抱什么错
3 B. z. s9 B% X  m头文件 加了么
上海点团信息科技有限公司,承接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. s3 }" ?8 l6 {: x6 G, g3 H6 @
老大 为什么把你的这个代码放在这里会提示错误啊。。。新手一枚,问题幼稚,请多指教 谢谢 ...
& g- X# p( d$ f8 `1 q4 u
你抱什么错
+ @5 n' o: ^% p* P头文件 加了么
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了