原帖地址:http://www.ugufun.com/?p=107 ) E. H0 X* I2 S2 R/ }" Z* d
属性:ug环境下的属性是用户附加到部件或对象上的字符串、整型数值、实型数值、字符串等用于对部件或者对象进行解析或者说明的方法。 作用:由于属性是保存在文件中的内容,我们可以在关闭文件以后再次打开的时候去读取它来作出一些相应的判断。因为程序运行过程中是把所有的参数保存在变量中的,但是一旦程序运行完毕,所有内存释放,通过属性可以作为一个判断标准。 属性的三个方面:TITLE 、VALUE、TYPE 我们可以给一个part添加属性也可以给相应的对象添加属性。 属性操作的基本函数: 添加属性函数: UF_ATTR_assign ( tag_t object, //部件tag 或者对象tag char * title, //属性title UF_ATTR_value_t value//属性值 ); 读取属性函数: UF_ATTR_read_value (tag_t object, char * title, int type, UF_ATTR_value_p_t value ); 一个添加字符串属性的函数 vextern int USER_set_moldbase_string_attr( tag_t part_tag, char title[50+1], char name_str[51] )
3 p2 [" h3 E! Z7 w" h. [- V* Y{# m9 @5 g3 `! u3 ~& `
int err;
; V" E" W5 n2 }% N J" _' B UF_ATTR_value_t value;
# N. I% C6 P" n) h+ [2 I- Q0 g, r" ^; s9 M* [5 n' |, @2 C' Q
value.type = UF_ATTR_string;" ?! H2 t! t" a& |5 K
value.value.string = name_str;( l) G- ]) ^% L' G5 A" w* P
err = UF_ATTR_assign( part_tag, title, value );
. X5 C" e2 O* M; | return err;
, s/ E. n; ~. D1 Z! a% v' y- z}
( ~$ b2 X" \0 {一个添加整型数属性的函数( p0 M5 w5 [7 h! v
extern int USER_set_moldbase_integer_attr( tag_t part_tag, char title[50+1], int data )
3 V* O/ w8 L: l e' _6 L{
0 T, Y$ W2 O" S; ?! Z [4 V) tint err;
/ n' f' z2 z/ `) O( \UF_ATTR_value_t value; value.type = UF_ATTR_integer;, s! ^- \1 W A. X8 j& t; c" D( q" i* T
value.value.integer = data;
C' a2 [8 A# g& _" p2 Zerr = UF_ATTR_assign( part_tag, title, value );
% e5 h: A2 j: o/ E X% K( y* [return err;
4 r. y' h6 b0 r6 b3 w: B l; g} 7 l/ Q8 b# d# a( k3 W" P7 L
0 w' u* Y6 ~% Z/ @. { |