|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
. n! L. W6 V: v$ q. q g: |9 ^
( D8 g! @' r5 R9 j0 ?' } q' }( o3 r, T* F, d8 ~) `" c" O) `
NX二次开发源码分享:封装一个函数--将ufun的链表转化成数组5 B5 Y/ H p5 e* D) X6 i( m* |5 z
) ]* D7 b* M9 K5 u/ N
" g+ _7 }0 P# F4 Y
static int allocate_memory(unsigned int nbytes, void **where)9 _/ U6 v- J O) N
{5 F" v% X7 R& C
int
* W5 F% I; S' ~5 O$ L8 p! x resp;
' S# q4 {7 C8 t! g, g S+ c! b: L' e3 z
*where = UF_allocate_memory(nbytes, &resp);0 I# b4 m7 ~; Q3 J
& L0 r( }; \+ P7 r4 _/ I- h+ F% Q
return resp;1 f3 o- Q( K3 K* H% `" }
}: l7 O, z5 l9 M' j/ m- ^
0 s+ K2 h- U% L' s5 T Jstatic int make_an_array(uf_list_p_t *object_list, tag_t **objects)
2 w) D2 z" o% u9 k- I! _5 p) @{
* F% V$ C2 g4 |3 a) V, p; O+ j- i int, S5 Z* {3 c+ ^0 i8 f
ii,* e& C, Y" i- n- Q4 M0 u5 \% r
n;
' j: O# M2 F! l& k9 L uf_list_p_t9 K: w" {" p3 x, J' q
temp;+ Y8 B- G6 C) h% Y2 p3 y- w
, f- a& u; t" C. o: i: d5 d. x UF_CALL(UF_MODL_ask_list_count(*object_list, &n));
) g: u( N: e8 s$ x
# X: a: h @# y UF_CALL(allocate_memory(n * sizeof(tag_t), (void **)objects));3 A8 x Y. E, F& V3 P! O2 K7 F
9 m/ S' {. P) v
for (ii = 0, temp = *object_list; ii < n; temp = temp->next, ii++)
3 G4 f' c, L; J3 i (*objects)[ii] = temp->eid;
: v9 S, D t; s0 T" W A$ G1 D# i2 y! D! @2 y
UF_CALL(UF_MODL_delete_list(object_list));; [$ w I" }' X
- P1 O$ p6 Z) P: d$ p Z) \. P
return n;- Q* j& x) ~ i$ @2 `
}$ t+ p0 X/ _& j2 n& t* i4 x! i
' R5 p! T5 n+ W# S. u
1 @5 G3 G& G, N3 e |
|