|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
* p" p. V$ q1 R! C! L, X
NX二次开发源码分享:用ufun函数选择一个装配组件
, ]0 p# ~- K2 i( q+ D; G- U; ]) e; o2 u) V s( Y% d
static int mask_for_components(UF_UI_selection_p_t select, void *type)
0 f& Y. R# R) k# A! a8 f# c{1 O# A+ X# r# e6 d0 a
UF_UI_mask_t
5 Z7 _ H2 {# b/ E2 d mask = { UF_component_type, 0, 0 };5 ` g; d$ c% B: E# S+ Q
. h! W+ T3 ~0 Y% _
if (!UF_CALL(UF_UI_set_sel_mask(select,
/ { l$ i' ^3 J& v% k8 b% s9 h UF_UI_SEL_MASK_CLEAR_AND_ENABLE_SPECIFIC, 1, &mask)))
8 v8 A: I3 x; o, m+ w7 f+ X return (UF_UI_SEL_SUCCESS);
+ w& ^6 ^& D* h5 p% n else) c) b2 F) P \( b% _& ?1 ]- o
return (UF_UI_SEL_FAILURE);
% V( v. q: y1 [' G6 H, m( {}
7 j! @, C# p) ]& T9 A
8 {* V* O) [4 U3 o; Y$ Vstatic tag_t select_a_component(char *prompt)
% O3 f( P+ _$ n. \% A5 k8 d{1 c P4 w: q! A2 }- h; ~
int1 z' ?8 w- } y1 Y; J& _8 p: L/ d% G
resp;4 C2 E7 W% o4 J$ t
double0 i9 p/ O; r" e6 A
cp[3];
3 o' @6 a' `$ U0 ~# `1 z9 M4 N tag_t _3 @( ]: q G; ~: u
object," c3 _: H: T6 g/ C8 f
view;9 H5 b0 D0 P, ~7 I" A
/ O5 T: a9 ?6 {3 c5 l; a! b
UF_CALL(UF_UI_select_with_single_dialog("Select a component", prompt,; W7 G; k1 `, Y% p# z- h
UF_UI_SEL_SCOPE_WORK_PART, mask_for_components, NULL, &resp,: K% P9 O* c. _* M) ?
&object, cp, &view));
; |1 M0 z! [9 |
1 P0 G* {; a3 e/ L/ O! } if (resp == UF_UI_OBJECT_SELECTED || resp == UF_UI_OBJECT_SELECTED_BY_NAME)
0 s. @5 _+ j3 u- {# T! f! ~4 S {
" y, Y; q q8 l4 _# i UF_CALL(UF_DISP_set_highlight(object, 0));
. p4 X6 x0 X" B6 |' F; ], V6 R return object;- d; k4 Q4 Q" }8 X" d
}
6 g. T, G6 t7 \: V$ O" u else return NULL_TAG;+ S* c+ k6 U! W: ]5 A
6 y l5 }$ N b W. X2 N
}) J* D5 C+ t$ I$ v
; r' f) ^2 X z; t- C; T |
|