|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
; e9 P4 m( V! ]6 ]% s
NX二次开发源码分享:用ufun函数选择一个装配组件
R! b8 E* V% D" l$ B/ I4 p
, F. A* b, {9 c# Q* F% Fstatic int mask_for_components(UF_UI_selection_p_t select, void *type)6 `7 R9 z- k M: a1 E6 z6 V
{
1 { a) s* ^6 k& R% j UF_UI_mask_t6 w' A- I U: F, N5 o( N
mask = { UF_component_type, 0, 0 };
3 d7 n; r6 }: E7 b4 q& e5 L# L4 `# q2 u; _" O6 g5 F
if (!UF_CALL(UF_UI_set_sel_mask(select,
- C. w0 J/ O9 i5 } }; Y" l UF_UI_SEL_MASK_CLEAR_AND_ENABLE_SPECIFIC, 1, &mask))) N1 v7 x( _7 ?! W0 ^3 {& [
return (UF_UI_SEL_SUCCESS);
: w# u/ Q$ V5 m9 h, P; y s else
6 M" ]7 B! D0 \8 _0 J return (UF_UI_SEL_FAILURE);8 ~0 V6 B2 X: w( H( x" R+ l3 Q- I- c$ V* F
}
9 S0 u! z: `2 W8 e4 w+ Z) M$ f( G' p' F! t3 o# w/ w/ S i! f9 A
static tag_t select_a_component(char *prompt)+ ?$ |- n1 |# g' q- Y7 r0 |
{ F0 _+ {# {, Q; s& P
int
3 V8 U! Y- c: ] resp;7 ^6 T1 v* u5 j. C6 r( |
double% @5 c( G- N- e2 g
cp[3];
% v8 c: w, F" d6 U tag_t
! L0 Q3 @8 M. ]- ] object,
1 P& Y) J* N* G; m/ ?3 [: C view;3 a9 j3 g! n4 H1 ~+ p
& D. c j" Z* M# F7 e3 J7 e% ]# ^ UF_CALL(UF_UI_select_with_single_dialog("Select a component", prompt,
0 i8 i7 Q9 E. N- O% a2 r UF_UI_SEL_SCOPE_WORK_PART, mask_for_components, NULL, &resp,
" Z/ s) O# K! s1 B/ ^1 u6 q &object, cp, &view));+ B$ H m% D6 x8 [# z
1 Q% w! o2 C1 x" ]8 Y6 P% H- \ if (resp == UF_UI_OBJECT_SELECTED || resp == UF_UI_OBJECT_SELECTED_BY_NAME)
* ?' G1 ?- g; l F6 _ {
2 N, n8 `7 F- H! G" D3 I UF_CALL(UF_DISP_set_highlight(object, 0));
& w) O$ y! W( i( V7 a return object;
: [: B: h' E' q* z Q }
2 W* _5 {: q. T' ?% z! B$ \3 z, p else return NULL_TAG;9 ? Y* d( F; w) {4 z
: p+ v; u0 z4 K5 {7 y9 I
}
# W. A; X4 v$ D2 S# _% A, I1 U) o' y( H" X; A4 B2 l) ~6 ]
|
|