iCAx开思工具箱

标题: UG如何直接读取点文件 [打印本页]

作者: shuixing    时间: 2004-5-24 18:04
标题: UG如何直接读取点文件
我有*.mea的点文件,想直接读入UG,请高手帮忙。
另外,我的文件都是a001.mea,a002.mea,a003.mea这样的形式,如果能把 a系列的点一次性读入就更好了。请帮忙,先谢了。文件格式见附件。
作者: 深夜摔键盘    时间: 2004-5-24 19:59
检验
#   1  点          座标系      1
X          2356.4116   2356.3618      0.0498      0.0000      0.0000      0.0498  
Y             2.3292      2.3298     -0.0006      0.0000      0.0000      0.0006  
Z           512.5972    512.1952      0.4020      0.0000      0.0000      0.4020  
  
检验
#   2  点          座标系      1
X          2349.6301   2349.5983      0.0318      0.0000      0.0000      0.0318  
Y             0.6375      0.6376     -0.0001      0.0000      0.0000      0.0001  
Z           513.3374    513.1314      0.2060      0.0000      0.0000      0.2060  
  
检验
#   3  点          座标系      1
X          2356.3926   2356.3618      0.0308      0.0000      0.0000      0.0308  
Y            -4.4387     -4.4387     -0.0000      0.0000      0.0000      0.0000  
Z           512.4295    512.1952      0.2343      0.0000      0.0000      0.2343
作者: 深夜摔键盘    时间: 2004-5-24 20:01
这种格式是什么意思?
你讲明白了,才可以写出相应的读文件程序啊!
作者: shuixing    时间: 2004-5-24 20:04
不好意思,b001.mea文件不是的。抱歉。
作者: shuixing    时间: 2004-5-24 20:42
TO:深夜摔键盘
你还在吗?
请帮帮忙,先谢了。
作者: 深夜摔键盘    时间: 2004-5-24 21:23
我以前写了一个直接读点的程序,点文件的格式和你的不一样,还要改一下。
你不急用?
作者: 深夜摔键盘    时间: 2004-5-24 22:03
你的点文件格式是严格遵循你的附件中的格式吗?下面的格式摘自你的附件。每行左面是3个空白符?怎么第二个空白符区是4个,到了第三个空白符区又是3个?每行的最后还有一个空白符号。
[-][-][-]199.0017[-][-][-][-]676.8053[-][-][-]-67.7740[-]
  
怀疑你给出的格式并不严格。文件的格式必须严格起来!!!否则程序怎么处理?
作者: shuixing    时间: 2004-5-25 11:59
首先谢谢你。
这主要是数据位数的问题。具体解释请见附件,附件已更新。
作者: 深夜摔键盘    时间: 2004-5-25 13:33
嘿嘿,其实几位空白符没什么关系,我只是不想再修改原来的代码。重新写一个吧。
作者: 深夜摔键盘    时间: 2004-5-25 14:58
好了。
只是你说的对于一系列的点云文件实现一次性的打开,没有做,有点麻烦,得使用MFC来做文件打开对话框。我是直接用UG里的打开文件对话框来做的。
作者: shuixing    时间: 2004-5-25 16:08
对于你的帮助十分感谢。
可以给我说一下怎么用吗?我对UG了解的很少。麻烦了。
作者: 深夜摔键盘    时间: 2004-5-25 18:11
解包之后,可得到一个名为read_mea_file的文件夹,该文件夹下有两个子文件夹,startup和application。记下这个文件夹的磁盘路径,比如你把压缩包解到了F盘中,那么就记下F:\read_mea_file
  
然后打开你的UG安装目录,找到文件夹UGII,再找到文件夹menus,在menus文件夹下可以找到custom_dirs.dat文件,用记事本打开这个文件,在这个文件的最底部添上F:\read_mea_file,最后将这个文件保存,覆盖原来的文件。
  
最后打开你的UG就可以了
作者: shuixing    时间: 2004-5-26 07:25
对于你的帮助再次表示感谢。
作者: shuixing    时间: 2004-5-26 07:53
我按你说的已经改好了,我的点应放在哪儿,另外UG的版本对这个程序有没有影响,我用的是UG NX1。
我在打开后出现如下图显示的错误信息
作者: dragondancing    时间: 2004-5-26 09:32
深夜摔键盘 wrote:
解包之后,可得到一个名为read_mea_file的文件夹,该文件夹下有两个子文件夹,startup和application。记下这个文件夹的磁盘路径,比如你把压缩包解到了F盘中,那么就记下F:\read_mea_file  
  
  然后打开你的UG安装目录,找到文件夹UGII,再找到文件夹menus,在menus文件夹下可以找到custom_dirs.dat文件,用记事本打开这个文件,在这个文件的最底部添上F:\read_mea_file,最后将这个文件保存,覆盖原来的文件。  
  
  最后打开你的UG就可以了

