找回密码
 注册
Simdroid-非首页
查看: 1179|回复: 28

[入门&进阶] UG连接ISIGHT

[复制链接]
发表于 2008-9-25 11:42:01 | 显示全部楼层 |阅读模式 来自 江苏南京
公司过来宣讲,我copy的。
版权属于isight公司,请不要直接用于商业。

UG版本是2.0的,里面有具体的实例和需要C代码等,
说明是用ppt简要介绍了program需要的东西(exp,prt,c代码等),
具体的解析及在isight的操作没有说明。
稍微有一定基础的可以用里面的C代码自行练习。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
发表于 2008-9-25 21:03:53 | 显示全部楼层 来自 北京
Simdroid开发平台
谢谢共享
回复 不支持

使用道具 举报

发表于 2008-10-10 20:02:00 | 显示全部楼层 来自 陕西西安
好东西,万分感谢!!!!!!!!!!!!!!!!!!!!
回复 不支持

使用道具 举报

发表于 2008-10-20 22:00:47 | 显示全部楼层 来自 上海嘉定区
有何目点?是用于形状设计优化吗? :lol
回复 不支持

使用道具 举报

发表于 2008-10-28 10:32:11 | 显示全部楼层 来自 北京
非常感谢!
回复 不支持

使用道具 举报

发表于 2008-11-14 13:10:18 | 显示全部楼层 来自 湖南长沙
谢谢分享,呵呵
回复 不支持

使用道具 举报

发表于 2009-3-15 09:42:32 | 显示全部楼层 来自 湖南长沙
谢谢分享!
回复 不支持

使用道具 举报

发表于 2009-3-23 19:45:35 | 显示全部楼层 来自 陕西西安
万分感谢!!!!
回复 不支持

使用道具 举报

发表于 2009-5-6 21:46:36 | 显示全部楼层 来自 上海虹口区
谢谢分享啊
回复 不支持

使用道具 举报

发表于 2009-5-13 21:32:13 | 显示全部楼层 来自 江苏南京
真的是好东西啊,谢谢楼主,上帝保佑你!!!
回复 不支持

使用道具 举报

发表于 2009-7-13 09:59:43 | 显示全部楼层 来自 重庆沙坪坝区
谢谢共享,感谢!!!!
回复 不支持

使用道具 举报

发表于 2009-7-13 21:03:30 | 显示全部楼层 来自 上海闵行区
这个是好东西,太感谢楼主啦
回复 不支持

使用道具 举报

发表于 2009-7-14 09:54:21 | 显示全部楼层 来自 陕西西安
好东西,感谢楼主分享。
回复 不支持

使用道具 举报

发表于 2009-11-5 09:58:58 | 显示全部楼层 来自 江苏南京
谢谢共享!!
回复 不支持

使用道具 举报

发表于 2009-11-8 11:16:06 | 显示全部楼层 来自 贵州毕节
ISIGHT能不能做UG里的尺寸参数优化啊?
回复 不支持

使用道具 举报

发表于 2009-11-8 11:50:45 | 显示全部楼层 来自 河北秦皇岛
很感谢你的共享
回复 不支持

使用道具 举报

发表于 2010-7-24 00:18:49 | 显示全部楼层 来自 北京
谢谢分享!谢谢分享!
回复 不支持

使用道具 举报

发表于 2010-7-24 00:19:02 | 显示全部楼层 来自 北京
15# weiriguang 可以!!
回复 不支持

使用道具 举报

