|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
×
【PLM之家-NX9.0二次开发实例视频】9 ufun对象选择功能
% S+ r6 J5 G; Z' P' ~- r# O3 t+ s/ a
/ _: D$ O- w4 R! I7 E' o5 r内容:使用ufun 创建一个对象选择功能,通过单选或者类的方式进行选择
5 Q0 }/ D" h9 k' V$ {目的:熟悉使用ufun的经典选择功能!( j5 g9 K8 f: c
) E5 R/ v+ A) d# G0 B8 h1 f
& _5 ]- |0 x8 ~( X // 初始化进程函数
7 z8 `9 v( }. ^2 X/ sstatic int int_proc(UF_UI_selection_p_t selection,void *user_data)* ]. o ~; G$ V. i2 Z* o: o
{% q7 t7 l1 o& T& R
9 ?* K. }9 r3 U9 X' \2 q
int errorCode= 0;
4 i+ m; d2 \# N z" A$ ?( i int num =1;
7 z5 j% {. @1 E' F, { UF_UI_mask_t masks[] = {UF_face_type,0,0};
; b6 w9 D- ?! b" T7 g+ K" a6 ~: B errorCode = UF_UI_set_sel_mask(selection,UF_UI_SEL_MASK_CLEAR_AND_ENABLE_SPECIFIC,num,masks);# e% j* [0 Q/ g; g! T0 f* c
if(errorCode ==0)
' I) `9 k. L+ B# E, j+ G$ ^" B- Z {
( l- G5 S `% n& j return UF_UI_SEL_SUCCESS;1 y+ {9 p0 M' U" L
}
1 L- P2 S# J$ m& n else5 S; o5 u N0 f8 Z: w. U W
{$ w+ E/ \9 D y4 A! ^. n
return UF_UI_SEL_FAILURE;
0 w, h" X6 ?- w' y0 R+ K$ m! \ }
$ b% i; `" k& L& Y& a5 x+ Z }
/ B! t( G+ g. z% A+ j 3 j4 V% |8 K9 W9 I
3 Q* g+ G1 K# _6 r+ i // 选择方式
; _. W/ G, }) G L3 O cUF_UI_selection_options_t pts;/ H$ s7 }9 C/ k( P, @$ T9 @3 L
UF_UI_mask_t mask[5]={{UF_line_type, 0, 0},
$ F W5 } c/ J1 R- z+ c& r. f- Y7 G {UF_circle_type, 0, 0},
) }' f$ I( R t3 Y g6 L( K {UF_conic_type, UF_all_subtype, 0},4 V, `( O' W5 f0 P. W
{UF_spline_type, 0, 0},
7 _$ ]' @* a: H+ x8 X T: R4 | {UF_point_type, 0, 0}};
7 {* ]8 @. ?) s pts.scope =UF_UI_SEL_SCOPE_WORK_PART_AND_OCC;2 r, _( T' ?1 o/ N
pts.reserved =0;
2 a" [4 \8 L7 Z1 }$ F# ^' e pts.mask_triples=mask;4 w W& c8 T& \; ~8 f
pts.num_mask_triples =5;2 `2 P6 H/ P/ L1 W3 B7 Y. l
int count;
9 }8 I6 X$ ^" m* b; ` W int res;
$ h/ C5 b6 _/ b6 c tag_t object;& K& i' ~- v& ?7 G i) O
tag_p_t obj;
) ?0 o# s$ E: p6 T tag_t view;
& k5 s! T4 M% p/ v6 Q& Q: b- g& b double cursor[3];
0 y1 F5 S* p& I, P% Z4 r4 H% V UF_UI_lock_UG_access(UF_UI_FROM_CUSTOM);
% _7 Q* f* s: G$ w. a/ l UF_UI_select_with_single_dialog("select a single","plmhome select dialog",UF_UI_SEL_SCOPE_NO_CHANGE,int_proc,NULL,&res,&object,cursor,&view);
8 ~! H) m x% u3 K3 j. ~2 [ UF_UI_select_by_class("select by class",&pts,&res,&count,&obj);
) C3 X7 @/ n0 w( E- M1 M UF_UI_unlock_ug_access(UF_UI_FROM_CUSTOM);
$ k) r5 V& G. D% s ~: ^! [7 d; @5 a* W9 A4 T/ B
' \5 o! _0 D4 `: D. p, p% w
|
|