iCAx开思工具箱
标题:
请问如何画一个圆?
[打印本页]
作者:
xyf2001721
时间:
2005-2-25 21:52
标题:
请问如何画一个圆?
请问画圆使用哪个函数阿?紧急!!
作者:
goodluckwu
时间:
2005-3-3 08:46
/******************************************************************************
Copyright (c) 1999 Unigraphics Solutions, Inc.
Unpublished - All Rights Reserved
*******************************************************************************/
/* The following example creates a circle that starts at 0 degrees and
ends at 270 degrees.
*/
#include <stdio.h>
#include <uf.h>
#include <uf_part.h>
#include <uf_curve.h>
#include <uf_csys.h>
#include <uf_defs.h>
#define UF_CALL(X) (report( __FILE__, __LINE__, #X, (X)))
static int report( char *file, int line, char *call, int irc)
{
if (irc)
{
char messg[133];
printf("%s, line %d: %s\n", file, line, call);
(UF_get_fail_message(irc, messg)) ?
printf(" returned a %d\n", irc) :
printf(" returned error %d: %s\n", irc, messg);
}
return(irc);
}
static void do_ugopen_api(void)
{
char *part_name = "curve";
tag_t part, arc_id, wcs_tag;
UF_CURVE_arc_t arc_coords;
/* Fill out the data structure */
arc_coords.start_angle = 0.0;
arc_coords.end_angle = 360.0 * DEGRA;
arc_coords.arc_center[0] = 0.0;
arc_coords.arc_center[1] = 0.0;
arc_coords.arc_center[2] = 1.0;
arc_coords.radius = 2.0;
UF_CALL(UF_PART_new(part_name, UF_PART_ENGLISH, [$part))]
UF_CALL(UF_CSYS_ask_wcs([$wcs_tag))]
UF_CALL(UF_CSYS_ask_matrix_of_object(wcs_tag,
[$arc_coords.matrix_tag))]
UF_CALL(UF_CURVE_create_arc([$arc_coords,&arc_id))]
}
/*ARGSUSED*/
void ufusr(char *param, int *retcode, int paramLen)
{
if (!UF_CALL(UF_initialize()))
{
do_ugopen_api();
UF_CALL(UF_terminate());
}
}
int ufusr_ask_unload(void)
{
return (UF_UNLOAD_IMMEDIATELY);
}
作者:
goodluckwu
时间:
2005-3-3 08:47
UF_CURVE_create_arc_thru_3pts()
也可以,看你的需要了
欢迎光临 iCAx开思工具箱 (https://t.icax.org/)
Powered by Discuz! X3.3