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

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

  [复制链接]

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

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

admin 楼主

2014-2-18 13:07:13

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

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

x
选择方式包括通过mask过滤,通过type选择,或者通过选择所有的对象。6 }: v, x- A- l. p8 J9 C* G

$ q$ `9 ^& C) k" E8 f3 K" R; Z/------------------------------------------------------------------------------7 [; d+ n! b; Y1 ?0 b
// Selection with mask
& A( g: J' a9 ~3 D7 c$ S& E2 B0 s//------------------------------------------------------------------------------* k; W; Z6 K1 B5 x
TaggedObject* MyClass::select_by_mask(); F* S8 s( y" k5 O. ~: I8 o* O
{3 ^  q& t: ]; j  U
NXString message("Select an object by mask:");
* [- z0 P( O4 X' j; tNXString title("Select object");
/ B; f  Y$ ~# i1 E# kSelection::SelectionScope scope = Selection::SelectionScopeUseDefault;
/ P4 j, h0 j9 ]Selection::SelectionAction action = Selection::SelectionActionClearAndEnableSpecific;9 W5 k& W5 p6 N2 N  ]4 E
bool include_features = 0;) N" Y3 v' L- ]* R* X! Z  E0 C
bool keep_highlighted = 0; // Define the mask triple(s), see also uf_object_types.h.( T% W0 V- {; X7 J
// Uncomment or combine the desired mask triples+ ?; E5 @/ @- Z8 z  g! v5 d
std::vector<Selection::MaskTriple> maskArray(1);8 e, e2 y( [* s$ A8 q
maskArray[0] = Selection::MaskTriple( UF_solid_type, UF_solid_body_subtype, 0 ); // Bodies8 j. u2 j, i" w5 b* Z) z
/*
, X: N' a) J  h6 c  s8 PmaskArray[0] = Selection::MaskTriple( UF_solid_type, UF_all_subtype, UF_UI_SEL_FEATURE_ANY_FACE); // Faces
6 P5 N. N: [, d0 P2 A6 c1 |maskArray[0] = Selection::MaskTriple( UF_solid_type, UF_all_subtype, UF_UI_SEL_FEATURE_ANY_EDGE); // Edges
; U  l% v/ l: o  g' V, l7 Z7 X" cmaskArray[0] = Selection::MaskTriple( UF_component_type, 0, 0 ); // Components
: B6 q! j' o% q7 o) CmaskArray[0] = Selection::MaskTriple( UF_line_type, 0, 0 ); // Lines: h' ?* u, p6 D
maskArray[0] = Selection::MaskTriple( UF_drafting_entity_type, 0, 0 ); // Drafting objects) f6 B1 |: k+ Z! n) ~* v+ X
*/# u$ w. ~' M$ Y) D' l/ X
Point3d cursor;3 u0 p" e6 {+ s8 ^
TaggedObject *object; // Select objects using filter defined by maskArray triples
% s& c" ^/ r/ d# M7 Z& Y4 c& bSelection::Response res = selmgr->SelectTaggedObject(6 s- b' a" C. W' @$ Q5 G! H! F' a
   message, title, scope, action, include_features,
! R: o% S7 N; N: K            keep_highlighted, maskArray, &object, &cursor ); if( res == Selection::ResponseObjectSelected )
+ X6 F1 x1 X; ]4 Q1 ?{
+ }& {* L5 [1 l9 R% p, L2 R0 t% _  return object;
0 ~: P$ \( s. ]8 W, N2 y# {  W}
$ v9 T3 O1 s1 T3 ~  Areturn 0;5 x& }. F' S/ O0 G7 Q
}//------------------------------------------------------------------------------
  T$ j1 l+ F% i7 f0 `% ?5 u  E// Selection with type array5 Y. Q6 O$ _9 h0 r
//------------------------------------------------------------------------------
1 d, c/ y( g4 j0 T; }4 oTaggedObject* MyClass::select_by_type(): u, e# g) P# k7 S# ^
{7 r. h5 M+ V; M
NXString message("Select an object by type:");' U1 H) ~. o4 ?: ~7 T# G
NXString title("Select object");3 ^, ~* k/ c) I- h: d8 G) h: a
Selection::SelectionScope scope = Selection::SelectionScopeUseDefault;
  v+ K& q9 [/ v- p8 ]bool keep_highlighted = 0; // Define the mask triple(s), see also uf_object_types.h.
