|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
% D2 \& s4 J* R; _, ]! V, y
NX二次开发源码分享:用ufun函数选择一个装配组件
3 {3 u" w1 z1 g! K+ h3 P6 ^+ r! i8 N% l# }6 i. \
static int mask_for_components(UF_UI_selection_p_t select, void *type)
! R+ }9 b7 i2 S9 |{
% a Q. [/ X: m: M) ~ UF_UI_mask_t
* H( j7 N" `- ~1 B B5 B mask = { UF_component_type, 0, 0 };
$ e! r' ^$ H1 o) u8 h# H s
; L% d( z/ C) |7 l! _ if (!UF_CALL(UF_UI_set_sel_mask(select, `# l# Q A, w. u, v( v
UF_UI_SEL_MASK_CLEAR_AND_ENABLE_SPECIFIC, 1, &mask)))' W- k% D/ s$ r$ }
return (UF_UI_SEL_SUCCESS);$ b% z G/ o0 G
else2 Q; d8 \; b- T; P* [
return (UF_UI_SEL_FAILURE);
# O3 M+ Z4 U' I% z( a- ]}
1 S8 d- m# S- D9 S/ Q) J7 a8 m( |, ^% ?2 m# K4 T" S& O3 |: e
static tag_t select_a_component(char *prompt)- G) g1 u% H( b8 u
{
% `! M: q' @, ~, X3 }- u7 G int
/ o% M" ^6 i+ K resp;: F8 A6 h+ o# B
double/ t4 {1 _& S0 ]/ l" s( l! {
cp[3];: |; E& o& t$ s* [& L* }
tag_t! O- d: D9 p0 f
object,
2 y& {+ w0 f3 s( e+ f view;
, w+ `: e( }2 L9 _- T4 N: [5 [
* c" d* F2 l/ T2 Y; \" } UF_CALL(UF_UI_select_with_single_dialog("Select a component", prompt,8 V7 R' h$ |2 c# [( i# W; R. E
UF_UI_SEL_SCOPE_WORK_PART, mask_for_components, NULL, &resp," Z7 T8 _! j6 o& x# N
&object, cp, &view));7 |4 c5 E; b3 `# D$ J3 P; P
8 Y9 q' n* n, k. d& m# ^
if (resp == UF_UI_OBJECT_SELECTED || resp == UF_UI_OBJECT_SELECTED_BY_NAME)& x* q( ]( b: { y3 z. ` I
{$ i; S$ {5 ?$ e: [4 h X* c X
UF_CALL(UF_DISP_set_highlight(object, 0));
5 U6 v& J: ]9 U return object;
# ?5 X, l/ c- X3 i8 [( `1 n }
. n6 d2 {; U! Q: X" a9 \ else return NULL_TAG;2 ~0 L8 e; w9 O S
0 Z6 O5 s. z* C5 ^6 V, f
}* }6 S1 M& Z. x( b' D
$ n# ]) _9 A! K+ x
|
|