发表于 2011-9-21 11:51:52 | 显示全部楼层 来自 黑龙江哈尔滨
【讨论】UG NX 2.0怎样与isight结合?
通过间接的办法驱动UG. ( i  `) l- H9 y
开发一个C程序,用来 读input文件,并更新UG模型的
4 m4 b; |6 l) f; K5 f3 s! IiSIGHT把这个C程序集成, iSIGHT通过这个程序去读新的设计变量,并驱动UG....  
2 U# z5 c7 Y0 _) ^; [举个例子:  
% {9 [, k# X* o  t7 D  8 ]% j5 x) H0 q+ T9 {) z
-------------------------------------------------------------------------------  ( s0 E" Z  X: d( Q8 j% D( w
比如input 文件为expressions.exp, 其中包含需要iSIGHT去改变的几个半径 :  + V3 |4 A9 G; p  H' g6 P. e
p0=8.008  ) k2 N4 P# B3 u/ M' E1 m
p1=8.0  
4 L% u9 W; U# |  I4 f6 Tp2=8.0  
0 G' _3 u" \; B  V  X2 ^p3=8.0  7 o: c4 ]0 N- i& i, ~; |; u
p4=8.0  $ l, i# k* b: w% G9 \
p5=10.0  
4 a' [0 M. z! `) l$ Kp32=0  % {4 o" h, c4 B$ {& O/ n
p33=360  % m& S, O& ?0 n5 \0 E4 [" L
---------------------------------------------------------------------------  
8 Y, \0 i0 Q: A' YUG零件为: bigdiskmodel.igs  
& J5 A6 F, x' t+ j2 v  
" g4 i$ a8 `( g) @: m1 b7 E& B----------------------------------------------------------------------  
. s7 @7 q. W- C  : \+ m5 }" E' K4 I8 j
UG计算的质量等响应变量输出到:volume.exp 以便 iSIGHT读取  , [/ D  |( G& e" J1 W, `
  
4 |  F) _4 D# ?8 ~; ~' ]volume=9277093.933567  
  a* I! C7 q8 q5 k+ [" `4 C  3 r6 u7 A6 V; c
--------------------------------------------------------------------------  
% r- }( o4 O% |# B8 M( `  J% ]$ U自编一个小的C程序,读入expressions.exp,更新 bigdiskmodel.igs, 输出volume.exp , iSIGHT 把这个程序集成之后,就可以驱动UG了.  
7 r( T5 ~. t$ i示范性的代码如下:  % Z; A7 X! J" J. a( j( U/ y
  5 }& w% w7 C( y6 N  y% Q& R: y
// Main routine  
% F( B5 E0 t4 p( qextern void main( char argc, char *argv[] )  & ]/ k. _( g$ M
{  
2 t) J# k( ~4 C* n% ?0 G! q  //variables define by lx  1 V1 L) [, ^- l  o) _
  //  char StrFlag[25]="a=";  % i, d9 ]. o3 P7 \4 S
  tag_t solbody = NULL_TAG;  3 n/ d0 |4 N% ?+ X4 V! B6 W
  tag_t part_tag;  
  f1 u% y9 h2 S; o* u5 g3 x8 v  UF_PART_load_status_t error_status;  
. @* i6 n. X) A  f4 G6 L9 F% V  int num_parts;  7 _1 Q( g& x2 |) L1 m
   
% f% X1 m! p( g/ B* p" L+ Y. \  int response = 2;  9 f; q  u* L1 C' a& T
  int type = 1;  # R8 J% A9 H* f4 G0 ?3 _0 W4 j7 Z4 _
  int unit = 3;  2 L9 ~0 d4 S! S' @- p" |
  int accuracy = 1;  
) c% w! m& ^  j# _& [# `  int count = 0;  
" D  i4 G2 C0 }6 |4 ?* ^. ]8 X  int zero = 0;  
/ i8 U1 o) z1 d7 p3 a9 Z2 P% h6 F  //  int i;  
% ~( ~0 ~3 g0 }3 z1 @  int status;  
1 \; A4 D' h- [3 }7 b$ l  double acc_val[11] = {.01,0,0,0,0,0,0,0,0,0,0};    B; \! o6 W4 h! K
  double density = 1.0;  
, N1 O" ?  j# p3 w2 X, g' _% I# K  double massprop[47];  2 c  f! ?+ F0 F, y  }7 ~
  double massprop_stat[13];  . V9 V# ?$ ]9 s6 z2 Y6 n
    / h6 c( j3 O  Z& t
   
4 f' N# y$ {8 P: E    /* Initialize the API environment */  
8 N0 G& `; t  i! R4 M( I0 Y# a    int errorCode = UF_initialize();  & P( S4 k* w2 S+ Z
    5 i. h4 h2 V8 R% z% Z2 A6 a
    if ( 0 == errorCode )  , G1 r9 U! }2 c) o6 [# V
    {  : }* j$ x% F4 \4 R
        /* TODO: Add your application code here */  ! w- ~  y; ^2 K$ k
      7 ~. w, i4 R& o; h
    status = UF_PART_open("bigdisk.prt",&part_tag,&error_status);  5 W2 X" o6 |5 _8 `( C5 e$ h9 p
    if (status) PrintErrorMessage(status,"failed in UF_PART_open");  ! Z& a# ~/ s4 i" S
    num_parts = error_status.n_parts;  6 v; p+ t* D& _. w
    UF_free_string_array(num_parts,error_status.file_names);  
* e4 f% |4 G! [2 I      
1 L2 |, |/ M1 p! D, `4 v! f    status = UF_MODL_import_exp ("expressions.exp" , 0 );  
# ?" i# l; K, Q9 K5 ~( w: Q    if ( status != 0 )  2 K$ h3 F/ d3 C1 ^  _7 ~
    {  6 f; H: A0 h( B7 _* ]
      PrintErrorMessage( status, "import of expression failed" );  ' S$ K+ p) J$ p2 M$ z4 m3 t9 e
    }  0 w( @3 Y$ ?5 L$ _1 ]
    else  
# b' `% p& t' P  c& H    {  
+ |3 c" n$ f: N      status = UF_MODL_update ( );  
- ~3 y: Y- k6 S2 a. J      if ( status != 0 )  - ?" K4 A/ D- R8 T
      {  ) S# G  E+ @8 c5 o! d# p
        PrintErrorMessage( status, "updating failed" );  % k& ]5 q3 x! ^, e. ~
      }  
1 P: v7 i  ~7 s+ v( s( s6 i      else  
% H3 U: t, s- ~3 L      {  7 c/ x$ G% _  ~; z* z
        status = UF_PART_save ( );  
8 K" ]; [5 B/ U5 l- A6 @& a' B% M        if ( status !=0)  ! W. t) A3 a" k/ H' M
        {  
' |# z, _4 ]) V          PrintErrorMessage( status, "saving failed" );  
; `- ?# ^( i3 ~5 P. ~; A        }  
8 Z- P0 R2 F3 |! m! {, e$ X3 u+ ?          " j. f. k/ _4 }* D( D3 b/ U
      }  5 I# i7 b0 j& v
    }  
1 b. q7 u" B* V6 h$ q4 L      9 V+ E: ?- m% h
    status = UF_OBJ_cycle_by_name ("DISK", &solbody);  9 Z* b0 m% Q7 y8 e# I
    /* if sheet bodies were selected */  ( C; g& U$ h+ ?4 V5 ~: z0 c2 M
    if ( solbody != NULL )  $ \. ]5 y1 _, g5 _
    {  ; q7 z: v3 j. X" d- f+ O3 O
      UF_MODL_ask_mass_props_3d(&solbody,  
" _2 e) j! F) i, G4 g$ d. X- Y        1, 1, 3, 1.0, 1,  % A# ~2 n! f6 M  d- v
        acc_val,  & L4 q% V9 n6 a3 Z& R; T% q
        massprop,  
1 Z0 a# r% A! q+ X8 m        massprop_stat);  
# g* \# y2 @8 ^+ i2 A- r) Z8 [        
6 h" [4 c4 Y0 b! x( J        4 D2 C* v; a; g! M! X5 H
      FILE *MassFile;  
) R+ ]+ @4 c5 T- p( C+ X        , J+ w( r- k, w6 Y
      double radius=200; //半径为200毫米  ) P+ O* }, k% f  A; ~
      double height=1000*massprop[1]/(radius*radius*3.1415926);  
, s  l" }. N# U' j( y      //    char str;  * l$ C. g0 x8 ]! j& ~" f$ Z
      if((MassFile=fopen("volume.exp","w"))!=NULL)  
2 u$ z$ p+ F+ i9 H6 [2 f      {  8 a+ l! ]: I$ Q9 n/ |2 T# K
        fprintf(MassFile,"radius=%f\n",radius);  6 }( `% O+ w. l" V* U
        fprintf(MassFile,"height=%f\n",height);  # G! j3 d% n3 m* d. W
        fprintf(MassFile,"volume=%f\n",1000*massprop[1]);  
; u0 n; E! B5 z. ?        //fwrite(StrFlag,sizeof( char ), 25, MassFile);  
8 L6 b' M7 J+ M5 j        //printf("%d",  , t9 {$ C  v; ?, u9 A  D
        //f/write(  
; e7 B' t2 j1 o% e        fclose( MassFile );  
! R6 [2 Y( L7 G5 r) U; H* }7 x      }  
% @# u. s: ^) n/ i8 c/ \+ J: y6 z      //  UF_free(&solbody);  
; o' s- n% ?1 {+ |' Z    }  
) I( x( j- m0 R# k( `6 o    else  & {' u5 m: \" U$ _/ I# ~7 |
    {  
! P8 w6 B! n  H. F% w8 E, E1 R      PrintErrorMessage(status, "object retrieving is wrong");  
  d0 V0 o1 x7 h5 z  U    }  
6 h0 \: _3 L7 f0 b* c      
* M) T7 c3 `" u, b    status = UF_PART_close (part_tag, 1, 1);  ( R3 F& i$ X3 f' ?" N9 s+ M
    if ( status !=0)  
1 s6 {3 G9 F3 Y/ y    {  
3 n6 o# @: C. N6 t9 h      PrintErrorMessage( status, "closing failed" );  
. S- H$ h4 O& r8 J2 Z7 B    }  & O* C5 }' B) ~* G
    /* Terminate the API environment */  
. d' j. R' w! |# C' _6 q. A8 e% X    errorCode = UF_terminate();  ( s/ r! ?; `, |
  }  5 i' ?3 h  m7 A( y
   
0 k1 m9 S* p# H" n7 u% s" s  /* Print out any error messages */  
9 ~8 ^1 L/ W- v; Q& V/ o  PrintErrorMessage( status, "Initializing wrong" );  3 u- {, G1 V. R  r# ?5 a! `
  exit(0);  
! |7 B+ W8 g7 t. x# V}


  
回复 不支持

使用道具 举报

发表于 2011-9-27 21:53:44 | 显示全部楼层 来自 吉林松原
zhiliangwang 发表于 2011-9-21 11:51
【讨论】UG NX 2.0怎样与isight结合?
通过间接的办法驱动UG. ( i  `) l- H9 y
开发一个C程序,用来 读input ...

我看到的怎么全是乱码呢?
回复 不支持

使用道具 举报

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

本版积分规则

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-4-28 16:24 , Processed in 0.057744 second(s), 13 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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