自己解决!
`& c+ @2 j! z0 S# Rint ISOBJECTSNULL()5 C6 r* g1 O! h& ~1 L6 }
{
. b( Q; I; M! G; k0 S% t6 j int type;//类型7 {1 G( c8 D. o: ~6 k" h1 D4 X
int subType;//子类型
2 n/ J) A) |4 h0 v: c0 w+ G; I int ifali=0;
# G' h7 A3 g8 b int Layer_Num_Work;//当前工作的图层的编号( w+ t- G& J9 s' i8 T% V
tag_t findobj=NULL_TAG;& O" v9 K8 ]' D+ X$ d+ A0 B
//实例化
: }2 |# c% ~8 s) J8 f8 Z2 b ifali=UF_initialize();
! f Z1 X' b- X% w/ F L) g
) e" ?+ J) o4 @ //获取当前工作图层8 g' K0 p g# S
ifali=UF_LAYER_ask_work_layer(&Layer_Num_Work);/ j: G1 Q1 g, ^6 s0 k) h
if(!ifali && Layer_Num_Work)+ L1 `' V2 s4 E% i
{
! N2 ^- n( d/ v4 \: Q3 C //通过图层来查找当前对象
- v8 _! W* a+ d7 v8 h* Y7 J UF_LAYER_cycle_by_layer(Layer_Num_Work,&findobj);
# T7 X- `1 c2 C- C% L4 a1 o. y% k //如果当前对象不为空' }1 J3 u- y& }+ [( m4 R" ]( g; ]
while(findobj!=NULL_TAG)
$ j$ F6 v; b/ \0 `, {) O {7 I H+ H, I- E2 }) C" i
//获取当前对象的类型和子类型+ y+ k5 K6 z$ O
UF_OBJ_ask_type_and_subtype(findobj, &type, &subType);" m6 o- _% k. x: g, ^
//类型为25,子类型为1是注释类型
# k& {- @/ q" V* b [ if (type==25 && subType==1) u n; i( j3 l. _" q3 D$ l0 k6 Q
{
! F6 t8 I. X0 ^4 u+ A //移动注释类型到153图层, b& j; I0 |1 e" G9 v# e K
UF_OBJ_set_layer(findobj,153);2 b& r$ n& {7 w
}% o6 Y; U- @9 p
//类型为25,子类型为2是表面粗糙度符号类型
& v3 \$ [# H; L$ ^, I- \! X5 U, C% t' O if (type==158 && subType==2)
' t6 F% S# D0 O {( l! R& d- z- D' ~; @, W
//移动表面粗糙度符号类型到152图层
) F# `9 e# q4 ]! r5 k3 |' d UF_OBJ_set_layer(findobj,152);: c8 p D* S& O2 U7 r
}
( P7 M5 r3 I* R) X V //递归查找下级对象,直到对象为空为止" C/ Z5 C1 O3 e! h& t
UF_LAYER_cycle_by_layer(Layer_Num_Work,&findobj); ) e3 P2 @' H! E% f0 Z! x( P
}
2 W, T/ q$ U) _ UF_LAYER_set_status(152,2);
; p! `/ q. p% x0 ^5 [7 X UF_LAYER_set_status(153,2);3 d1 u" z) P; g- ?
}: p! d$ d8 M. J8 K) @
} |