iCAx开思工具箱

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 24659|回复: 2
打印 上一主题 下一主题

遍历装配获取部件的最大外形

[复制链接]
跳转到指定楼层
楼主
发表于 2012-1-10 21:48:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册登录,享用更多网站功能!

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

x
想写个程序实现装配里面的各部件的最大外形尺寸。我的想法是用UF_ASSEM_cycle_objs_in_comp遍历装配里面的对象获得对象的tag_t,然后用UF_MODL_ask_bounding_box()获得该对象的包容盒尺寸,部分内容如下:
tag_t part=UF_CALL(UF_PART_ask_display_part());//显示的是什么就是什么的tag_t
tag_t root=UF_ASSEM_ask_root_part_occ(part);
double bounding_box[6];
double w,l,h;
char  wide[100];
char  length[100];
char  height[100];
char  boundary[100];
tag_t object_occur=NULL_TAG;
do
{
UF_ASSEM_cycle_objs_in_comp(root,&object_occur);
UF_CALL(UF_MODL_ask_bounding_box(object_occur,bounding_box));
w=bounding_box[3]-bounding_box[0];
l=bounding_box[4]-bounding_box[1];
h=bounding_box[5]-bounding_box[2];  
sprintf(wide,"%f",w);
sprintf(length,"%f",l);
sprintf(height,"%f",h);  
strcpy(boundary,wide);
strcat(boundary,"X");
strcat(boundary,length);
strcat(boundary,"X");
strcat(boundary,height);
UF_UI_write_listing_window(boundary);
}while(object_occur!=NULL_TAG);
现在的问题是UF_MODL_ask_bounding_box(object_occur,bounding_box);获得的bounding_box[6]的所有值都是一样的,导致后面的所有部件的w、l、h都是0,而且调试时该函数的信息是“the first parameter passed in was invalid”。请各位帮帮忙应该怎么处理呢?

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 支持支持
沙发
发表于 2012-1-11 13:26:25 | 只看该作者

马上注册登录,享用更多网站功能!

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

x
板凳
发表于 2012-1-11 13:30:10 | 只看该作者

马上注册登录,享用更多网站功能!

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

x
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手板模型制作,在线3D打印服务

QQ|小黑屋|手机版|开思工具箱 CAD工具箱_CAM工具箱  

GMT+8, 2024-11-23 05:41 , Processed in 0.010729 second(s), 8 queries , Gzip On, Redis On.

Powered by Discuz! X3.3

© 2002-2024 www.iCAx.org

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