#include "uf.h"
#include "uf_modl.h"
#include "uf_ui.h"
#include "uf_part.h"
#include <stdio.h>
#define UF_CALL(X) (report( __FILE__, __LINE__, #X, (X)))
static int report( char *file, int line, char *call, int irc)
{
if (irc)
{
char msg[133];
printf("%s, line %d: %s\n", file, line, call);
(UF_get_fail_message(irc, msg)) ?
printf("returned a %d\n", irc) :
printf("returned error %d: %s\n", irc, msg);
}
return(irc);
}
static void do_ugopen_api(void)
{
int scope = 0;//只关闭当前文件,不涉及子装配
int mode = 1;//
char *edge_len[] = {"1.0","1.0","1.0"};//立方体各边长
double corner_pt[] = {0.0,0.0,0.0};//立方体原点坐标
tag_t block_tag;
tag_t part_tag;
/* 创建一个新的prt 文件 */
UF_CALL(UF_PART_new("a_blank_part.prt",UF_PART_METRIC,&part_tag));
/* 在prt 文件中创建一个立方体 */
UF_CALL(UF_MODL_create_block1(UF_NULLSIGN,corner_pt,edge_len,&block_tag));
/*保存此prt 文件 */
UF_CALL(UF_PART_save());
/*关闭此prt 文件 */
UF_CALL(UF_PART_close(part_tag,scope,mode));
}
int main(int argc, char* argv[])
{
if (!UF_CALL(UF_initialize()))
{
do_ugopen_api();
UF_CALL(UF_terminate());
}
return 0;
}