|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
+ L, I) u* ~" W- l O, ~
NX二次开发源码分享:用ufun函数选择一个装配组件
+ e/ A. h' @& G6 X
9 s S: s7 Q; p6 |0 Q( U& `" vstatic int mask_for_components(UF_UI_selection_p_t select, void *type)
6 j2 S4 |: q# W* B9 S- C, [& i, h{
* ] Q: e; O, O! v! x UF_UI_mask_t3 k* U, b+ f5 E( m5 r
mask = { UF_component_type, 0, 0 };
$ g4 }* y9 A4 A% H: Z( b: q" T' k% X4 z# P. A( Y
if (!UF_CALL(UF_UI_set_sel_mask(select,6 S6 P% _9 s8 H6 a6 @. \
UF_UI_SEL_MASK_CLEAR_AND_ENABLE_SPECIFIC, 1, &mask)))
u- T6 Q" g A return (UF_UI_SEL_SUCCESS);/ L* ~: G) M7 J! `1 F/ r
else" X/ Z' v/ C9 d: n
return (UF_UI_SEL_FAILURE);
$ m8 m. P4 u8 l( Q}
- }: G- i; d1 m3 D
; x4 X) @* C5 L% H8 \( ~7 K: Jstatic tag_t select_a_component(char *prompt)
/ v9 _$ c. s5 k4 p{
2 w6 ?. M: H) s9 b! _ int
* V c8 G6 ^" I2 K% ^0 H1 N resp;
2 z3 Z- O+ ]3 g4 F: E# B) c: ^; O double3 \* h$ C! {7 S; v7 t8 ? i
cp[3];. p$ }. _7 }+ a" L: E! I/ B% J
tag_t V1 d; |3 B* k1 i; f
object,
7 L' @) V; F X9 f view;. n9 U9 C/ E! ]$ u N
, q3 l$ h0 N& [$ T
UF_CALL(UF_UI_select_with_single_dialog("Select a component", prompt,* r$ f! w+ C8 f# w' A$ K1 q
UF_UI_SEL_SCOPE_WORK_PART, mask_for_components, NULL, &resp,
7 L# A! R' h- ^$ X; l& H &object, cp, &view));
0 g n( _( b T6 v+ {7 O8 t6 v% M9 `3 Z. i1 j% M
if (resp == UF_UI_OBJECT_SELECTED || resp == UF_UI_OBJECT_SELECTED_BY_NAME)8 m( m- |; e- } X0 C& ]2 S# Z- U
{
# R$ R+ I& E6 j9 A UF_CALL(UF_DISP_set_highlight(object, 0));
& K7 `$ s3 R: E return object;
" |! o$ A) c2 |5 ~+ D }; J4 g( u* G/ C7 d b
else return NULL_TAG;2 l+ e. ~$ K {& |* `6 ]$ U
6 e3 F, S2 k1 L7 ]1 i
}
% D$ V/ Y4 E$ w- l0 K
6 ]: S9 _! Y* O+ M |
|