. I, z4 C: C8 n2 z7 B5 @// Uncomment or combine the desired types
  g1 P. R5 C: n0 D. i0 `std::vector<Selection::SelectionType> typeArray(1);
3 Y2 G, E+ P: K! ktypeArray[0] = Selection::SelectionTypeAll;0 P: p# N  ~2 P/ y4 D
/*% [7 Z! b+ ?1 [6 y& z
typeArray[0] = Selection::SelectionTypeFeatures;% y/ k0 }3 o! G, @
typeArray[0] = Selection::SelectionTypeCurves;
; X1 m* W/ }7 U: M9 S5 ]typeArray[0] = Selection::SelectionTypeFaces;
# i6 R% {- _/ a% Q9 O+ d0 HtypeArray[0] = Selection::SelectionTypeEdges;
/ Z% h6 Y4 j/ R1 W6 VtypeArray[0] = Selection::SelectionTypeCurvesAndEdges;
1 o% R$ B  K4 {7 S. E9 y9 J' m6 M*/5 D( L4 r2 {& {8 {1 T  h
Point3d cursor;. n7 F& `8 k% Z- C  a  l0 t2 b
TaggedObject *object; // Select objects using filter defined by type array: J* w+ ^3 K: F. Z8 _
Selection::Response res = selmgr->SelectTaggedObject(( p  Q- a. X) n! c, S4 Z
   message, title, scope, keep_highlighted,
" Z; v5 t/ g) u6 i5 `   typeArray, &object, &cursor ); if( res == Selection::ResponseObjectSelected )
9 ?0 {. R8 A5 W{7 r9 g$ e# h( B' [4 u7 Y& t  @* X
  return object;7 {- `1 S! p/ p5 g: N3 d
}
5 W4 |' e" `% \' l' ~, r- Freturn 0;
; U2 ~8 _2 d/ D8 w' A2 q4 z}//------------------------------------------------------------------------------) M0 X' j. k( B+ }$ n) e
// Selection any objects
5 w* T, q5 M  l* i; U//------------------------------------------------------------------------------7 v1 o2 h$ V$ V
std::vector< NXOpen::TaggedObject * > MyClass::select_any_objects(); o! `! g* Y+ m3 m
{
' B6 n9 E7 X( e+ m  A" k1 q" K0 }# `NXString message("Select any objects:");
+ {/ u4 p$ ]$ \6 zNXString title("Select objects");- h. U! J  D5 u7 H
Selection::SelectionScope scope = Selection::SelectionScopeUseDefault;
- M4 o2 A% ]% ybool include_features = 0; 3 n5 l* {9 h3 [/ G; s: H
bool keep_highlighted = 0;8 Z; R* Z" l1 G# E
std::vector< NXOpen::TaggedObject * > objectArray; // Select any object array1 N3 d4 f, s0 u7 {: l3 ^! ^
Selection::Response res = selmgr->SelectTaggedObjects(! X8 R  E$ y- ]6 _+ M' q6 ]
   message, title, scope, include_features, : g6 r2 N# N! u& j4 ?* p
   keep_highlighted, objectArray ); return objectArray;  Z9 j" F6 m; Q
}
2 {* n5 y# d" q( k. y/ I% ]2 q2 z7 W1 B! \( j, t' C7 y: V6 A
. ]  z/ A5 z, V) O' Z, V( z* ?" U6 N

9 Z& d4 t9 v: T  }7 d! ~
上海点团信息科技有限公司,承接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( n1 ^. N( V  h/ A2 A: c8 @
老大 为什么把你的这个代码放在这里会提示错误啊。。。新手一枚,问题幼稚,请多指教 谢谢 ...

& C+ @4 G+ i1 B( P' B! Q4 c4 c你抱什么错' V# }( u" u, e" B8 {8 H
头文件 加了么
上海点团信息科技有限公司,承接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- ~5 u- e5 g1 T/ i$ X
老大 为什么把你的这个代码放在这里会提示错误啊。。。新手一枚,问题幼稚,请多指教 谢谢 ...

4 {. c: i  i/ o  k/ \; c6 O; |你抱什么错9 t, F+ J% v; c* d5 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二次开发专题模块培训报名开始啦

    我知道了