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

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

  [复制链接]

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

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

admin 楼主

2014-2-18 13:07:13

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

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

x
选择方式包括通过mask过滤,通过type选择,或者通过选择所有的对象。/ a) ~( [" E. N

  b2 r& i% f. y- b/------------------------------------------------------------------------------: P) S& e7 U3 d8 O. f
// Selection with mask3 A& q3 K0 l1 T2 ?- Z" m
//------------------------------------------------------------------------------  W( O% D7 r. Y) y
TaggedObject* MyClass::select_by_mask()) @% _8 C7 e4 S4 M
{
* r, o! E8 ~6 qNXString message("Select an object by mask:");
+ N  Z* h8 V' i# K' ~3 QNXString title("Select object");
" V3 s, w* k/ XSelection::SelectionScope scope = Selection::SelectionScopeUseDefault;
- |& X4 Y( m3 B# I5 FSelection::SelectionAction action = Selection::SelectionActionClearAndEnableSpecific;
* [$ Q0 k, h0 _" jbool include_features = 0;0 ^$ `6 P' v/ i) O* z) N8 q
bool keep_highlighted = 0; // Define the mask triple(s), see also uf_object_types.h.
9 j- ]" N6 B: z' Q# q; c. X// Uncomment or combine the desired mask triples
0 C) o0 J5 T' Q6 ostd::vector<Selection::MaskTriple> maskArray(1);
% b9 d1 q* `' xmaskArray[0] = Selection::MaskTriple( UF_solid_type, UF_solid_body_subtype, 0 ); // Bodies
8 A# V6 B4 ~" L6 y. U4 P/*3 r+ ?2 s  ^* w
maskArray[0] = Selection::MaskTriple( UF_solid_type, UF_all_subtype, UF_UI_SEL_FEATURE_ANY_FACE); // Faces! F" Q3 B1 F5 c: @9 E8 T
maskArray[0] = Selection::MaskTriple( UF_solid_type, UF_all_subtype, UF_UI_SEL_FEATURE_ANY_EDGE); // Edges" R, e0 k) R4 f& f8 Q3 |, f* {
maskArray[0] = Selection::MaskTriple( UF_component_type, 0, 0 ); // Components
2 |& i! g# I& G  ]* h' b: {5 U7 xmaskArray[0] = Selection::MaskTriple( UF_line_type, 0, 0 ); // Lines
" E& K- N3 x$ XmaskArray[0] = Selection::MaskTriple( UF_drafting_entity_type, 0, 0 ); // Drafting objects" [8 w& N( R  O) f# y
*/! b$ U5 a2 V; d  Y
Point3d cursor;; J. P  B' ?# i) M
TaggedObject *object; // Select objects using filter defined by maskArray triples8 z8 W; n; }, X/ \- _# I
Selection::Response res = selmgr->SelectTaggedObject(; w2 [7 `5 A' `$ p& f& p- H7 Y' Q! s/ A
   message, title, scope, action, include_features,
, B) c" s; C/ b5 K! P            keep_highlighted, maskArray, &object, &cursor ); if( res == Selection::ResponseObjectSelected )+ A2 n9 X$ D' b" P) U& O
{* A0 G9 y' ~" N6 s' N
  return object;
9 r  p3 f4 H" E5 X% Z; P( U}
7 b3 G0 F' E/ T7 N% areturn 0;
6 Y' J, ]$ a9 M; N' r7 f3 s* `}//------------------------------------------------------------------------------& p' @  D& L- B4 S& r! B6 C
// Selection with type array& H% n- W1 D" y" p) A/ s
//------------------------------------------------------------------------------  }0 o0 q7 ^0 R; \/ ~0 [. z% i
TaggedObject* MyClass::select_by_type()
; X$ _  O6 M. H! M* |, H4 ^9 Y' P$ N+ a. b{
6 G7 d/ b/ ]4 y8 p$ {  C) Z2 l* u7 FNXString message("Select an object by type:");
" @1 j- R) D9 v; Y1 F, MNXString title("Select object");2 _' m" w$ U, ~
Selection::SelectionScope scope = Selection::SelectionScopeUseDefault;+ x; K/ v- g6 w# Q0 t, c
bool keep_highlighted = 0; // Define the mask triple(s), see also uf_object_types.h.0 J& R* K6 R3 C- E# k4 K
// Uncomment or combine the desired types
+ Y3 K6 F' Y7 E% R7 [std::vector<Selection::SelectionType> typeArray(1);
2 I% r: w8 W& l! `. f9 c7 ~typeArray[0] = Selection::SelectionTypeAll;
& I7 s& m, `/ U% p  j/*+ K# a' }& }+ A  @- M
typeArray[0] = Selection::SelectionTypeFeatures;6 B) \; C% j; i2 c6 M& U
typeArray[0] = Selection::SelectionTypeCurves;8 f- s0 }: P) }) M; Z, Y2 b" T2 T
typeArray[0] = Selection::SelectionTypeFaces;
+ w& C( K% n! N" r( XtypeArray[0] = Selection::SelectionTypeEdges;
4 ~7 W1 d; i$ u' i$ W, rtypeArray[0] = Selection::SelectionTypeCurvesAndEdges;+ u9 A7 O' g  {1 E1 m8 ]
*/
0 P7 s; |! r4 \3 n  yPoint3d cursor;
( B0 [: F$ o) u$ t1 FTaggedObject *object; // Select objects using filter defined by type array- g  `& M* F7 k4 k
Selection::Response res = selmgr->SelectTaggedObject(
5 w. v% R' W2 V% |   message, title, scope, keep_highlighted, ( A6 g( ?- b8 Q1 T# t9 x) U
   typeArray, &object, &cursor ); if( res == Selection::ResponseObjectSelected )
) s  u+ L7 E8 k{  _5 J0 I: C9 E8 T
  return object;4 X8 T% k/ z! p- e
}% Z! W9 Y5 |  p" S1 q( O
return 0;
. N% ^% a' b$ A! r2 E9 C& V# b}//------------------------------------------------------------------------------8 Y) s. R( X6 F3 V
// Selection any objects2 C# b- N5 \/ t* L% e" T$ {2 f
//------------------------------------------------------------------------------8 n0 E5 ?4 H- {* e, |1 o( ], N, A
std::vector< NXOpen::TaggedObject * > MyClass::select_any_objects()
5 F5 {* e, O: f+ V! V{
3 S( e, r- A: U. qNXString message("Select any objects:");
4 Z8 q& A: u$ g& h+ t6 {5 K0 wNXString title("Select objects");
  k* q( K0 e9 b8 a* a) G2 hSelection::SelectionScope scope = Selection::SelectionScopeUseDefault;
+ d- |9 c* O% S9 zbool include_features = 0;
5 a" L% M5 M7 J* l) j6 ]3 c6 u" j+ k' E* Tbool keep_highlighted = 0;
) Z2 |+ P( d7 B* |8 C  sstd::vector< NXOpen::TaggedObject * > objectArray; // Select any object array- a, t: I& ~+ p- n* ?( b. |5 ]
Selection::Response res = selmgr->SelectTaggedObjects(7 l4 k9 p0 d1 s: z6 ]
   message, title, scope, include_features, ' w) n" D( v9 d( H0 S: s3 a: g6 ]
   keep_highlighted, objectArray ); return objectArray;% J& J. G8 Z* X, j
}- `7 X& I- ^# g' U$ F

  h' K6 h$ W5 O3 n# [! P( K% y: M5 u; N1 G

8 y, n) B* q8 _1 M0 c" i9 D& t
上海点团信息科技有限公司,承接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:360 q0 g; W3 ^1 H
老大 为什么把你的这个代码放在这里会提示错误啊。。。新手一枚,问题幼稚,请多指教 谢谢 ...
4 F) S; x/ ^% k& \
你抱什么错) J2 T( ~& }2 H: P+ T
头文件 加了么
上海点团信息科技有限公司,承接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
6 z% F1 [) q. U6 b" W) @. h, g老大 为什么把你的这个代码放在这里会提示错误啊。。。新手一枚,问题幼稚,请多指教 谢谢 ...
' ?3 ^3 v: H, R9 a
你抱什么错8 _& s7 G' X! H: z, ~
头文件 加了么
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了