iCAx开思工具箱

标题: 【求助】如何求一个面和body的截面 [打印本页]

作者: tari    时间: 2004-7-19 14:55
标题: 【求助】如何求一个面和body的截面
用一个平面切割后,得到截面,如何求截面的tag呢?用UF_MODL_intersect_objects()?好像得到的是曲线
作者: tari    时间: 2004-7-19 16:53
我用一个笨办法解决了,搜索所有的面,当某个面跟切割面的方向一致并且距离为0的那个面就是截面,谢谢大家!
作者: tari    时间: 2004-7-20 09:15
我要在截面上取一点,怎么实现?谢谢!
作者: tari    时间: 2004-7-20 16:12
我用这个函数UF_UI_point_construct()实现了交互的,感觉自动得到一个需要的点比较难!
作者: tari    时间: 2004-7-21 10:16
使用这个函数得到的点跟我选的点有很大的误差,下面是我写的一段代码,生成的圆根本就不在面上,恳请高手帮我看看,问题出在哪里
char cue[]="point constructor";
UF_UI_POINT_base_method_t  method=UF_UI_POINT_ON_SURFACE_PT;
tag_t  point_tag;
double base_pt[3]={0,0,0};
int  response;
UF_SO_visibility_option_t  visibility=UF_SO_visible;
UF_UI_point_construct(cue,[$method,&point_tag,base_pt,&response)]
UF_SO_set_visibility_option(point_tag,visibility);
if(response==UF_UI_OK)
{
   UF_CURVE_arc_t  arc_coords;
   tag_t matrix;
  double origion[3];
  UF_CSYS_ask_csys_info(csys,[$matrix,origion)]
  arc_coords.matrix_tag=matrix;
  arc_coords.start_angle=0;
  arc_coords.end_angle=2*3.14159265;
  for(int i=0;i<3;i++)
  arc_coords.arc_center=base_pt;
  arc_coords.radius=5;
  tag_t arc;     
  UF_CURVE_create_arc([$arc_coords,&arc)]
}
作者: tari    时间: 2004-7-21 10:59
下面是对应的图
作者: tari    时间: 2004-7-21 12:57
我知道错在哪里了,原来坐标需要转换




欢迎光临 iCAx开思工具箱 (https://t.icax.org/) Powered by Discuz! X3.3