iCAx开思工具箱

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 25570|回复: 0
打印 上一主题 下一主题

关于截面线?

[复制链接]
跳转到指定楼层
楼主
发表于 2008-5-15 10:58:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
这是我编一个函数,下面是要用生成的三个界面截一个实体得到三条截面线,往下不知如何做,请问如何应用UF_MODL_intersect_objects含数求得???
static void do_ugopen_api(void)
{
tag_t  part_tag;
part_tag = Select_Test();             //问当前页身的tag号
  
//保存绝对坐标系位置
//tag_t  saved_wcs;
//UF_CSYS_ask_wcs(&saved_wcs);
  
//建立在基准平面上的工作坐标系
double x_vec[ 3 ] = {1.0,0.0,0.0};//X方向矢量
double y_vec[ 3 ] = {0.0,0.0,1.0};//Y方向矢量
double mtx[ 9 ] ;
UF_MTX3_initialize (x_vec, y_vec, mtx);//生成3*3坐标系矩阵
tag_t  matrix_id;
UF_CSYS_create_matrix (mtx, & matrix_id );
double csys_origin[ 3 ] = {0.0,0.0,450.0};//坐标系原点
tag_t  csys_id ;
UF_CSYS_create_csys (csys_origin, matrix_id, &csys_id );//生成WCS
UF_CSYS_set_wcs (csys_id ); //设置WCS
UF_CSYS_set_wcs_display (1);//WCS显示
//基准平面1
tag_t  dplane_tag1;            
double  pt1[ 3 ] = {0,0,0};
double  pt2[ 3 ] = {0,0,1};

double  out_pt1[ 3 ];
double  out_pt2[ 3 ];


int int_dplane;
double dplane_distance = 60.0;
//点在WCS中的坐标转换到ABS中
UF_CSYS_map_point (UF_CSYS_ROOT_WCS_COORDS, pt1, UF_CSYS_WORK_COORDS, out_pt1);
UF_CSYS_map_point (UF_CSYS_ROOT_WCS_COORDS, pt2, UF_CSYS_WORK_COORDS, out_pt2);
UF_CSYS_map_point (UF_CSYS_ROOT_WCS_COORDS, pt3, UF_CSYS_WORK_COORDS, out_pt3);
//基准平面法矢
double  dir[ 3 ] = {out_pt2[0]-out_pt1[0],out_pt2[1]-out_pt1[1],out_pt2[2]-out_pt1[2]};

double dplane_point2[ 3 ] ;
double dplane_point3[ 3 ] ;
double dplane_point4[ 3 ] ;
double input_dplane_point2[3] = {0.0,0.0,dplane_distance};
double input_dplane_point3[3] = {0.0,0.0,2*dplane_distance};
double input_dplane_point4[3] = {0.0,0.0,3*dplane_distance};
UF_CSYS_map_point (UF_CSYS_ROOT_WCS_COORDS, input_dplane_point2, UF_CSYS_WORK_COORDS, dplane_point2);
UF_CSYS_map_point (UF_CSYS_ROOT_WCS_COORDS, input_dplane_point3, UF_CSYS_WORK_COORDS, dplane_point3);
    UF_CSYS_map_point (UF_CSYS_ROOT_WCS_COORDS, input_dplane_point4, UF_CSYS_WORK_COORDS, dplane_point4);
//基准平面2(截面1)
tag_t dplane_tag2;
UF_CALL(int_dplane = UF_MODL_create_fixed_dplane (dplane_point2, dir, &dplane_tag2));
//基准平面3(截面2)
tag_t dplane_tag3;
UF_CALL(int_dplane = UF_MODL_create_fixed_dplane (dplane_point3, dir, &dplane_tag3));
//基准平面4(截面3)
tag_t dplane_tag4;
UF_CALL(int_dplane = UF_MODL_create_fixed_dplane (dplane_point4, dir, &dplane_tag4));









我接处时间不长,希望个位能够赐教!!!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 支持支持
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

GMT+8, 2024-12-23 04:42 , Processed in 0.026416 second(s), 7 queries , Gzip On, Redis On.

Powered by Discuz! X3.3

© 2002-2024 www.iCAx.org

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