自己解决!
$ z7 H3 [2 c3 Q+ Bint ISOBJECTSNULL()5 z; K) l6 ^ l0 d9 A
{
3 M- C9 e5 q" E5 ` G2 w& t6 |2 J) m int type;//类型
9 R r; X/ q6 g( S& A$ ~ { int subType;//子类型& T6 {$ H) x0 D8 y. w; ?
int ifali=0;7 c* t5 e* F3 a* _/ P& h7 I3 C
int Layer_Num_Work;//当前工作的图层的编号
5 a* e- z2 o3 v# `0 X tag_t findobj=NULL_TAG;' B% l* M) ?5 z1 ^
//实例化
/ |0 q6 L& Y$ i0 H ifali=UF_initialize();
+ X/ [: O' K" v1 U$ l2 e
5 E5 u) @2 g7 B9 h7 ] //获取当前工作图层3 q. V7 Z/ s* O
ifali=UF_LAYER_ask_work_layer(&Layer_Num_Work);" [( q4 e# ^; W' \7 @( x
if(!ifali && Layer_Num_Work)
T$ U4 L& O* q, u' ~) f {
$ w( U; E1 D& h. k //通过图层来查找当前对象
7 i( j$ ]+ o* l0 w5 F UF_LAYER_cycle_by_layer(Layer_Num_Work,&findobj);6 {* t& X3 X3 T4 a0 e- e
//如果当前对象不为空$ ^ g" J0 n7 q4 {" f1 r
while(findobj!=NULL_TAG)
% |/ T8 z7 _! w3 h% x( Z; T {+ i- z5 W' P, {" K5 N$ C- `
//获取当前对象的类型和子类型
% x) X4 b+ Y& A* T4 _ f UF_OBJ_ask_type_and_subtype(findobj, &type, &subType);
9 n/ M9 p# w6 _3 W //类型为25,子类型为1是注释类型! h0 h. t1 v) w- e
if (type==25 && subType==1)
+ f' {$ Z. ?2 l# i8 O* R# b {
8 Y% u( Q$ N8 B8 u. T4 E7 I$ Q* A6 Y //移动注释类型到153图层$ M# b$ m( U6 Y# ~& f' J8 r
UF_OBJ_set_layer(findobj,153);+ y! d7 C9 W1 R$ y1 o
}! @- d' }! q2 S3 v
//类型为25,子类型为2是表面粗糙度符号类型
5 u' i6 T; o: E) H$ v if (type==158 && subType==2)
7 {8 ]. W# u5 q' f {
4 F: O: Y; L+ E' \* t- I2 W //移动表面粗糙度符号类型到152图层: {* ?" e; x! k9 w7 J# q4 {- g. |
UF_OBJ_set_layer(findobj,152);1 r( x% `- [+ X+ C
}. `" J& N# B( \) K6 `9 ~" m
//递归查找下级对象,直到对象为空为止- O, H" E1 b: G/ K% y( K+ S5 ^1 M
UF_LAYER_cycle_by_layer(Layer_Num_Work,&findobj); : c' j4 q) `( n2 S9 Y+ U
}
4 d8 [$ x; v8 U6 b. I UF_LAYER_set_status(152,2);
7 u! o, `% w* v" L6 q UF_LAYER_set_status(153,2);
8 ^9 U( l5 ^, A }
6 U3 |+ s' i8 ?0 S* U} |