|
#include <uf.h>4 C1 X3 P4 A4 q: I+ u, o. M
#include <uf_ui.h>
0 t( c; E* X! r/ N#include <uf_exit.h>
& f. l2 e# M2 P5 o/ ^" R6 k#include "uf_modl.h"# N4 Q2 W8 b- ^0 \0 q1 W+ ]
extern DllExport void ufusr( char *parm, int *returnCode, int rlen )
5 ]9 e4 M. r8 @/ h% t D* a6 {{
3 `& c6 r0 Q' x" }8 ? /* Initialize the API environment */6 \3 s1 Q" q) f/ \) c
if( UF_initialize() )
2 F1 u! O( W9 h" t% ^ {& j3 l, W3 a& |0 z9 H
/* Failed to initialize */1 l; J$ `% C4 S6 O6 t
return;
2 \; V' e- ?# D* l; C }+ t4 K/ Y: T% @, C& j. G
UF_FEATURE_SIGN sign = UF_NULLSIGN;/ _. O8 A9 u/ G! ^" C) c) M
double origin[3] = {0,0,0};( u% i v. o& Y- N! J! g% G9 t
char* height = "5";6 Y7 n8 C9 W7 U k9 V) A
char* diam = "8";6 L( o9 _8 L( h6 r
double direction[3] = {0,0,5};6 L& x4 h% N( D
tag_t cyl1;
; S0 W1 I# D+ A; u1 k, u UF_MODL_create_cyl1(sign,origin,height,diam,direction,&cyl1);6 f5 f. Q' ?" s' g
char* height2 = "50";
2 t) W( Q/ p, J* e* M) l char* diam2 = "4";2 |+ \8 \" ]- x9 x# N1 l) R6 E- r
tag_t cyl2;
. S) | l# |2 X' A' u0 L UF_MODL_create_cyl1(sign,origin,height2,diam2,direction,&cyl2);
2 a; L& `" T! ^+ O6 c4 X tag_t cyl_ent;8 e a- d }7 [5 {) Q" q
logical retain_target_body=FALSE;+ h: B% f6 O$ J+ u
logical retain_tool_body=FALSE; $ h* m. |) _! @
UF_MODL_unite_bodies_with_retained_options (cyl1,cyl2,retain_target_body,retain_tool_body,&cyl_ent);9 ]! q0 L' i+ S8 E8 \
/* Terminate the API environment */
9 |5 p; O) B* f9 r UF_terminate();
5 H. M( w9 R n$ ^8 V2 q8 C+ u}
# a" ]5 ~) B! ?/ z$ @8 k* c
8 }1 T( {4 G% g- Iextern int ufusr_ask_unload( void )
5 Y2 Y& E& W/ N2 b{# h. p. E* }8 s5 Q% u _5 x
return( UF_UNLOAD_IMMEDIATELY );
5 O# W1 f5 Z+ E, c& o* p8 W}
9 _3 ?2 S( }- V9 h# g
: x1 Y9 k H* O/ V1 a! t3 ]6 D$ { |
|