|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
) d* R2 i q7 l% t
NX二次开发源码分享:用ufun函数选择一个装配组件
" w; l8 K( j+ ~$ F0 p7 d" _8 k' Q9 U- B9 Z
static int mask_for_components(UF_UI_selection_p_t select, void *type)1 ?" y( L0 }; m/ Z; i. C5 K$ v q! h( [
{
u4 R2 M0 S$ c( p P5 O UF_UI_mask_t, Y& r i- h+ {5 \: U# g' K
mask = { UF_component_type, 0, 0 };% ]. @' D5 v" X2 q( y$ h9 X
Q: N/ v$ a7 [ i9 c; ]
if (!UF_CALL(UF_UI_set_sel_mask(select,, L, d+ \6 f* v- X# J
UF_UI_SEL_MASK_CLEAR_AND_ENABLE_SPECIFIC, 1, &mask)))! \$ Y `3 ^3 I% D2 K3 b) |( F1 a
return (UF_UI_SEL_SUCCESS);
3 w; X+ t8 p7 S# w+ t( p else4 R9 W; Y9 h5 t! C' s
return (UF_UI_SEL_FAILURE);
8 _! S8 a! S' w: K2 o}
! D" E5 I) u" k, W5 c$ k& J N# o
[7 ~! I, V, p! i2 ]static tag_t select_a_component(char *prompt)" z3 G6 @- A) H- s( m+ L
{2 K, b6 g9 v$ U: n. P
int, o- M; ~1 Q8 y* ~+ \& o' j
resp;* [ d) U! l* p/ Q
double
7 f. T2 c. e% |8 R9 K cp[3];
5 _" V# f: t- h; `! J0 U5 r tag_t1 H+ F) @2 S8 \& V
object,
' J( [; Q1 \+ l7 s8 m. h3 v; u1 o view;3 i& V6 \- a6 z' H/ c
& z5 O N: n9 H" \ UF_CALL(UF_UI_select_with_single_dialog("Select a component", prompt,
; X1 K0 Z; l+ {8 Y- T$ M( L. ?3 ?8 k UF_UI_SEL_SCOPE_WORK_PART, mask_for_components, NULL, &resp,
) \3 W8 G: Y/ e& F$ M &object, cp, &view));1 i0 G( w% `- \* D: n5 \
- B# [# [0 I$ g4 I: l9 K
if (resp == UF_UI_OBJECT_SELECTED || resp == UF_UI_OBJECT_SELECTED_BY_NAME)
7 e8 T2 \! }7 q0 Z. }! M# Z# ^) R {6 L% j5 f' Z$ J. e) V
UF_CALL(UF_DISP_set_highlight(object, 0));
2 N) A2 J2 v5 @4 B0 y return object;' c, b0 @" W8 P' M& d
}5 ]! x+ S1 l, l3 C/ N1 ~( T7 X
else return NULL_TAG;
6 X! l1 E& X& y- C8 v5 G& w
+ k8 m1 t% I2 p- ?( \; X7 X4 @( K}6 V+ J- U! @8 c& u5 y) u$ x! Y9 l2 h
4 t2 B6 b$ C* N' F3 s* p
|
|