iCAx开思网

标题: 请教SUPERGIRL以及其它高手关于UF_ATTR属性与查询设置的问题: [打印本页]

作者: jambo436    时间: 2005-4-13 13:35
标题: 请教SUPERGIRL以及其它高手关于UF_ATTR属性与查询设置的问题:
我首先画一个球体,
给它添加一个属性,
接着通过查询属性来查看返回值,
返回值似乎不是我所期望的?请问什么原因,哪里出错了?
  
UF_ATTR_value_t value;
char    messg[133];
UF_MODL_create_sphere1(sign_sphere, center_1,diam, [$sphere_tag )]  
UF_MODL_ask_feat_body(sphere_tag,[$sphere_body)]
    value.type = UF_ATTR_string;
    value.value.string = "Car2TrunkTag";
    UF_ATTR_assign(sphere_body, "STRING_ATTRIBUTE", value);
  
int m=UF_ATTR_find_attribute (sphere_body,UF_ATTR_string,"STRING_ATTRIBUTE",[$title_type)]
    UF_get_fail_message(m, messg);
  uc1601(messg,1);
弹出信息框显示no error,也就是说UF_ATTR_find_attribute的返回值是0.如果属性设置成功的话应该是5才对啊!
作者: zzz    时间: 2005-4-13 15:58
好像assign attribute只能用UF_ATTR_any,你看一下UF_ATTR_assign的返回值吧。
作者: jambo436    时间: 2005-4-14 09:40
谢谢版大的回复,
这个返回值我查看过,是0,
我想应该没有什么问题吧,
提供的例子里面也有对这些UF_ATTR_string和其它的设置
/*  Assign an integer attribute to the point */
    value.type = UF_ATTR_integer;
    value.value.integer = 1;
    UF_CALL(UF_ATTR_assign(pnt, "INTEGER_ATTRIBUTE", value));
  
/*  Assign a string attribute to the point */
    value.type = UF_ATTR_string;
    value.value.string = "This is a string";
作者: jambo436    时间: 2005-4-14 10:14
刚才重新看了一下,如果我的UF_ATTR_assign没错,
我在执行完UF_ATTR_assign之后应该在KF导航器中能看到添加的属性吧,
可是并没有看到,
可见还是出了问题哦
如版大所说,那应该如何添加属性呢?
value.type = UF_ATTR_any;
    value.value.integer = 1;
    value.value.string = "Car2TrunkTag";  
    UF_ATTR_assign(sphere_body, "STRING_ATTRIBUTE", value);  
这样会提示invalid record type!似乎也不行!
作者: tsingtsang    时间: 2005-4-14 11:23
去:  UF_MODL_ask_feat_body(sphere_tag,[$sphere_body)]  
改: UF_ATTR_assign(sphere_tag, "STRING_ATTRIBUTE", value);  
  
结果如图:
作者: jambo436    时间: 2005-4-14 12:45
谢谢tsingtsang,
对,我的也有这个,
如此说来,添加属性这步应该是成功了,
问题又回到开始我的第一贴里面,
就是不知道接下来查询属性怎么得不到预期的结果?
作者: tsingtsang    时间: 2005-4-14 13:52
title_type  才是返回值   你测试的  m只是函数调用是否成功的标志
作者: jambo436    时间: 2005-4-14 14:52
title_type也测试过了,与之一样
作者: jambo436    时间: 2005-4-14 16:27
我用这个函数可以得到设置的属性:
UF_ATTR_read_value (
tag_t object,  
char * title,  
int type,  
UF_ATTR_value_p_t value );
作者: tsingtsang    时间: 2005-4-14 17:30
sorry   这回看了一下帮助
Searches the specified attribute type for the attribute title.  
  
翻译过来是:对于属性标题(title)查询其属性类型。
  
你是要查询属性类型还是属性值(value)?
作者: jambo436    时间: 2005-4-14 18:22
我的目的就是预先设置属性而后通过查询该属性来找到该物体!
作者: zzz    时间: 2005-4-14 21:50
查询要用UF_ATTR_any?




欢迎光临 iCAx开思网 (https://www.icax.org/) Powered by Discuz! X3.3