|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
4 s* a+ H; {; s% yNX二次开发源码分享:用ufun函数选择一个装配组件
, x- w, l0 s, p- S1 M0 @& w9 g. E# Q, ]+ Z; S t3 _3 a" F
static int mask_for_components(UF_UI_selection_p_t select, void *type)
& S& e% |: z0 \1 G{9 J3 W+ E/ e8 {) @& p; f
UF_UI_mask_t( I' {( {$ J8 A
mask = { UF_component_type, 0, 0 };8 K: T' u6 _/ v6 U; c3 I
2 F# b. W o( _/ B! N+ ^% G
if (!UF_CALL(UF_UI_set_sel_mask(select,
# v7 M# O% W2 _. W UF_UI_SEL_MASK_CLEAR_AND_ENABLE_SPECIFIC, 1, &mask)))
% I0 j z! w7 o0 X2 r' N return (UF_UI_SEL_SUCCESS);' N# f* K) U& e* H' v8 d
else
& j9 [+ c; q S( L. b. Q- W return (UF_UI_SEL_FAILURE);
; a4 z: ~/ v5 s- V6 o) M) B; H}$ i. M+ U4 ?7 t- [2 T) z) y% C
& O) I, @3 u5 W/ t' S' e, Estatic tag_t select_a_component(char *prompt)
) U9 k$ d- o; I0 |: v{, c/ z& f& ]" ?. G8 o- x
int
! V; J. m* s# {# g: G% Z" |* N& ~ resp;# p* }. ?7 g, H7 O( Z- z8 W
double+ O( V: |* k' a" H' l
cp[3];0 L' t( c$ L/ y' y( C0 w1 p
tag_t$ u# G+ Y& q+ N8 A! a1 l
object,
! f) H+ \6 `7 X5 ^) C3 a view;
( J% c! m2 |: S! X* [: |4 m9 j4 U) ]& A- F* z- A: c' _! e
UF_CALL(UF_UI_select_with_single_dialog("Select a component", prompt,5 q9 R. ^. P) u. `7 P' {3 S
UF_UI_SEL_SCOPE_WORK_PART, mask_for_components, NULL, &resp,: h, j4 E1 k1 E4 h
&object, cp, &view));
* w- k9 ^5 r: b, u
$ l% h" u3 f5 t& H8 y% H if (resp == UF_UI_OBJECT_SELECTED || resp == UF_UI_OBJECT_SELECTED_BY_NAME)
) L- `/ f, ?7 V4 I9 R" ? {
2 p8 V& x2 h( Q. J: W% q2 u UF_CALL(UF_DISP_set_highlight(object, 0));
1 m8 I* a$ _; c4 h return object;( U9 [* }3 w/ G: H
}
: l1 i, e8 ^2 P" ?" l% v else return NULL_TAG;
# j+ }% c. }9 b) b7 P# n) T+ T! m k* E% w
}
7 L: `! K' p: c+ i% ~' {1 a4 R) w! l0 S. k) i
|
|