|
本帖最后由 aaa21 于 2010-1-25 11:36 编辑
" Y6 `- R% M8 z5 G( o4 X# E- K; R1 L/ \6 W* _2 r( |- L
大家好,我想请教一下关于ug二次开发编程中删除实体的问题,需要通过遍历实体来记录下实体的标志符,然后删除。现在的情况是可以删除,但是如果我在一个部件.prt文件(不是装配体文件)中建两个实体模型,想要删除其中的一个,也只存储了要删除实体的标识符,结果两个都给删除了,请问这是怎么回事?, J( m4 e) ~8 }3 V- q
下面是我的部分代码,请看一下:5 V4 M4 Z) j) t5 ^" C/ m& I
int *statuses; u" F7 g. L" O6 e+ P, R) T* D. a
tag_t feature = NULL_TAG;% K7 ]" O5 G& g) p& w* a
tag_t object_id[100];- } s5 e5 f: o9 K Y
int Del_Num=0;
+ _( o: ^8 L" H- t9 ~9 F//遍历实体
5 [8 L0 m6 ~$ ?$ TUF_MODL_ask_object(70,0,&feature);
% W1 L. z" ?$ v. v; t$ ^* D% b5 pwhile(feature !=NULL_TAG)
6 I! e7 y7 y7 \" [: C5 O e{
' o: d9 r: `# w0 V 。。。。; [1 ^, o# M* Z8 R" Q a
if(F_result > 0 ) W( P# q: A7 d& s
{, p( F9 m/ r. M p' x3 j$ X
//将实体的tag记录到数组中
( G' A2 {- V/ u/ R7 J object_id[Del_Num] = feature;) W6 l! Q0 w8 L, o: J0 w* O
Del_Num++;
8 T7 P4 z& @$ w" w! `# o }
# Q* v8 I3 L, n& G, I& l) ? // else AfxMessageBox("保留");, S8 T* h" G- g. O# Z \# X
. R3 {0 ^! d: c3 H$ n UF_MODL_ask_object(70,0,&feature);4 C: W: V4 Q, y, J* W0 k/ Z
}
3 N7 U, T' T& a7 x//删除实体* s' m# k; ?0 A6 P6 C7 N+ m
UF_OBJ_delete_array_of_objects(Del_Num,object_id,&statuses); |
|