自己解决!
. Z2 ^+ S/ @* b8 _$ |) P7 j$ tint ISOBJECTSNULL(); R" N' n; b& i0 O
{3 B" c/ O2 T$ v% z5 F6 Z
int type;//类型
) F. k5 a. O+ k9 Q2 j int subType;//子类型
" }/ P! V6 ]' ?" e; t& C int ifali=0;4 ?5 ?$ K4 U( A
int Layer_Num_Work;//当前工作的图层的编号
: c6 G: ?6 G( W tag_t findobj=NULL_TAG;
/ \9 g6 x* @! Z7 `1 o7 k+ M6 @2 H$ B //实例化3 |1 X' w2 g% ]. A
ifali=UF_initialize(); ! f4 H, \0 C& p, V5 E& r4 h
: e) T8 T3 E+ `0 g _: [6 k) E
//获取当前工作图层
4 I. X$ I( {& O$ K7 m5 n' X ifali=UF_LAYER_ask_work_layer(&Layer_Num_Work);6 _( o) H9 N8 l0 H0 H
if(!ifali && Layer_Num_Work)* F( ~3 h; G& c
{
" X9 ?: q0 l: V$ H2 X //通过图层来查找当前对象
B1 E. k0 v5 y: O# i1 |# f" h& v UF_LAYER_cycle_by_layer(Layer_Num_Work,&findobj);! p: u+ d/ D( @; c$ H; E
//如果当前对象不为空: f- K6 S& u7 s" _) l/ [7 _% S) `8 K4 i+ G
while(findobj!=NULL_TAG)0 n# \9 D9 B: k' s' |9 e" _- C
{2 }( p: l4 o! A6 _$ S
//获取当前对象的类型和子类型: }. y6 v# w; F' W7 a7 V
UF_OBJ_ask_type_and_subtype(findobj, &type, &subType);
3 _& |4 B8 `2 y5 C: ` //类型为25,子类型为1是注释类型
' `) ?; E' d3 D) R# z6 o6 f2 e6 a if (type==25 && subType==1)
' v, [' W, y9 c* t2 [ {6 O; d* j% ?# R. c
//移动注释类型到153图层! [; d6 ^' h% k. [$ Q8 {1 y
UF_OBJ_set_layer(findobj,153);
' i- P3 t/ ~4 t }
0 A: ]$ {! e P# d: X7 k) g3 s //类型为25,子类型为2是表面粗糙度符号类型
5 _3 ?- `( w; c+ ~3 H& p+ P H if (type==158 && subType==2)0 x: \$ O+ g; T7 ?* s
{0 f' ?" |8 J4 d7 h+ s
//移动表面粗糙度符号类型到152图层
% ]* v$ u; U4 b R; {- e+ }5 |$ h UF_OBJ_set_layer(findobj,152);
) w1 P* v% x0 i) I+ s1 _5 {( H% p) w. Q }# {! I+ x1 N: ~- I. N
//递归查找下级对象,直到对象为空为止: |0 G- K' |3 K& Z) w
UF_LAYER_cycle_by_layer(Layer_Num_Work,&findobj);
/ z( x; D" o" }3 M8 M4 V% t' I7 K }
4 _5 q4 R7 D9 Y3 B9 {/ x4 i0 l2 _ UF_LAYER_set_status(152,2);) h) @9 X, g; N T4 }, a$ A0 o
UF_LAYER_set_status(153,2);
# I3 {; O$ \0 t6 m; [6 J }' Q& u' U# ?7 L3 p9 ?* U. G
} |