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

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

  [复制链接]

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

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

admin 楼主

2014-2-18 13:07:13

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

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

x
选择方式包括通过mask过滤,通过type选择,或者通过选择所有的对象。6 e" f) }# V$ @8 k
1 J; {5 n3 F4 I1 _% e/ y8 M1 i
/------------------------------------------------------------------------------. O- R( ~2 I0 y9 r/ ?7 ?2 N9 x
// Selection with mask
# R# T7 Y1 O4 l; {; r//------------------------------------------------------------------------------
2 o( b  N/ o! q8 {3 ATaggedObject* MyClass::select_by_mask()
4 F# u8 n; G  W% S% l+ k{) _, d- |) u5 l' v. h6 A% J
NXString message("Select an object by mask:");) f8 y8 A( ^9 S
NXString title("Select object");
6 D( }' Y, o8 ]7 i6 @4 d7 |3 ZSelection::SelectionScope scope = Selection::SelectionScopeUseDefault;
2 f( s$ ^) F) q% KSelection::SelectionAction action = Selection::SelectionActionClearAndEnableSpecific;
( [8 X0 h- A+ Q( l2 W& P( mbool include_features = 0;
) U2 O6 a# f4 }# F. |: sbool keep_highlighted = 0; // Define the mask triple(s), see also uf_object_types.h.
7 H" a" q7 Q; W$ S// Uncomment or combine the desired mask triples
; W6 ~& L0 M: Q3 v, kstd::vector<Selection::MaskTriple> maskArray(1);
8 z: A: o/ i1 q1 }8 l) |# `8 B" ~. _5 JmaskArray[0] = Selection::MaskTriple( UF_solid_type, UF_solid_body_subtype, 0 ); // Bodies
6 z8 x$ Z- E8 {. A6 D1 e" ?. s/*
( F0 X4 _- {' P. `4 {3 SmaskArray[0] = Selection::MaskTriple( UF_solid_type, UF_all_subtype, UF_UI_SEL_FEATURE_ANY_FACE); // Faces5 {( J. }* j0 w) M4 C
maskArray[0] = Selection::MaskTriple( UF_solid_type, UF_all_subtype, UF_UI_SEL_FEATURE_ANY_EDGE); // Edges" S- M3 N9 m. f/ v9 @& r6 ^
maskArray[0] = Selection::MaskTriple( UF_component_type, 0, 0 ); // Components, V: `+ `4 b+ f! l# ^& V
maskArray[0] = Selection::MaskTriple( UF_line_type, 0, 0 ); // Lines3 R) H/ L# J9 y
maskArray[0] = Selection::MaskTriple( UF_drafting_entity_type, 0, 0 ); // Drafting objects
: u6 Y6 h6 \3 i. H! F/ A*/
+ C  G4 D9 v. \# T1 s  fPoint3d cursor;
7 c% |4 a* X4 B; G3 W1 J" `/ QTaggedObject *object; // Select objects using filter defined by maskArray triples
  j9 J# \2 Y' hSelection::Response res = selmgr->SelectTaggedObject(% E% n& ?& y" |( M  {5 O
   message, title, scope, action, include_features,' g, a& w$ B* I/ i5 T
            keep_highlighted, maskArray, &object, &cursor ); if( res == Selection::ResponseObjectSelected )5 b/ w# K+ y2 }
{+ f; b5 Z9 v! I7 g& x
  return object;
0 Y% y2 Z. x$ W8 R}  x8 v3 k3 o. }7 {) W
return 0;
# d  I$ m5 x4 i7 C2 O- C9 g) _: s) n}//------------------------------------------------------------------------------0 m' [2 P6 ]5 C) \' [
// Selection with type array8 T& I9 E9 k9 s$ _+ e7 R& M! T* U! l! a
//------------------------------------------------------------------------------$ j& r9 A& ~6 N" _" `
TaggedObject* MyClass::select_by_type()
4 v& H, }, L9 a{
( |& ^  I. F4 H  u! {NXString message("Select an object by type:");
& Y$ t; l! [" F3 @NXString title("Select object");5 W$ `* Q, ]5 [* j" Y3 T+ X
Selection::SelectionScope scope = Selection::SelectionScopeUseDefault;. f0 r/ a* L/ u5 N
bool keep_highlighted = 0; // Define the mask triple(s), see also uf_object_types.h.
, v! i8 R7 U( h/ d" J8 N  ]. `// Uncomment or combine the desired types
& I; p; C: f% b" _) y- q9 |std::vector<Selection::SelectionType> typeArray(1);
# [' P6 T3 h. g8 y9 gtypeArray[0] = Selection::SelectionTypeAll;
3 `# N( o& O* N: q: o6 D/*7 R% v- O1 G  ~; A. S
typeArray[0] = Selection::SelectionTypeFeatures;
9 c; a. }( W0 j  I- z+ {typeArray[0] = Selection::SelectionTypeCurves;: A/ ~1 x* S9 c* F+ \  i  S# P/ o
typeArray[0] = Selection::SelectionTypeFaces;+ A9 s% e: q. {# F) I4 d+ b. g, B
typeArray[0] = Selection::SelectionTypeEdges;
; V0 e5 r, g( d0 k* |3 rtypeArray[0] = Selection::SelectionTypeCurvesAndEdges;
* I- v* r0 ^( Y3 s$ E, |*/
& [8 \6 T' F: w" fPoint3d cursor;: a6 t) ]  S* M. U5 [
TaggedObject *object; // Select objects using filter defined by type array/ p1 B! P* }  j- G+ d
Selection::Response res = selmgr->SelectTaggedObject(. p7 h& D: F1 Z/ t
   message, title, scope, keep_highlighted, ! b/ T+ @- ?* m& v
   typeArray, &object, &cursor ); if( res == Selection::ResponseObjectSelected )
% Z; t) p& F# {6 ?( u2 G6 N9 _3 K; H' Z{
, c* P+ v  ?) d4 u2 l2 q  return object;- H6 A) a! w; S" @, p
}' m6 Y( P7 g3 g# V  W8 y
return 0;- M: ?- Z, P8 a5 E* `
}//------------------------------------------------------------------------------7 P* l# M- B4 h4 U5 t- g
// Selection any objects/ w' B3 `) N3 ]) Q. r9 l& d9 [- P8 @
//------------------------------------------------------------------------------
5 l$ y( U$ Y  j3 h( U+ {std::vector< NXOpen::TaggedObject * > MyClass::select_any_objects()9 o" u5 I$ C! }" B. q. S
{: _. X2 |& B- b0 E# F8 N9 v/ J
NXString message("Select any objects:");8 N4 E6 f  o" E9 t
NXString title("Select objects");. O& z/ ?- Z: `
Selection::SelectionScope scope = Selection::SelectionScopeUseDefault;8 k. s. Q) `* a/ ^% b
bool include_features = 0;
0 e0 ?3 T0 o7 G+ U! u* K, Y+ Q; |bool keep_highlighted = 0;
! N& z( u5 b1 `9 ]std::vector< NXOpen::TaggedObject * > objectArray; // Select any object array
. v! d0 o8 `5 M# F$ q/ V# mSelection::Response res = selmgr->SelectTaggedObjects(" e. X- K+ s! S
   message, title, scope, include_features,
1 y9 Q, b9 p% p# G( K/ r   keep_highlighted, objectArray ); return objectArray;
2 U! }/ X( x. [}! r$ h: @( s5 l5 ]: r% }3 A

; t  [- B3 ~2 J2 y
( ^  \* N% V, v$ k- @! p
7 c/ s1 V5 o! k/ Y: H6 e. 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:36
# n3 Z; H* L7 E* z老大 为什么把你的这个代码放在这里会提示错误啊。。。新手一枚,问题幼稚,请多指教 谢谢 ...

% c! r7 o9 Z3 m你抱什么错
6 K* k; B0 u- l; t4 J* @7 s1 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
" }! v- p# y5 _& v: \+ F$ |0 u老大 为什么把你的这个代码放在这里会提示错误啊。。。新手一枚,问题幼稚,请多指教 谢谢 ...

( W8 d; ?, K* N8 S你抱什么错
* V* M. ^2 N4 G1 `# H头文件 加了么
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了