iCAx开思网

标题: grip程序 [打印本页]

作者: aaronliyuan    时间: 2011-10-24 09:38
标题: grip程序
本帖最后由 aaronliyuan 于 2011-10-24 09:50 编辑

生成等参数曲线数据点
[attach]1104023[/attach]
[attach]1104024[/attach]
[attach]1104025[/attach]
[attach]1104026[/attach]


作者: tomaini    时间: 2011-10-25 13:57
你说的“不过只能生成一个文件的数据点,我想生成多条数据点”具体说下是什么意思

作者: aaronliyuan    时间: 2011-10-26 09:01
tomaini 发表于 2011-10-25 13:57
你说的“不过只能生成一个文件的数据点,我想生成多条数据点”具体说下是什么意思

就是我有5个.dat的文件,每个文件是一条直线,我想把五个文件都读出来,但是只能生成第一条直线,其余的四个提示找不到文件,我觉得可能是我程序有问题,高手帮忙看看呗!
作者: tomaini    时间: 2011-10-27 13:23
在读入文件目录前加个选择,继续读入或退出,然后把读文件放入循环体就好了
作者: aaronliyuan    时间: 2011-10-27 13:56
tomaini 发表于 2011-10-27 13:23
在读入文件目录前加个选择,继续读入或退出,然后把读文件放入循环体就好了

可以加QQ吗?想让你帮我看一下程序。
作者: aaronliyuan    时间: 2011-10-27 14:01
tomaini 发表于 2011-10-27 13:23
在读入文件目录前加个选择,继续读入或退出,然后把读文件放入循环体就好了

我QQ344570544
作者: hyfjy    时间: 2011-10-27 22:43
你所做的文件并不是grip要坟的格式,在完整的GRIP文件中要按有关的要求先定义各实体,数据,可以输入多条曲线,毕竟grip开发与样条曲线的文件完全不同了,你给出的仅是样条线曲线的文件。
作者: aaronliyuan    时间: 2011-10-29 09:14
hyfjy 发表于 2011-10-27 22:43
你所做的文件并不是grip要坟的格式,在完整的GRIP文件中要按有关的要求先定义各实体,数据,可以输入多条曲 ...

能具体说明一下吗?我的文件格式是.dat的,UG不是可以识别这个文件吗?你说的那个定义实体,数据,我在程序的开头已经定义实体和数据的申明变量了。求高手具体指导一下。
作者: kingfu    时间: 2011-10-29 09:45
不懂啥意思
路过

作者: hyfjy    时间: 2011-10-29 21:07
aaronliyuan 发表于 2011-10-29 09:14
能具体说明一下吗?我的文件格式是.dat的,UG不是可以识别这个文件吗?你说的那个定义实体,数据,我在程 ...

UG认文件输入样条线与GRIP二次开发是UG中的二个模块,互相没关系的。如果想让样条线的五个文件变成可以一次认读的GRIP文件,必须把样条线文件中的点变成GRIP中的点,用POINT的格式一个一个写好,下面还要用点联成样条线的命令,给定那些点是那一条样条线,这样五条样条线就能在一个文件中让UG自己画出来了,当然,如果不再要点的话,画好线后把点删除也是必要的。
作者: aaronliyuan    时间: 2011-10-30 14:32
C:\Documents and Settings\Administrator\桌面\1.png这个是我的文件的格式,这个是不是你说的用POINT的格式写的呀?我用什么命令能指定这些点是一条直线,另一个文件里的点是另一条支线呢?
作者: aaronliyuan    时间: 2011-10-30 14:33
本帖最后由 aaronliyuan 于 2011-10-30 14:36 编辑
hyfjy 发表于 2011-10-29 21:07
UG认文件输入样条线与GRIP二次开发是UG中的二个模块,互相没关系的。如果想让样条线的五个文件变成可以一 ...


这个是我的文件的格式,这个是不是你说的用POINT的格式写的呀?我用什么命令能指定这些点是一条直线,另一个文件里的点是另一条支线呢?[attach]1104958[/attach]C:\Documents and Settings\Administrator\桌面\1.png
作者: hyfjy    时间: 2011-10-30 20:52
输入点的格式应该为:

[attach]1105009[/attach]

总之,每个点要有名称,在下面的处理时才能把相应编号的点连成样条线的,每一步都要十分小心,电脑是听人指挥的,电脑错了,实际上是人指挥错了。

作者: aaronliyuan    时间: 2011-11-1 10:24
hyfjy 发表于 2011-10-30 20:52
输入点的格式应该为:

我按照您给的格式改了数据点文件,但是用UG运行程序时提示找不到文件,
ENTITY/Pt(2000)
NUMBER/row(2000)
STRING/str(1000)
L1:
CHOOSE/'Select an option',$
       '开式叶轮',$
       '半开式叶轮',$
       '闭式叶轮',resp
       JUMP/L1:,END:,,,L2:,L3:,L4:,RESP
L2:
       messg/'请输入叶轮叶片数据点.dat/'
       JUMP/END:
L3:
      L10:
       PARAM/'ENTER # of rows','给出行数',R,RESP $$ 给出行数
       JUMP/L10:,TRM:,,RESP
      j10:
       TEXT/'输入包含点信息的文件名',str,resp $$输入包含点信息的文件名
       JUMP/J10:,TRM:,,,RSP
       FETCH/TXT,1,'c:\first.dat',iferr,er1: $$搜索文件
       RESET/1
      er1:
       MESSG/'dont find the file!'
      j20:
       DELIM/',' $$点信息之间用逗号隔开
      j30:
       READ/1,IFEND,j40:,iferr,er2:,X,Y,Z
      j40:
       Pt(K)=POINT/X,Y,Z $$生成点实体
       er2:
       MESSG/'read error'
       JUMP/j10:
       TRM:
L4:
       messg/'请输入叶轮叶片数据点.dat/'
       JUMP/END:
END:
HALT
这个是我的程序,您看一下有什么错误,十分感谢您的帮助,方便的话可以加一下我的QQ吗?344570544,验证的时候说是开思论坛就好,谢谢您了。
作者: aaronliyuan    时间: 2011-11-1 10:29
hyfjy 发表于 2011-10-30 20:52
输入点的格式应该为:

我按照您给的格式改了数据点,但是还是没有生成点实体,这个是我的程序代码,请您看一下哪有问题

作者: aaronliyuan    时间: 2011-11-1 10:30
hyfjy 发表于 2011-10-30 20:52
输入点的格式应该为:

ENTITY/Pt(2000)
NUMBER/row(2000)
STRING/str(1000)
L1:
CHOOSE/'Select an option',$
       '开式叶轮',$
       '半开式叶轮',$
       '闭式叶轮',resp
       JUMP/L1:,END:,,,L2:,L3:,L4:,RESP
L2:
       messg/'请输入叶轮叶片数据点.dat/'
       JUMP/END:
L3:
      L10:
       PARAM/'ENTER # of rows','给出行数',R,RESP $$ 给出行数
       JUMP/L10:,TRM:,,RESP
      j10:
       TEXT/'输入包含点信息的文件名',str,resp $$输入包含点信息的文件名
       JUMP/J10:,TRM:,,,RSP
       FETCH/TXT,1,'c:\first.dat',iferr,er1: $$搜索文件
       RESET/1
      er1:
       MESSG/'dont find the file!'
      j20:
       DELIM/',' $$点信息之间用逗号隔开
      j30:
       READ/1,IFEND,j40:,iferr,er2:,X,Y,Z
      j40:
       Pt(K)=POINT/X,Y,Z $$生成点实体
       er2:
       MESSG/'read error'
       JUMP/j10:
       TRM:
L4:
       messg/'请输入叶轮叶片数据点.dat/'
       JUMP/END:
END:
HALT
作者: tomaini    时间: 2011-11-1 12:50
    READ/1,IFEND,j40:,iferr,er2:,X,Y,Z
      j40:
       Pt(K)=POINT/X,Y,Z $$生成点实体
IFEND的指向有问题,ifend是当读到文件尾时的动作,你看下帮助文档吧
作者: aaronliyuan    时间: 2011-11-1 20:49
hyfjy 发表于 2011-10-30 20:52
输入点的格式应该为:

运行程序时还提示
错误1548999出现在第34行(cad4中).第10行的点数无效
还有一个问题就是PARAM/'ENTER # of rows','给出行数',R,RESP $$ 给出行数
这个命令起到什么作用呀?是一条曲线的点数吗?
作者: tomaini    时间: 2011-11-1 21:26
这不是你编的吗?建议你把多余的东西都去掉,将主要部分调试好再一点点往上加东西,这样不容易错,还有GRIP的书还是有几本在网上可以下载到的,建议你好好看看
作者: hyfjy    时间: 2011-11-1 21:36
有可能把你的五个文件都传上来,让我看一下才好,谢谢。
作者: hyfjy    时间: 2011-11-2 20:11
你把五个文件中的点,全部输入到新的文件中,不要让grip去找了,这样要方便得多。用五个三维数组把五个DAT文件中所有的点都集中到结尾是“grs”的文件中,然后再进行由点到样条线的程序试试。
作者: aaronliyuan    时间: 2011-11-3 09:15
hyfjy 发表于 2011-11-2 20:11
你把五个文件中的点,全部输入到新的文件中,不要让grip去找了,这样要方便得多。用五个三维数组把五个DAT文 ...

您的意思是将五个dat的文件存成一个dat的文件,然后让grip读取;
还是将五个文件中点的坐标写到grs的文件中?
如果要是把点存到grs的文件中就不能实现参数化了。
我给您发邮件了。
作者: hyfjy    时间: 2011-11-3 20:32
aaronliyuan 发表于 2011-11-3 09:15
您的意思是将五个dat的文件存成一个dat的文件,然后让grip读取;
还是将五个文件中点的坐标写到grs的文件 ...

看一下我发给你的1文件,就会知道我的意思。处理一下,可以在UG中导入二条样条线的,可能有一条上的一个点错了,但我是按你给的二个文件的数据编的。谢谢。我QQ909535665
2文件是处理后的文件,可导入UG中,应该与你处理过的文件一样的,只改了个名以便压缩。

[attach]1105825[/attach]

[attach]1105826[/attach]

作者: hyfjy    时间: 2011-11-3 21:10
做的图:

[attach]1105831[/attach]

导入的过程:

[attach]1105832[/attach]

作者: 753120512    时间: 2012-2-20 20:39
目前还没到这个级别,哎,只能看看了




欢迎光临 iCAx开思网 (https://www.icax.org/) Powered by Discuz! X3.3