也需要这个,谢老兄~::y::y
另:.dll文件是不是应该要放到startup下。。
作者: herolegend    时间: 2004-5-26 09:37

我用NX2,在我的机器上可以运行的。
作者: 逆风飞扬    时间: 2004-5-26 09:42
herolegend wrote:
  
  版本的问题我不太清楚。我从一开始就用NX2,不知道写的程序能不能和NX1兼容。在我的机器上可以运行的。

我的是1.0,把dll文件放到startup下就可以了。。
作者: 深夜摔键盘    时间: 2004-5-26 09:45
入口是sta时,放在startup下
我的入口ufusr,在application中啊
作者: 逆风飞扬    时间: 2004-5-26 09:51
深夜摔键盘 wrote:
入口是sta时,放在startup下  
  我的入口ufusr,在application中啊

这个或许跟UG的版本有关吧,刚才试过了:
在1.0下,dll需要放在startup下--以前看过的一些介绍从startup下的menu文件调用的dll一般也都是直接放在starup下;
在2.0下,dll放在application下,没问题。。
作者: shuixing    时间: 2004-5-26 15:11
我的系统都重装过了,现在是WIN2000+SP4+UGNX2,怎么还是不行,还是出来那个错误提示。请再帮帮忙?
作者: 深夜摔键盘    时间: 2004-5-26 15:44
试一试这个,如果还不行,呵呵,那可没辙了。
作者: qbasic    时间: 2004-5-26 16:39
grip搞定
作者: 深夜摔键盘    时间: 2004-5-26 20:12
grip?????
呵呵,没学过啊。
不过我觉得grip似乎象UG的脚本一样啊,应该不能处理文件读写,字串处理等操作吧。
作者: shuixing    时间: 2004-5-27 07:52
深夜摔键盘 wrote:
试一试这个,如果还不行,呵呵,那可没辙了。

  
再次感谢深夜摔键盘,已经搞定了。多谢帮忙。顺便问一句,两个程序有什么不一样吗?
作者: 深夜摔键盘    时间: 2004-5-27 08:35
第一个程序我用的是MFC共享库,可能你的机器上没有装VC。
第二个,用的是静态库,程序文件体积大,把所需要的MFC的库都包了进去。
作者: shuixing    时间: 2004-5-27 09:58
是的,我没装VC。我就说嘛,人家都行,就我不行,也忒可怜了。总算你还是帮我摆平了。
作者: qbasic    时间: 2004-5-27 10:13
799.070 -362.105 -339.078
799.068 -362.104 -339.078
799.070 -362.106 -339.079
799.220 -362.123 -339.005
799.728 -362.144 -338.644
800.349 -362.154 -338.227
800.710 -362.169 -338.078
801.122 -362.185 -337.902
801.716 -362.200 -337.639
802.107 -362.214 -337.535
802.497 -362.231 -337.462
803.072 -362.243 -337.322
803.509 -362.259 -337.278
803.918 -362.275 -337.255
804.480 -362.288 -337.234
804.900 -362.304 -337.246
805.295 -362.323 -337.302
805.844 -362.335 -337.376
  
这是一个哥们给我的点
作者: qbasic    时间: 2004-5-27 10:14
entity/pt
string/sfn(30)
j10:
   $$ text/'Enter file name',sfn,rsp
   $$ jump/j10:,trm:,,,,rsp
   fetch/txt,1,'d:\grip\B.asc',iferr,er1:
   jump/j20:
er1:
   messg/'dont find the file !'
   jump/j10:
j20:
   reset/1
   delim/' '
j30:
   read/1,ifend,j50:,iferr,er2:,x,y,z
  $$ print/x,y,z
   pt=point/x,y,z
   jump/j30:
j50:
   fterm/txt,1
trm:
   halt
er2:
   messg/'read error'
   jump/j50:  
作者: qbasic    时间: 2004-5-27 10:18
这是读点云的源程序
  
将这段文奔赴制成  A.GRS 文件
  
启动UG的工具里的  UG OPEN GRIP
  
2 编译 3 连接  得到  A.GRX
  
