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

iCAx开思网

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

关于UF_KF的函数请教

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

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

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

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 );

请问一下这个函数是实现KF的add child rule的功能吗?请问一下具体的各个参数是代表什么意思的呢?和这些参数对应的在KF里面时表示什么的呢?谢谢
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 赞一下!赞一下!
2
发表于 2005-10-17 13:56:36 | 只看该作者
把jon_wu以前发给我的一个例子共享一下:
希望能解除你的疑惑
extern UFUNEXPORT int UF_KF_create_child_rule  (
tag_t  part_of_rule,     /* <I> Part to create or modify rule in */
const char  *name_chain, /* <I> Reference chain of instance here rule will be created or modified.                          If create then must be "Root:" or NULL.  Child rules can only be created on the "Root:" */
const char  *rule_name,        /* <I> Name of rule. */
const char  *child_class_name, /* <I> Class of instance */
int    num_parameters,   /* <I> number of parameters in the parameter_names array */
char **parameter_names,  /* <I,len:num_parameters> num_parameters array of names of parameters                                                 specified by the user.*/
char **parameter_rules,  /* <I,len:num_parameters> num_parameters array of rules for the parameters                         whose names are in "parameter_names" above. Each rule may or may not have a trailing                                        
                        semicolon. */
char **generated_name    /* <OF> name generated for the child object.  Currently always returns                                         NULL. */
);
part_of_rule - 当前part的tag <BR> name_chain - 总是“Root:”
rule_name - 要创建的child rule的名字
child_class_name - 类名,如ug_block <BR> num_parameters - 有多少个参数规则要输入,如3个
parameter_names - 那些参数名字要输入,如"length", "width", "height"
parameter_rules - 对应的参数规则或值,如“10”,“20”,“30”
generated_name - 没有使用
例:
tag_t part_of_rule = UF_ASSM_ask_work_part();
char *name_chain = "Root:";
char *rule_name = "myblock";
char *child_class_name = "ug_block";
int num_parameters = 3;
char **parameter_names = NULL;
char **parameter_rules = NULL;
char *generated_name = NULL;
int error = 0;
int i = 0;
parameter_names = (char **) UF_allocate_memroy( num_parameters * sizeof ( char * ), [$error )]    parameter_rules = (char **) UF_allocate_memroy( num_parameters * sizeof ( char * ), [$error )]    for ( i = 0; i < num_parameters; i++ )
{
   parameter_names = (char *) UF_allocate_memroy( MAX_LINE_SIZE * sizeof ( char ), [$error )]                       parameter_rules = (char *) UF_allocate_memroy( MAX_LINE_SIZE * sizeof ( char ), [$error )]
}
         strcpy( parameter_names[0], "length" );
         strcpy( parameter_rules[0], "10" );
         strcpy( parameter_names[1], "width" );   
         strcpy( parameter_rules[1], "20" );
         strcpy( parameter_names[2], "height" );
         strcpy( parameter_rules[2], "30" );
         error = UF_KF_create_child_rule( part_of_rule, name_chain, rule_name, child_class_name,                
                 num_parameters, parameter_names, parameter_rules, [$generated_name )]
   UF_MODL_update();
    /* free memory */
    for (i=0; i< num_parameters; i++)
       {
             UF_free( parameter_names );
             UF_free( parameter_rules );
       }
   UF_free( paramter_names );
   UF_free( parameter_rules );
3
发表于 2005-10-18 09:29:18 | 只看该作者
谢谢了 大哥
4
发表于 2005-10-18 10:17:02 | 只看该作者
还有一个问题,我如果要在空白文件中生成child rule的话,part_of_rule应该怎么设?还有就是UF_allocate_memory需要哪个头文件? 我这个生成不了啊 能不能给我一个KF和API共同开发的源程序看看,谢谢
5
发表于 2005-10-21 19:46:59 | 只看该作者
上面的程序应该已经非常清楚了
1.part_of_rule = UF_ASSM_ask_work_part();
2.在uf.h里
6
发表于 2008-11-24 11:09:58 | 只看该作者
好贴子就是能解决问题
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

GMT+8, 2025-1-1 08:40 , Processed in 0.024330 second(s), 11 queries , Gzip On, Redis On.

Powered by Discuz! X3.3

© 2002-2024 www.iCAx.org

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