找回密码 注册 QQ登录
开思网工业级高精度在线3D打印服务

iCAx开思网

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

[求助] api如何求对象最大外形尺寸------我这代码 怎么测的很不准啊

[复制链接]
跳转到指定楼层
1
发表于 2012-4-14 11:26:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
api如何求对象最大外形尺寸------我这代码 怎么测的很不准啊
char *message="请选择对象:";
  char *title="请选择对象:";
  int  scope=UF_UI_SEL_SCOPE_NO_CHANGE;
  int  response;
  tag_t object_tag;
  double  cursor[3];
  tag_t view;
  UF_UI_select_with_single_dialog(message,title,scope,NULL,NULL,&response,&object_tag,cursor,&view);  //选择框】
  UF_DISP_set_highlight(object_tag,0); //1高亮显示 0不高亮显示
  //UF_OBJ_set_color(object_tag,20);     //改颜色

double  bounding_box[ 6 ];
    UF_MODL_ask_bounding_box (object_tag, bounding_box ); //查询极点坐标 目前测试很不准 问题不断?


  double point_coords_a1[3]={bounding_box[ 1 ],bounding_box[ 2 ],bounding_box[ 3 ]};//点坐标xyz
  double point_coords_a2[3]={bounding_box[ 4 ],bounding_box[ 5 ],bounding_box[ 6 ]};
  tag_t point_tag_a1,point_tag_a2;                     
  UF_CURVE_create_point(point_coords_a1,&point_tag_a1); //调用API创建点
  UF_CURVE_create_point(point_coords_a2,&point_tag_a2);
   
   char box_x_x[22],box_x_y[22],box_x_z[22];
   char box_d_x[22],box_d_y[22],box_d_z[22];
   sprintf(box_x_x, "%d",bounding_box[ 1 ]);      //数字转字符串
   sprintf(box_x_y, "%d",bounding_box[ 2 ]);     
   sprintf(box_x_z, "%d",bounding_box[ 3 ]);     
   sprintf(box_d_x, "%d",bounding_box[ 4 ]);      
   sprintf(box_d_y, "%d",bounding_box[ 5 ]);     
   sprintf(box_d_z, "%d",bounding_box[ 6 ]);   
   UF_UI_open_listing_window(); //打开窗口
   UF_UI_write_listing_window("最小坐标 "); //输入信息
   UF_UI_write_listing_window(box_x_x);
   UF_UI_write_listing_window(",");
   UF_UI_write_listing_window(box_x_y);
   UF_UI_write_listing_window(",");
   UF_UI_write_listing_window(box_x_z);
   UF_UI_write_listing_window("\n");
   UF_UI_write_listing_window("最大坐标 ");
   UF_UI_write_listing_window(box_d_x);
   UF_UI_write_listing_window(",");
   UF_UI_write_listing_window(box_d_y);
   UF_UI_write_listing_window(",");
   UF_UI_write_listing_window(box_d_z);

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 赞一下!赞一下!
2
发表于 2012-4-14 11:27:13 | 只看该作者
那里有问题呢
3
发表于 2012-6-10 09:37:59 | 只看该作者
好象 UF_MODL_ask_bounding_box  这个函数 查不准 的, 要 做 六个极远 辅助面,查询 距离
4
发表于 2012-6-10 15:06:50 | 只看该作者
  double point_coords_a1[3]={bounding_box[ 1 ],bounding_box[ 2 ],bounding_box[ 3 ]};//点坐标xyz
   double point_coords_a2[3]={bounding_box[ 4 ],bounding_box[ 5 ],bounding_box[ 6 ]};

LZ不会刚学C吧?居然123456的引用,是012345才对啊!
5
发表于 2012-6-10 15:07:43 | 只看该作者
补充一句,这个ask boundingbox的函数应该没啥问题,你的代码有问题
6
发表于 2014-5-18 12:35:17 | 只看该作者
支持一个
7
发表于 2014-7-13 20:01:33 | 只看该作者
gao264 发表于 2012-6-10 15:06
double point_coords_a1[3]={bounding_box[ 1 ],bounding_box[ 2 ],bounding_box[ 3 ]};//点坐标xyz
    ...

是呀,楼主根本性错误。

如果发现某个数据完全不对,肯定是寻址出问题了。


另外 UF_MODL_ask_bounding_box 是不准的,但比较快, 好像有一个叫UF_MODL_ask_bounding_box_exact的会好些。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

GMT+8, 2024-12-24 11:46 , Processed in 0.029099 second(s), 10 queries , Gzip On, Redis On.

Powered by Discuz! X3.3

© 2002-2024 www.iCAx.org

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