青华模具培训学校

 找回密码
 注册

QQ登录

只需一步,快速开始

青华模具培训学院
查看: 1265|回复: 0

[疑难] 求助,关于二次开发创建圆柱体

[复制链接]
发表于 2009-11-1 11:39 | 显示全部楼层 |阅读模式
程序如下,编译了一下没有提示错误和警告,但是在ug里无法生成圆柱体。不知道是什么问题,恳请大虾们指教。。。
$ t1 {3 K- i) L6 {+ p% ^9 H& P5 G% N9 T8 K
int WHEEL_ok_cb ( int dialog_id,
& s3 ^  O$ M3 r% y' O; J& Z             void * client_data,6 r. S( R; u3 i; F% Z+ |
             UF_STYLER_item_value_type_p_t callback_data)7 M% g/ J( X3 m2 ~  A
{+ J4 P/ @, _7 c( d. l, i
     /* Make sure User Function is available. */  $ R9 m3 C- \; D$ d
     if ( UF_initialize() != 0) 4 F- t' i. c* f
          return ( UF_UI_CB_CONTINUE_DIALOG );" m6 ~. p# w% ?# @7 K2 S( I6 u
     /* ---- Enter your callback code here ----- *// |8 s7 C9 P% H0 h' @) v
  create_wheel( dialog_id );% @; V& `7 j" @
     UF_terminate ();! ?  p! c, o# F  b" H# w5 h- x
    /* Callback acknowledged, terminate dialog             */
0 G/ j$ L1 G- `9 V" t    /* It is STRONGLY recommended that you exit your       */$ H5 U' @9 G" h5 @( F
    /* callback with UF_UI_CB_EXIT_DIALOG in a ok callback.*/
4 Y5 V7 T! f/ ?4 L) S4 u  g$ c) F- v0 {- U    /* return ( UF_UI_CB_EXIT_DIALOG );                    */
5 {/ P3 ?& h# p    return (UF_UI_CB_EXIT_DIALOG);                           ; \) H0 i9 ^8 O7 ^% `. X/ G; M5 G
}/ Q* L3 B$ G. L2 D
static void get_real_data
/ R1 V+ ~, i' Q( P- \( int      dialog_id, /*I*/
' L" o5 ?5 D# s3 S% P) v  char     *item_id,  /*I*/# }" g5 h$ j; B; ]2 g, _, C
  double   *value     /*O*/
5 k& \+ C* i, N% v )
3 w8 {9 w0 f0 n# ?, t5 `; f{
$ W6 m1 p0 V2 w- o UF_STYLER_item_value_type_t   WHEEL;4 `# \: P1 U, g
WHEEL.item_attr = UF_STYLER_VALUE;# a( G9 |) _+ f* {( T; a
WHEEL.item_id = item_id;- @5 O1 x! w5 E$ c8 x, ~
UF_STYLER_ask_value ( dialog_id, &WHEEL );' e2 }3 [) F0 o" U! V3 O( P+ ^
*value = WHEEL.value.real;
( k* G5 _( I; l6 f  z" l}
- G- `% Z+ {) S  @  ~& R+ \! A4 a. Sstatic void create_wheel(int dialog_id)" w" Q- N2 G" r/ ]! d
{
, g% `! |, \% {/ R% I( D6 J# l/ B double diameter = 0.0;
8 Z+ S) l( f6 K4 v1 b" R double width = 0.0;
# |& k. U4 N1 f+ i# L: v/ z    double origin[3] = {0.0, 30.0, 0.0 };
+ g2 I5 {  E" O' y0 k2 j double direction[3] = {0, 0, 1 };
; ^& i& ~0 T# {: L char *size[2] = { NULL };2 B) s1 x3 S$ z- G3 u7 k. V3 M) T
tag_t cyl_obj_id = NULL_TAG;
+ Z" t2 w( T5 {3 h- p int error = 0;/ c# i5 S9 f) t8 q) O
//取得用户输入。! z( Z8 i" L& ]2 R' B
get_real_data( dialog_id, WHEEL_DIAM, &diameter );5 K! C* a3 D+ ]. d4 {* f- t8 A6 p
get_real_data( dialog_id, WHEEL_HEIGHT, &width );) p9 s  r) X- s- K8 N' h. I" P
//参数类型转换
- w; Z2 E3 c$ v1 c+ A size[0] = (char *)UF_allocate_memory( 256 * sizeof(char), &error );" T7 n3 V9 T; F' O4 q7 U7 D3 |* T2 n
    size[1] = (char *)UF_allocate_memory( 256 * sizeof(char), &error );
; W# w% [9 s! j0 I# w, ~ sprintf( size[0], "%f", diameter );0 E. e5 W( g  z2 S% J! ?6 f$ N) E
    sprintf( size[1], "%f", width );
9 A' |2 g3 @- _4 ^ //调用UF函数,生成Cylinder" s2 d0 d4 i0 V& c0 b) q5 G/ `
error = UF_MODL_create_cyl1(UF_NULLSIGN, origin, size[1], size[0], direction, &cyl_obj_id);
( q$ y, s1 d; Q& z' [5 g* i: Y( F! W8 G    UF_free( size[0] );
  j1 U! W9 [' y9 t% h% b! N8 l3 p    UF_free( size[1] );. e! }; g0 B; h( ]' V5 s
}
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|关于我们|sitemap|小黑屋|Archiver|手机版|UG网-UG技术论坛-青华数控模具培训学校 ( 粤ICP备15108561号 )

GMT+8, 2025-6-28 11:06 , Processed in 0.100101 second(s), 25 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表