NX二次开发中KF与API的相互调用

【转载自】:http://www.kongmishu.com/

KF是NX架构中一种基于规则的编程语言。在进行二次开发是,KF和API是可以相互调用的。

一、 API中调用KF

在API中调用KF时,主要是通过uf_kf.h头文件来实现的。

对于不需要传递ug_objects进KF的情况,

直接利用UF_KF_create_rule创建rules,利用UF_KF_evaluate_rule执行操作,然后便可以得到最终的结果。

其中需要说明的几个参数是:const char * name_chain:我们知道在KF中都是通过名称链来实现变量的引用的,比如:root:SOLID_FACE:area:,这就是获取一个面中的面积属性。

对于UF_KF_create_rule另一个需要注意的参数是const char * rule_text:其中的内容就是rule的定义部分,如下所示:

"{\n Class,
ug_block; \n
Length, 100; \n
Width, 100; \n
Height, 100; \n}"
对于需要向KF中传递ug_objects的情况
利用KF函数获取object的属性(如面积)可以认为是该情形的简化状态,这时我们只需要利用UF_KF_adopt_ug_objects将object导进KF里面,然后再获取它的name_chain,通过气name_chain
来获取相关的属性。
在向KF中导进ug_objects对象时的注意事项和疑惑:
注意事项:在调用UF_KF_adopt_ug_objects时,必须将选中ug对象作为work part才行,否则会出现错误。
疑惑:帮助文档中说:UF_KF_make_tag 能够Create a Knowledge Fusion Hostpointer value. This is a way to reference an NX object without adopting it to Knowledge Fusion.
但是每次调用该函数来获取UF_KF_instance_p_t总是错误,还望指点???????????????????

二、KF中调用API
该主题在帮助文档中叙述的较为详细,这里就不再赘述。

转载于:https://www.cnblogs.com/thinkanddo/archive/2013/06/08/3125937.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值