|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
3 I* v( @' c! D7 W6 e5 J' k$ p5 j/ f6 Q* M7 w
; h$ u g; k Q0 G
NX二次开发源码分享:封装一个函数--将ufun的链表转化成数组
0 Y2 B1 T7 L2 c8 S, l* T4 x/ E, U+ Q7 t6 Z
* x& s( M. x0 ]8 R$ b# Zstatic int allocate_memory(unsigned int nbytes, void **where)
: B' r5 `; N4 o0 a{5 ?8 g4 I# p( y0 t
int
4 e5 R8 P c+ d+ a# z resp;
5 f5 {7 ]3 v, u5 t# Q5 R$ T8 S/ {; P% t
*where = UF_allocate_memory(nbytes, &resp);
: g% J% B* [6 m/ ?! O) d' r( l& b8 e
) U. F4 P& v' z/ h return resp;2 |9 g3 G/ a( [, ]$ |1 m/ B2 T4 G
}
, X/ w4 q4 b$ S1 S# @0 @9 H
* ]1 j5 {3 n- y2 i( D+ ~% Ystatic int make_an_array(uf_list_p_t *object_list, tag_t **objects); L0 @7 \0 L, a3 v
{ D% p8 ^7 f- O" W
int4 L5 e/ y/ s( h7 k+ h$ M; x! x0 d8 n
ii,1 i: A( R5 g0 _% }$ S$ r- F! Y
n;
( R$ r; k( N+ i, \. T uf_list_p_t
; `# j# O+ \) E) s! X temp;
0 i8 G5 P8 v! C/ |. y( \
6 N& \/ F5 E" w% w$ G6 a1 t R UF_CALL(UF_MODL_ask_list_count(*object_list, &n));5 f) N( o% t; |/ e" Z7 k) ]
D( L( Q, [9 N' R, G! Y
UF_CALL(allocate_memory(n * sizeof(tag_t), (void **)objects));
$ t k; l C; b( l3 n7 W" V1 f6 r& q* I; }- z
for (ii = 0, temp = *object_list; ii < n; temp = temp->next, ii++)
; Y, ~/ ~+ }/ G* c; E (*objects)[ii] = temp->eid;. ^+ \4 l1 E( F( M% r% p1 o
4 o3 _! {/ m x9 `
UF_CALL(UF_MODL_delete_list(object_list));
& L; ]: D8 ~6 W0 v: x8 Y7 u' ?$ \( U/ Z) o8 g
return n;2 N0 b5 L- K5 _+ g
}
7 [+ N4 c/ z* N7 e+ H) J4 B) b6 F1 l e& D' x7 j4 C
( j2 o- _# j8 P, Z8 |2 v
|
|