a0806 发表于 2014-6-20 11:50:54

关于布尔运算UF_MODL_unite_bodies_with_retained_options

#include <uf.h>
#include <uf_ui.h>
#include <uf_exit.h>
#include "uf_modl.h"
extern DllExport void ufusr( char *parm, int *returnCode, int rlen )
{
    /* Initialize the API environment */
    if( UF_initialize() )
    {
      /* Failed to initialize */
      return;
    }
UF_FEATURE_SIGN sign = UF_NULLSIGN;
double origin = {0,0,0};
char* height = "5";
char* diam = "8";
double direction = {0,0,5};
tag_t cyl1;
UF_MODL_create_cyl1(sign,origin,height,diam,direction,&cyl1);
char* height2 = "50";
char* diam2 = "4";
tag_t cyl2;
UF_MODL_create_cyl1(sign,origin,height2,diam2,direction,&cyl2);
tag_t cyl_ent;
logical retain_target_body=FALSE;
logical retain_tool_body=FALSE;
UF_MODL_unite_bodies_with_retained_options (cyl1,cyl2,retain_target_body,retain_tool_body,&cyl_ent);
    /* Terminate the API environment */
    UF_terminate();
}

extern int ufusr_ask_unload( void )
{
    return( UF_UNLOAD_IMMEDIATELY );
}

a0806 发表于 2014-6-20 11:54:23

但是把两个没有没有参数的实体,进行遍历选中,是可以进行布尔的,
不知道什么原因,
请大侠们 指点:)

admin 发表于 2014-6-20 16:50:54

a0806 发表于 2014-6-20 03:54
但是把两个没有没有参数的实体,进行遍历选中,是可以进行布尔的,
不知道什么原因,
请大侠们 指点


你应该输入的是 body的tag创建cylinder得到的是 features的tag 用 feature 转body 的函数 转化下

a0806 发表于 2014-6-20 18:33:34

谢谢了,我试试,:(:(

a0806 发表于 2014-6-22 09:01:56

admin 发表于 2014-6-20 16:50
你应该输入的是 body的tag创建cylinder得到的是 features的tag 用 feature 转body 的函数 转化下...

搞定了

                        UF_MODL_ask_feat_body(cyl_jt1,&cyl_jt1);//从特征feature中取出body
                        UF_MODL_unite_bodies(cyl_jt1,cyl_jt2);//布尔运算,求和
:victory:
谢谢
页: [1]
查看完整版本: 关于布尔运算UF_MODL_unite_bodies_with_retained_options