|
我现在想要删除二维工程图中的一些note文字!我想的大概过程是先通过遍历出所有的文本,然后判断文本位置坐标确定是否是需要删除的内容! 但是现在操作过程中遍历部分遇到困难,希望高手指教一下!
2 R' ~6 x) }% {6 J 我现在是这样的:
% P* p) x2 Z7 m# Z. q \ifail = UF_OBJ_cycle_objs_in_part( UF_PART_ask_display_part(),. B" _) N' q. G2 V( q' ^" B
UF_drafting_entity_type,¬e_tag );
( t' X i( t/ { Z: h2 M/* Find the tag of a note. */ k; r1 L' X: j3 v9 o# X
while( !ifail && note_tag )2 i# q& A) ^- o4 C k# Z( O
{
& s6 u6 f( Q4 b ifail = UF_OBJ_ask_type_and_subtype(note_tag, &type, &subtype );
+ X' a4 [) ?( b( R8 }+ D/* Test type for the note. */4 c S7 o2 H# j
if( !ifail && subtype == UF_draft_note_subtype )
) ?. P) c# M% U, m* V- F {
4 Z) n0 E& H- Q# T2 d' `/* Retrieve the note information. */% ^% N) Q! n$ g/ {! J; T
UF_DRF_ask_ann_data(¬e_tag,search_mask,&cycle_flag,ann_data,&ann_data_type,
' R: C7 ^' i, f &ann_data_form,&num_segments,ann_origin,&radius_angle);
, j0 U7 q' ]% k1 e0 A& ]2 o uc5574(num_segments,ann_data,notetxt,&lengthsize,&txtlength);3 Q+ [8 G1 m; Y) `6 j( m2 T- G& F
uc1601(notetxt,1);
4 E4 _9 }1 C% C! N: i* ] if (0<ann_origin[0] && ann_origin[0]<297)
, T. J* S* b7 z {
% s7 h- o6 J+ l9 p UF_OBJ_delete_object(note_tag);6 p N% I m( F; { H# W) ?( Z
} v6 Q% t& Q0 K2 Q. a3 n- |' G
}0 I3 D' s( v4 g9 _5 ?# Q
/* Find the tag of next drafting entity. */
/ m( m2 [) X5 z5 @ if ( !ifail )
$ [7 I) L$ y% \2 w6 H ifail = UF_OBJ_cycle_objs_in_part(UF_PART_ask_display_part(),; w/ i6 j9 e: K A0 {
UF_drafting_entity_type,¬e_tag );
2 Q0 ?/ y% F9 x- N: N. l" R y}) W0 v# _, W# F: a5 f
这样遍历的结果是PART文件里所有的drawing工程图里的所有note文本!我需要是当前打开的这个工程图里的文本!所有请问如何得到note文本所在的工程图drawing名称,再判断它是否是当前打开的这个工程图 |
|