|
#include <uf.h>
9 U9 t0 Q3 C, g2 ~7 G#include <uf_ui.h>( T2 M- F: l/ _! g& D
#include <uf_exit.h>
3 d, |6 T9 Z! V% ?* w9 }# ~5 G#include "uf_modl.h"
$ t4 K4 |5 g0 S# p+ m) ^+ Oextern DllExport void ufusr( char *parm, int *returnCode, int rlen )6 D( `, `/ U. ^5 J' m
{
; f- E* w. \1 E6 g" B /* Initialize the API environment */: b: _. B, h0 v- ~
if( UF_initialize() ) ( J" X5 s+ s, J- n# G7 B1 P
{
8 W$ N$ Q/ r1 }$ d( \( p /* Failed to initialize */
# D/ u, j. M! U# h9 d I return;- c2 t5 O+ ]. X# N7 [, e/ X
}& g( w4 q" u; e& I: Q
UF_FEATURE_SIGN sign = UF_NULLSIGN;* p5 \& F% \3 G5 g0 j0 A
double origin[3] = {0,0,0};( i$ _" ?) H* ]7 \
char* height = "5";7 Y: G4 c! B$ X
char* diam = "8";* K @' Y3 P1 B: x( _( `
double direction[3] = {0,0,5};
2 H% q% v( J' V+ o tag_t cyl1;
2 L& B- i0 w. t$ w y" m UF_MODL_create_cyl1(sign,origin,height,diam,direction,&cyl1);% e2 T4 `2 o) i w9 r# O
char* height2 = "50";
! M x, N( m% U- f char* diam2 = "4";
: C3 E( p/ \. J6 @ tag_t cyl2;
- S, W8 J+ R; v2 U UF_MODL_create_cyl1(sign,origin,height2,diam2,direction,&cyl2);; I( N3 k, }/ r# @7 h, T
tag_t cyl_ent;
5 B+ h3 F. e3 n) x logical retain_target_body=FALSE;8 t6 D; _4 k L
logical retain_tool_body=FALSE;
2 {- _3 \ n3 w: A- b/ F- ]3 { UF_MODL_unite_bodies_with_retained_options (cyl1,cyl2,retain_target_body,retain_tool_body,&cyl_ent);1 G, i( R# |& } b4 Q; _+ v
/* Terminate the API environment */
- r. b: l# L: s W% Q UF_terminate();3 |- R; `3 F: w9 Q4 V' D* k( t
}
' T( |9 X$ I1 D! X q/ w2 K: o1 g# B& }6 {' t
extern int ufusr_ask_unload( void )
6 d) `) _( C* D0 M3 n2 ?" C. f{
" w) d; q4 f2 S- Y9 w return( UF_UNLOAD_IMMEDIATELY );
g) v- g) X, U} P( h; u2 r# ~. B
$ s1 y5 a8 ~ R |
|