|
马上注册登录,享用更多网站功能!
您需要 登录 才可以下载或查看,没有帐号?立即注册
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 */
 rintErrorMessage( errorCode );
}
::?
question:
1、创建草图运行结果只有一个基准面和一个基准轴,而在UG系统创建时,是一个基准面和两个基准轴,创建是是否有什么差错?
2、程序中,是先创建点和线对象,再添加成为草图对象。在UG建立图形时,是直接在草图中建立图形对象的。是不是有别的函数直接在草图中建立,而不需要先建立再添加? |
|