找回密码 注册 QQ登录
一站式解决方案

iCAx开思网

CAD/CAM/CAE/设计/模具 高清视频【积分说明】如何快速获得积分?快速3D打印 手板模型CNC加工服务在线3D打印服务,上传模型,自动报价
查看: 15743|回复: 7
打印 上一主题 下一主题

问题请教,关于KF函数

[复制链接]
跳转到指定楼层
1
发表于 2005-12-5 11:02:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多同行朋友,交流,分享,学习。

您需要 登录 才可以下载或查看,没有帐号?注册

x
大家好,请问一下extern int UF_KF_create_child_rule (
tag_t part_of_rule,
const char * name_chain,
const char * rule_name,
const char * child_class_name,
int num_parameters,
char ** parameter_names,
char ** parameter_rules,
char ** generated_name );
第七项中是不是只能接受 char* rules[ ]={"10","5"}这样的数字,请问怎么能接受变量如 char* rules[ ]={"len","width"} 把len, width在外面赋值怎么传递不进去呢?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 赞一下!赞一下!
2
发表于 2005-12-6 09:21:59 | 只看该作者
有没有知道的啊 帮帮忙啊
3
发表于 2005-12-7 09:23:40 | 只看该作者
有人知道吗  帮帮忙啊
4
发表于 2005-12-7 12:34:40 | 只看该作者
自己包的函数,看看就应该知道了吧……
int KF_create_child_rule(char *class_name,        char *child_name,
                                                                   char **para_name,        char **para_value,
                                                                   int        count)
{
        int                response=0;
        char        rule_content[600];
        char        temp_string[133];
        int                i;

        /*create the child rule*/
        sprintf(temp_string, "{class;%s;",class_name);
        strcpy(rule_content,temp_string);

        if (count > 0)
        {
                for (i = 0; i< count; i++)
                {
                        sprintf(temp_string, "%s;%s;",para_name[i],para_value[i]);
                        strcat(rule_content,temp_string);
                }
        }
        strcat(rule_content,"}");
        response = UF_KF_create_rule("root:",
                                                                child_name,      
                                                                "child",     
                                                                rule_content,
                                                                NULL );
       
        return response;
}
5
发表于 2005-12-7 13:26:41 | 只看该作者
好象不行啊 afang,我要实现参数化,就是要把变量的值赋给para_value[i]的,但是para_value[i]只能接受字符串的 就象在外面int len=10, para_value[i]只能接受"10",而不能接受"len",这样怎能实现参数化呢?
6
发表于 2005-12-7 14:14:01 | 只看该作者
需要两个同时赋值:

parameter_names[0] = "len";
parameter_rules[0] = "10";
7
发表于 2005-12-7 15:40:51 | 只看该作者
你可能理解错我的意思了,我的意思是怎么把外面的值赋给parameter_rules,以达到改变外面的值来驱动模型的更新,也就是更新模型的参数 所以parameter_rules[i]不能看做是常量,而是我在外面定义的一个变量,请问以上方法能实现吗
8
发表于 2005-12-7 16:39:35 | 只看该作者
可以的,KF的参数更新就是重新创建一个同名的child rule
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3D打印手板模型快速制作服务,在线报价下单!

QQ 咨询|手机版|联系我们|iCAx开思网  

GMT+8, 2024-12-28 09:00 , Processed in 0.031371 second(s), 12 queries , Gzip On, Redis On.

Powered by Discuz! X3.3

© 2002-2024 www.iCAx.org

快速回复 返回顶部 返回列表