青华模具培训学校

 找回密码
 注册

QQ登录

只需一步,快速开始

青华模具培训学院
查看: 2936|回复: 3

[疑难] 二次开发在使用API调用GRIP时的问题

[复制链接]
发表于 2011-11-11 19:52 | 显示全部楼层 |阅读模式
       我学习了API参数化后,想利用GRIP直接建模,现在初步了解GRIP了,今天在做一个书上的“参数化直齿轮”的例子时。在自定义的目录下已经建好了startup 、application、grip 文件夹 生成直齿轮的GRIP程序已经编译连接好放到grip 文件夹里了,接着按书上的做法我用ug向导建立工程,把UIStyler建立的对话框C程序和头文件都拷贝到该工程的目录下,并添加到此工程中,然后再编写完下面程序时(完全按照书上的例子程序),无法生成DLL文件,有大约几十个错误 我看了一下 基本都出在 调用GRIP的语句出。大致分为这几种错误,
. n8 Z4 X' i2 ?& aCompiling...! J0 D  `6 D0 n9 |" ?
inner_gear.cpp* ]5 x, b2 z4 w0 b& e
D:\inner_gear\inner_gear\inner_gear.cpp(464) : error C2065: 'write_para' : undeclared identifier
- U! J  x) _6 F( u0 u) @" u' ZD:\inner_gear\inner_gear\inner_gear.cpp(481) : error C2065: 'data' : undeclared identifier
2 M0 R: ]7 R2 ?4 G1 c3 a/ x9 ]" hD:\inner_gear\inner_gear\inner_gear.cpp(481) : error C2109: subscript requires array or pointer type; v, s* w4 |4 }( N9 O
D:\inner_gear\inner_gear\inner_gear.cpp(481) : error C2228: left of '.value' must have class/struct/union type
8 i) I) V2 j5 JD:\inner_gear\inner_gear\inner_gear.cpp(481) : error C2228: left of '.real' must have class/struct/union type
! X0 D! g5 S/ y- Y) v    .
7 @+ v/ T/ f. p    .7 U/ M) F, Q5 J5 P: o
    .
  t8 P0 {+ H7 kD:\inner_gear\inner_gear\inner_gear.cpp(586) : error C2102: '&' requires l-value8 ]0 z, H+ E2 h! g
也许学习过GRIP和API联合参数化的朋友都做过这个参数化直齿轮的例子,下面是API中调用GRIP的一段程序,错误基本全出在这
7 D+ V; ~9 J/ I7 ] int i; 0 g8 }. ~7 ^8 M
     write_para(dialog_id);' L( c6 F6 ?( d5 {5 K. y: Y) X, S: W& J- Y
  const char env[255]="UGII_USER_DIR";
! L! }6 a0 H) D7 D' T/ ~  N$ x4 A  char *basedir=NULL;, y3 `/ v5 t  |$ c; R( y4 i
  basedir=getenv(env);
