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

iCAx开思网

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

【讨论】UF_MODL_trim_body

[复制链接]
跳转到指定楼层
1
发表于 2003-5-7 10:32:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
extern UFUNEXPORT int UF_MODL_trim_body(
tag_t target_body ,/* <I>
                   Target body to be trimmed.
                   */
tag_t tool_tag ,/* <I>
                Tag of face, datum plane, or plane to be used for trim.
                */
int direction_flag ,/* <I>
                    0 = Accept default direction
                    1 = Reverse direction
                    */
tag_t * trim_feature  /* <O>
                      Resultant trim_feature identifier tag
                      */
);

以上为此函数的声明,照理说这是最简单的函数了,可我怎么就是出错,我要实现的目标如下图所示,源程序如下,请高手指点:
//============================[1] Create a sphere====================    
    
   tag_t sphere_tag;
   double center[3]={0,  0,0};
   char sphere_diam[256];
   sphere_diam[0]='\0';
   sprintf(sphere_diam,"%f",84.8*2);
  
   UF_MODL_create_sphere1(UF_NULLSIGN,center,sphere_diam,[$sphere_tag)]
  
//============================[2] 2 Trim of sphere====================    
  
  tag_t dplane1;
  double sphere_radius=atof(sphere_diam)/2;
  double dplane1_origin[3];  
  dplane1_origin[0]=0;
  dplane1_origin[1]=0;
  dplane1_origin[2]=-80;
  double dplane1_dir[3]={0,0,1};
  UF_MODL_create_fixed_dplane(dplane1_origin,          dplane1_dir,[$dplane1)]
  
  tag_t dplane2;
  double dplane2_origin[3];  
  dplane2_origin[0]=0;
  dplane2_origin[1]=0;
  dplane2_origin[2]=-60;
  double dplane2_dir[3]={0,0,1};
  UF_MODL_create_fixed_dplane (dplane2_origin,dplane2_dir,[$dlane2)]
  int direction_flag=0;
  tag_t trim_left,trim_right;
  
  int ret=UF_MODL_trim_body(sphere_tag,
        dplane1,
        direction_flag,
        [$trim_left)]
  char test[256];
  sprintf(test,"%d",ret);
  uc1601(test,1);
  //从结果显示 ret=690025

本帖子中包含更多资源

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

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 赞一下!赞一下!
2
发表于 2003-5-7 10:45:09 | 只看该作者
你先在交互环境中做一下,看会不会出错。
3
发表于 2003-5-7 11:51:21 | 只看该作者
zzz wrote:
你先在交互环境中做一下,看会不会出错。

  
谢谢版主!
嘿嘿,不太清楚交互环境,对不起,请指点
上面的图片是在api生成 sphere,dplane1,dplane2的基础上,在modling 模式下手工操作trim 实现的,不知道这是不是交互环境? 再次感谢!
4
发表于 2003-5-7 11:53:08 | 只看该作者
是啊
  
可以使用UF_get_fail_message()看一看返回的错误到底是什么。
5
发表于 2003-5-7 15:22:36 | 只看该作者
zzz wrote:
是啊  
  
  可以使用UF_get_fail_message()看一看返回的错误到底是什么。

  
Missing target body
上面为出错信息,请教:
语句 int ret=UF_MODL_trim_body(sphere_tag, dplane1,  direction_flag,[$trim_left)]
中 dplane1 怎么不是 target body???  
我在上面api语句的基础上,在modling模式中可以手动完成 trim
6
发表于 2003-5-7 15:49:44 | 只看该作者
好开心啊,好开心啊,做出来了,原来是 body 和 feat 搞错了,呵呵,这个问题我发过一帖,zzz还回答了我哦,呵呵,只要在程序中加上一句
  
tag_t sphere_body;
UF_MODL_ask_feat_body(sphere_tag,[$sphere_body)]
UF_MODL_trim_body(sphere_body,  dplane1,  direction_flag,  [$trim_left)]
  
看来还是基础不行啊,原来 sphere 在UG里面被认为是 feat,那body到底是什么?麻烦zzz耐心告知基础问题.
7
发表于 2013-7-20 11:05:22 | 只看该作者
学习了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

GMT+8, 2025-1-31 01:48 , Processed in 0.042665 second(s), 12 queries , Gzip On, Redis On.

Powered by Discuz! X3.3

© 2002-2025 www.iCAx.org

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