iCAx开思工具箱

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

【讨论】sketch的相关问题!

[复制链接]
跳转到指定楼层
楼主
发表于 2003-7-19 08:51:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
      对于二维曲线,只有建立在草图中才能有对应的表达式,才能具有参数化的功能。以下是一个草图建立和草图对象添加的例子(为方便大家,给出了详细的注释)和相关的问题,希望能与斑竹及各位共同讨论,并向你们学习。
::y
extern "C" DllExport void ufsta( char *param, int *returnCode, int rlen )
{
    /* Initialize the API environment */
///////////////、草图参数设置
        char name[30]="Sket_test";
    int option=2;
    double matrix[9]={1,0,0,0,1,0,0,0,0};
    tag_t  object[2];
    int    reference[2];
    int    plane_dir=1;
    tag_t  obj;
  
    
  
////////////////、点参数设置
        double point1[3]={25,15,10};
        tag_t pt1_id;
        tag_t pt2_id;
        double point2[3]={-point1[0],-point1[1],-point1[2]};
        double point11[3]={-point1[0],point1[1],-point1[2]};
  
/////////////////、线参数设置
  tag_t line1,line2;
  UF_CURVE_line_t sline1,sline11,sline2;
  sline1.start_point[0]=0.0;  
  sline1.start_point[1]=0.0;
  sline1.start_point[2]=0.0;
  sline1.end_point[0]=25.0;
  sline1.end_point[1]=25.0;
  sline1.end_point[2]=0.0;  
  
//////////////////////////////////////////////    
    int errorCode = UF_initialize();
  
    if ( 0 == errorCode )
    {
        /* TODO: Add your application code here */
//////////////////////////////////////草图的创建
  
    UF_SKET_initialize_sketch(name,[$obj)]
        UF_SKET_create_sketch(name,option,matrix,object,reference,plane_dir,[$obj)]
  
///////////////////////////////////点的创建与修改
        UF_CURVE_create_point( point1, [$pt1_id)]
        UF_CURVE_ask_point_data(pt1_id,point1);
        UF_CURVE_create_point( point2, [$pt2_id)]
        UF_CURVE_edit_point_data(pt1_id,point11);
  
///////////////////////////////////直线的创建与修改                        
        UF_CURVE_create_line([$sline1,&line1)]
    UF_CURVE_ask_line_data(line1,[$sline11)]
        sline2.start_point[0]=sline11.start_point[0]+10.0;  
      sline2.start_point[1]=sline11.start_point[1]+10.0;
      sline2.start_point[2]=sline11.start_point[2];
      sline2.end_point[0]=sline11.end_point[0]*2;
      sline2.end_point[1]=sline11.end_point[0]*2;
      sline2.end_point[2]=sline11.end_point[0];  
        UF_CURVE_create_line([$sline2,&line2)]
/////////////////////////////////////////////////////
      int count=4;//加入草图的对象的数量
    tag_t object[]={pt1_id,pt2_id,line1,line2};
     UF_SKET_add_objects(obj,count,object);
        /* Terminate the API environment */
        errorCode = UF_terminate();
    }
  
    /* Print out any error messages */
   &nbsprintErrorMessage( errorCode );
}
::?
question:
1、创建草图运行结果只有一个基准面和一个基准轴,而在UG系统创建时,是一个基准面和两个基准轴,创建是是否有什么差错?
2、程序中,是先创建点和线对象,再添加成为草图对象。在UG建立图形时,是直接在草图中建立图形对象的。是不是有别的函数直接在草图中建立,而不需要先建立再添加?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 支持支持
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

GMT+8, 2024-11-22 01:33 , Processed in 0.013778 second(s), 8 queries , Gzip On, Redis On.

Powered by Discuz! X3.3

© 2002-2024 www.iCAx.org

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