自己解决!
6 [" ]/ |4 ^- G9 c: Gint ISOBJECTSNULL(); k; ], G2 ^4 I# S
{9 [: S1 O$ T3 c$ `
int type;//类型
6 s% }/ O5 @0 B2 Y+ T2 G0 r9 Q$ R; J d int subType;//子类型
0 f4 S, @/ S; ?' b int ifali=0;
% ?- @5 o' Q S+ B int Layer_Num_Work;//当前工作的图层的编号6 K) a+ g' j: ?
tag_t findobj=NULL_TAG;8 K9 e- J! t# C8 @
//实例化9 h5 c0 @/ c, ^9 z5 E a+ |1 F0 r( F. C
ifali=UF_initialize();
R% o# h' i5 `$ M
* v" v" a' Z2 g- x- E //获取当前工作图层
" L% O7 ?: m y3 t; k1 a' z% u5 W& x p, C ifali=UF_LAYER_ask_work_layer(&Layer_Num_Work);
+ d! k4 e" B4 `* c. V if(!ifali && Layer_Num_Work)
2 B; X- M' g4 m2 M0 g7 ~1 q' b {6 p1 r' M; j1 \
//通过图层来查找当前对象
( o' _/ T6 [" ~" K( x! t4 @ UF_LAYER_cycle_by_layer(Layer_Num_Work,&findobj);+ Q* M1 M" r% K: y7 D) \
//如果当前对象不为空# A; C1 p3 T3 ?1 W6 U9 N+ Q
while(findobj!=NULL_TAG)
2 R. S. x# f" V, i {
; M* i/ ]( Y( [& b //获取当前对象的类型和子类型
0 z4 K& l9 X5 @) N( R) U3 b UF_OBJ_ask_type_and_subtype(findobj, &type, &subType);
! H ?/ P+ [; W& H8 Y) ?6 I //类型为25,子类型为1是注释类型
2 F* e' u" I' I7 Z9 b+ B; y if (type==25 && subType==1)
! ^( j5 M* J6 M o9 G4 \3 [ {8 W* j2 I" @, p8 u3 H$ a
//移动注释类型到153图层
0 t5 D) H7 n" q( b) E' a UF_OBJ_set_layer(findobj,153);8 N: R( A: T& S* K5 I+ G* u7 [; i
}
8 C |0 S9 b. p Z% b" I //类型为25,子类型为2是表面粗糙度符号类型
4 R$ I* ^3 v1 `% d) }) j, b9 m if (type==158 && subType==2)
& }% N$ V: O1 o, N5 T {3 d/ d! o& L; Q; z$ \4 U- H! X. P
//移动表面粗糙度符号类型到152图层
2 h' L! L' D" {. X UF_OBJ_set_layer(findobj,152);
1 e! ^' t, h5 ?2 y. G. C7 [& @& A' v }3 k) `2 [( ]" g5 X, g$ I4 u9 L4 g
//递归查找下级对象,直到对象为空为止4 _7 c" g2 q* ]! h8 Y
UF_LAYER_cycle_by_layer(Layer_Num_Work,&findobj);
, @! m- ~+ L6 u }
% Q) @" P* z* @& E" X4 R( d! B UF_LAYER_set_status(152,2);' w% ^2 P# X* Q& _, p
UF_LAYER_set_status(153,2);
/ c7 N e2 N5 j/ O+ f, y$ ]* Q Q }, J) H" N. h. f& K
} |