iCAx开思工具箱

标题: 请教斑竹"zzz" :关于读取数据文件赋值给造型的问题 [打印本页]

作者: yangdan    时间: 2003-12-16 17:54
标题: 请教斑竹"zzz" :关于读取数据文件赋值给造型的问题
斑竹你好:
      看了你做的"手把手教你做UG二次开发"后,受益不少.还有个问题想请教:
      我想使用文本文件提供数据支持,把需要的坐标点放在文本文件中,通过二次开发读取这些坐标点,赋值给block或者其它的云线,圆柱等来实现自动造型,请问该如何实现?
      我曾使用fopen ,CArchive::ReadString等方法试图读取文本文件,但都在读的时候出现ebug Assertion Failed! 错误,下面还有很长的错误说明,然后UG就退出了.
      我希望做个标准件库之类的东西,但现在连数据读取都不能实现,唉,离目标还太远了,请求斑竹的指教.
作者: zzz    时间: 2003-12-18 11:30
用fopen读应该没有问题,我在自己的程序也使用过。
另外,在uf_cfi.h还有UG自己的一套函数,也可以使用。
作者: yangdan    时间: 2003-12-18 13:46
斑竹你好:
      我的UG是NX2.0版的,每次当程序执行到循环读取文件中的各行:while(!feof(file))时,总是没有数据读出.用同样的方法在c++中执行就没有问题.
     还请斑竹指教.
作者: yangdan    时间: 2003-12-18 13:48
另外,在利用向导使用external方式产生exe文件时,总提示说找不到一些库,不知怎么回事.
作者: yangdan    时间: 2003-12-18 14:07
那个external程序执行结果错误提示为:
作者: yangdan    时间: 2003-12-18 15:32
ZZZ你好:
我用FOPEN打开文件的程序如下:
    double block_orig[3];//={0,0,0};
    char *block_len[3];//={"1","2","3"};
    float sum=0;
    char f1[5][5],f2[5][5],f3[5][5],f4[5][5],f5[5][5];
  //  Cstring s1[10],s2[10],s3[10];
    FILE *fp;
    int i=0,j;
  
    if((fp=fopen("Input.txt","r"))==NULL)
    {
      uc1601("Error Opening file.",1);
      exit(1);
    }
    uc1601("2",1);
    while(!feof(fp))
    {
      fscanf(fp,"%s %s %s %s %s",[$f1,&f2,&f3,&f4,&f5)]
      sum=sum+atoi(f1);
    //  printf("The value are %s,%s,%s,%s,%s\n",f1,f2,f3,f4,f5);
      //printf("The value are %s,%s,%s,%s,%s\n",f1,f2,f3,f4,f5);
      uc1601(f1,1);
      uc1601("Not eof",1);
      i++;
    }
  
    j=i;
    for(i=0;i<j;i++)
      printf("All The value are %s,%s,%s,%s,%s\n",f1,f2,f3,f4,f5);
  
    block_orig[0]=atoi(f1[0]);block_orig[1]=atoi(f2[0]);block_orig[2]=atoi(f3[0]);
    block_len[0]=f1[1];block_len[1]=f2[1];block_len[2]=f3[1];
    printf("block are %f:\n",block_orig[0]);
    printf("block2 are %s:\n",block_len[0]);
    
//    cout<<block_len[1]<<":len"<<endl;
    fclose(fp);
  
在while子句中,只执行了一次,而且所读数据用uc1601显示为乱码,在UG环境中调用则则说内存错误,然后终止运行该程序.
      编译是正确的,能够生成dll文件.
  
有可能是我哪个地方没设置好还是跟版本有关?
我得是NX2.0及VC++6.0中文版的




欢迎光临 iCAx开思工具箱 (https://t.icax.org/) Powered by Discuz! X3.3