|
我现在想要删除二维工程图中的一些note文字!我想的大概过程是先通过遍历出所有的文本,然后判断文本位置坐标确定是否是需要删除的内容! 但是现在操作过程中遍历部分遇到困难,希望高手指教一下!
% W8 l ]. K, N# X, A% _% q 我现在是这样的:1 t/ ]/ S' x2 C4 d. l/ m
ifail = UF_OBJ_cycle_objs_in_part( UF_PART_ask_display_part(),
( j9 Y: U2 ^* I% K' R" P# H* } UF_drafting_entity_type,¬e_tag );
" w- k, w1 x2 \9 }/* Find the tag of a note. */+ X8 }' y: C9 {0 I5 J# W A) K2 W
while( !ifail && note_tag )
4 A) p, ?; ? F* u) _& c0 R {1 S. n4 k, P1 H: b% ^1 N& s8 H) \7 S
ifail = UF_OBJ_ask_type_and_subtype(note_tag, &type, &subtype );
# y; s' i' w. Z9 _" J. M- ]/* Test type for the note. */
0 {" o: M% p" C/ K+ m& F if( !ifail && subtype == UF_draft_note_subtype )
6 n% j1 ~" g0 D" |, }% ?8 S {9 t M$ K% Y8 p, I( Y
/* Retrieve the note information. */
) N3 O/ i% @: Y" ?. B UF_DRF_ask_ann_data(¬e_tag,search_mask,&cycle_flag,ann_data,&ann_data_type,% `, P1 ]" h, f8 d; |9 d
&ann_data_form,&num_segments,ann_origin,&radius_angle);- E% ^0 i% R! d Q6 A" o- v
uc5574(num_segments,ann_data,notetxt,&lengthsize,&txtlength);
4 [* u5 O* {/ D9 ?9 _- v uc1601(notetxt,1);8 V0 y* y% @3 |! _& S
if (0<ann_origin[0] && ann_origin[0]<297)" O1 o1 f/ k3 C8 d8 k
{3 V1 Q3 t0 I) ?1 r4 c* k
UF_OBJ_delete_object(note_tag);7 @. w* h& C1 x# w$ A
}
2 r3 \8 H* w' p; }7 n }3 g" |( R) ]4 f2 Q7 X1 |+ W
/* Find the tag of next drafting entity. */$ X9 U- _. P4 e
if ( !ifail )1 G# M6 B j6 t4 v: `
ifail = UF_OBJ_cycle_objs_in_part(UF_PART_ask_display_part(),
4 F" J# K6 z# m0 P) N2 D3 A UF_drafting_entity_type,¬e_tag );: Z# Y4 k0 e, q. k1 l, ]9 O
}
0 x& X, U2 B5 E1 ~, l" O& O/ p4 {这样遍历的结果是PART文件里所有的drawing工程图里的所有note文本!我需要是当前打开的这个工程图里的文本!所有请问如何得到note文本所在的工程图drawing名称,再判断它是否是当前打开的这个工程图 |
|