把点云文件改为“D:\*****"
  
开个UG的新图
  
文件下执行UG/OPEN
  
搞定
作者: qbasic    时间: 2004-5-27 10:21
如图
作者: qbasic    时间: 2004-5-27 10:24
U F 太麻烦   
  
感觉GRIP 和 QBASIC 差不多, 只是语法太乱
作者: 深夜摔键盘    时间: 2004-5-27 10:54
呵呵,谢谢楼上老兄,见识了grip,比较小巧。
感觉象汇编代码。
不知道grip中,可不可以做数据结构?
比方我想把读入的点云形成一个链表,将该点云形成一个整体的组织,这样鼠标一旦击中点云区域,让整块点云高亮显示,并且程式可以返回点云列表的头指针,以方便后续处理!
作者: dragondancing    时间: 2004-5-27 10:56
qbasic wrote:
U F 太麻烦   
   
  感觉GRIP 和 QBASIC 差不多, 只是语法太乱

谢谢qbasic兄~已经编译通过~:I;)
作者: qbasic    时间: 2004-5-27 11:37
那种可以选文件的
  
entity/pt
string/sfn(30)
j10:
   text/'Enter file name',sfn,rsp
   jump/j10:,trm:,,,,rsp
   fetch/txt,1,sfn,iferr,er1:
   jump/j20:
er1:
   messg/'dont find the file !'
   jump/j10:
j20:
   reset/1
   delim/' '
j30:
   read/1,ifend,j50:,iferr,er2:,x,y,z
  $$ print/x,y,z
   pt=point/x,y,z
   jump/j30:
j50:
   fterm/txt,1
trm:
   halt
er2:
   messg/'read error'
   jump/j50:  
作者: qbasic    时间: 2004-5-27 11:41
深夜摔键盘 wrote:
呵呵,谢谢楼上老兄,见识了grip,比较小巧。  
  感觉象汇编代码。  
  不知道grip中,可不可以做数据结构?  
  比方我想把读入的点云形成一个链表,将该点云形成一个整体的组织,这样鼠标一旦击中点云区域,让整块点云高亮显示,并且程式可以返回点云列表的头指针,以方便后续处理!

  
都可以,只是我没研究那末深,清华大学出的那套书里的UG/OPEN GRIP
  
就挺好,比C和 VB的东西好上手
  
那些闷大,冰大的阵列题如果用这东西做就太简单了
作者: dragondancing    时间: 2004-5-27 11:43
qbasic wrote:
   
   
  都可以,只是我没研究那末深,清华大学出的那套书里的UG/OPEN GRIP  
   
  就挺好,比C和 VB的东西好上手  
   
  那些闷大,冰大的阵列题如果用这东西做就太简单了

::y我也试一下~:I
作者: gao2003    时间: 2004-5-27 12:54
谢!深夜摔键盘和qbasic
作者: qbasic    时间: 2004-5-27 13:07
深夜摔键盘 wrote:
grip?????  
  呵呵,没学过啊。  
  不过我觉得grip似乎象UG的脚本一样啊,应该不能处理文件读写,字串处理等操作吧。

  
现在的脚本功能强的不得了,高兴都可以用脚本写个windows,病毒啥的
作者: dragondancing    时间: 2004-5-27 13:28
qbasic wrote:
   
  
  现在的脚本功能强的不得了,高兴都可以用脚本写个windows,病毒啥的


作者: type    时间: 2004-5-27 14:31
qbasic wrote:
这是读点云的源程序  
  
  将这段文奔赴制成  A.GRS 文件  
  
  启动UG的工具里的  UG OPEN GRIP  
  
  2 编译 3 连接  得到  A.GRX  
  
  把点云文件改为“D:\*****"  
  
  开个UG的新图  
  
  文件下执行UG/OPEN  
  
  搞定

你的*****是什么?
作者: qbasic    时间: 2004-5-27 15:44
文件名呀
作者: shuixing    时间: 2004-5-27 15:48
有什么要求吗?我运行了一下,显示没找到文件,点确定就重启了。
作者: qbasic    时间: 2004-5-27 16:18
得给文本文件的绝对路径
作者: shuixing    时间: 2004-5-28 14:19
现在我的电脑只要打开UG时进入屏幕保护,再进入系统就重启,WHY?
作者: suye007    时间: 2004-6-17 23:04
“深夜摔键盘”老兄:
我也在编关于读点文件的程序,你的代码能给我发一份吗?想学习一下,拜托!sgf007@163.com




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