2 V+ Q4 X; u: J% G! ], |1 a  
" \2 \6 m7 M- t% B" E7 n  char dir[100];
" c& c) j: E5 J8 q+ V6 }  strcpy(dir,basedir);
9 _' |! ~2 V. M0 I& s/ j( h* i9 E  strcat(dir,"\\grip\\inner_gear.grx");
7 ~( [4 t0 {# r   
( D. m/ A3 I' \# C) N" Q4 i  char *grip_exe=dir;
+ L: {2 d4 d! K* D2 {' Y- n% U4 ~1 o  int status;; j7 h- _( ^. ], Z% Z2 j
  int grip_arg_count=7;
' f9 w! |$ b" d! e. h) `8 Y# M     UF_args_t grip_arg_list[7];
) o0 o' Z- ~9 @5 J" t- @  for(int j=0;j<7;j++)( r) }( C( w0 ]1 r% F' b
  {; G, w% z1 o: b9 V/ r& [9 u" F
   if(fabs(data[j].value.real)==0.0)7 d2 t; Y( @: N% |4 B- k- ]2 x9 P
   {
- j( P" y4 m7 w! B7 W! ?7 i    uc1601("输入数据不能为零",1);
# f" L7 B  Q0 x    return ( UF_UI_CB_CONTINUE_DIALOG );# }/ F; J+ @( V% a# g2 Z, D
   }6 M* W& j5 Y% I8 e5 u
  }
$ G/ U2 T+ E1 M- j( M     grip_arg_list[0].type=UF_TYPE_DOUBLE;
3 Z5 E; c9 r$ Y4 k* M3 ~, z     grip_arg_list[0].length=0;- d3 E' ]3 h( x# e+ ~5 H, C  c
     grip_arg_list[0].address=&data[0].value.real;- W( u& m/ o: B' n( \3 J# X) S' `4 c
  grip_arg_list[1].type=UF_TYPE_DOUBLE;7 u. m0 e, Y/ f" F' a& t) E
     grip_arg_list[1].length=0;' G" X* c; C+ U/ p5 o9 I
     grip_arg_list[1].address=&data[1].value.real;+ ^9 S& T. W+ ^+ [( M6 k
  grip_arg_list[2].type=UF_TYPE_DOUBLE;
% o, A; a* T3 F& `     grip_arg_list[2].length=0;
- q* S6 t2 [2 N: }6 ^. l% a  double fdat=data[2].value.integer;: s) A2 P+ {& T  q, X
     grip_arg_list[2].address=&fdat;0 ^; p8 m. y* S$ a4 y
  7 l7 T" P) m9 ]6 n) F" D
  for(i=3;i<7;i++)
( t/ l, y9 y& v# c. a0 y  {! T5 `0 O/ l! n; N
  grip_arg_list.type=UF_TYPE_DOUBLE;5 d# _# t  i. @& o9 a$ F; D
        grip_arg_list.length=0;
. n$ q$ S9 h9 H( ^% L9 R: v        grip_arg_list.address=&data.value.real;
+ f' N- E' p! r" B  x  }3 y" ?) Z& q; H# S; w
       $ z: a  m% X0 g% X$ E9 R
     status=UF_call_grip(grip_exe,grip_arg_count,grip_arg_list);
7 [/ @- Q- v9 K; k  i  t6 u% F& v. y3 ^/ Z# [
为什么出现这种情况 我把书上的程序编译一下 可以生成DLL文件 对比一下 是他在新建工程时,FileView里多一个“External Dependancies“ 的 文件,如下。请问是这里导致的问题吗?请高手一定帮帮!万分感谢!!!!  c; |/ ?0 y5 B' c: j- o
LGEAT16P}S$B}W]02938HLC.jpg
2 D; w3 B* u+ G* l7 ~8 I$ `& t$ A% s6 Y* v0 R
 楼主| 发表于 2011-11-11 22:38 | 显示全部楼层
本人已经解决 不过还是希望有高手可以指点关于API调用GRIP相关的问题,比如在GRIP中友CHOOSE语句打开对话框 却打不开的问题!
回复 支持 反对

使用道具 举报

发表于 2013-11-27 16:12 | 显示全部楼层
您好!!我现在也在做API调用GRIP的课题,您也知道,这部分的资料比较少,都要自己研究,会遇到很多困难,我现在就遇到了个问题,就是.dll文件都已经弄好了,如图,但是我grip程序写了一部分,不知道问什么我点确定之后,就像是没有这个函数一样没有反应,您知道是什么原因吗,求指导
ug.jpg
回复 支持 反对

使用道具 举报

发表于 2015-6-14 12:01 | 显示全部楼层
jinxi_19891228 发表于 2013-11-27 16:126 K, @+ o, C5 C
**** 作者被禁止或删除 内容自动屏蔽 ****
( l. [- a/ X9 F5 c
您好!请问您的问题解决了吗?我也出现了同样的问题,想请教
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-7-7 09:39 , Processed in 0.268179 second(s), 25 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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