|
#include <uf.h>( B; ?- o0 ?7 C: i" H
#include <uf_ui.h>
$ E# s- L S9 G. ~$ ~: E# n#include <uf_exit.h>5 {3 k" |$ Z9 T6 v8 k# ^+ a
#include "uf_modl.h"+ l/ D, A$ |* N3 V, a$ u% i: T
extern DllExport void ufusr( char *parm, int *returnCode, int rlen )$ S: T0 b6 q1 Z, |3 _9 a$ Z$ _
{
2 q; | A+ Q" X$ M+ C* `/ F /* Initialize the API environment */
g0 g I! D% A( F3 P6 h if( UF_initialize() ) " ^7 H& Z0 ?: R* g7 _+ ^
{
3 f4 g5 R* X6 T /* Failed to initialize */
6 |3 M: J h- U6 |2 M return;
+ L9 n+ K% `" @% P) J: C# m f }9 j M6 o L" N$ P
UF_FEATURE_SIGN sign = UF_NULLSIGN;3 W6 U1 e4 u, J0 ~. I* Z
double origin[3] = {0,0,0};4 G7 B9 v6 t ?6 g7 x+ o
char* height = "5";% x0 ~: }& x& i% Y" A4 Z
char* diam = "8";% P1 w+ L: Q/ b7 m( s
double direction[3] = {0,0,5};4 {+ l E+ ]9 z0 ?/ m: w9 I
tag_t cyl1;# z8 C9 y+ `& y
UF_MODL_create_cyl1(sign,origin,height,diam,direction,&cyl1);
' @3 p* K: U. X3 h0 S% B2 \ char* height2 = "50";
4 `9 Y; r$ [+ g6 G% O, a char* diam2 = "4";5 N$ P) i: l' H; t q. Q" A3 ?
tag_t cyl2;
: `* M3 N; d) P% ^% I; _/ q UF_MODL_create_cyl1(sign,origin,height2,diam2,direction,&cyl2);3 m5 M( _5 ^; q7 Q) y% L, A
tag_t cyl_ent;
1 m; l% x3 y, r logical retain_target_body=FALSE;
( I! }2 H+ B" J9 [* k9 c logical retain_tool_body=FALSE;
1 ?0 x M% ^8 I9 ?( { UF_MODL_unite_bodies_with_retained_options (cyl1,cyl2,retain_target_body,retain_tool_body,&cyl_ent);
a3 R; X$ x+ Y) c /* Terminate the API environment */
! |$ {( B# ]$ g8 X; `$ F7 l UF_terminate();
- g g( q% n% T; f. w+ b+ @# \) T}* l' d5 n7 a3 O2 v0 r
( i$ f! g6 G- j2 k
extern int ufusr_ask_unload( void )
: c+ e6 S3 h, k% Z! `{
; H$ {" H2 u g0 e8 h1 t2 J% \ return( UF_UNLOAD_IMMEDIATELY );
, R; h; E. t- K}
9 O; @2 j% J$ F$ y2 q: R+ t7 G7 _7 G! n- z1 e$ D' H& ~2 w
|
|