找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

楼主: gdzhou

[求助]:MicroStation宏的问题

[复制链接]
发表于 2004-10-26 07:59:34 | 显示全部楼层
试的结果怎样?应该没有问题了吧?!这个问题已经持续了很长时间了。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-10-26 09:09:55 | 显示全部楼层
试了一下有个问题,提示:“错误:溢出”
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2004-10-26 10:51:12 | 显示全部楼层
而且只能适用于现有单元存在于单元库中的。

我在图中没有替换过的单元,又放了一个单元库中的单元。
用你的程序试了一下,结果只重画了单元库中已有的单元。
原图中的单元也被选中最后没有替换成功反而被删除了。

注:我把你的程序改了一下,按属性选择时类型改为:单元和共享单元。了
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-10-26 10:56:13 | 显示全部楼层
不会吧!我们是从DGN中提取单元,这时与单元库没有关系,放置单元时才从库中取!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2004-10-26 15:35:12 | 显示全部楼层
可是我的改的只是选择时候的类型啊,只是加了一个共享单元也没有做什么
因为我如果没有把共享单元一项选上的话就选不到我要替换的。

但是选上之后放置的时候没有成功。删除到是成功了!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-10-26 18:19:07 | 显示全部楼层
我以前用MDL做了一个单元替换的程序,当时也是只能替换库里有的单元,不过我做了判断把单元库里没有的符号保留下来了。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2004-10-26 23:54:08 | 显示全部楼层
其实我的目的只有一个!就是把测图测出来的高程点单元在DGN中替换成随机点或特征点的单元
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-10-27 08:11:02 | 显示全部楼层
你们也不仔细看一看我辛辛苦苦写的程序(伤心之极!),其中没有判断elem.type为共享单元呀!加上不就行了!如下程序替换单元M2219为DECID。当然前提是含有DECID单元的单元库要事先连上。

Sub Main
   Dim elemSet as New MbeElementSet
   Dim setMember as MbeSetMember
   Dim elem as New MbeElement
   Dim point As MbePoint

   MbeSendCommand "SELECTBY SETTINGS CELL "
   MbeSetAppVariable "SELECTBY", "selectorGlobals.cellName", "M2219"
   MbeSendCommand "SELECTBY SETTINGS SHAREDCELL "
   MbeSetAppVariable "SELECTBY", "selectorGlobals.sharedcellname", "M2219"
   MbeSendCommand "SELECTBY EXECUTE "

   MbeSetAppVariable "", "tcb->activecell", "DECID"
   tmpStatus = elemSet.fromSelectionSet(0)
   status = elemSet.getFirst(setMember)
   Do While status = MBE_Success
      tmpStatus = elem.fromFile(setMember.filePos, setMember.fileNum)
      If elem.type = MBE_CellHeader Or elem.type = MBE_SharedCell Then
         tmpStatus = elem.getOrigin(point)
         MbeSendCommand "PLACE CELL ICON "
         MbeSendDataPoint point
      End If
      status = elemSet.getNext (setMember)
    Loop
   
    MbeSendCommand "DELETE"   
End Sub
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-10-27 09:03:31 | 显示全部楼层
呵呵,主要是你的后几步那些对我来说有点高深了,没看明白elem.fromFile(setMember.filePos, setMember.fileNum)
等等这类是什么意思?

好了我再去试试
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-10-27 09:09:55 | 显示全部楼层
elem.FromFile就是根据文件位置(setMember.filePos)和文件号(setMember.fileNum)读取元素,为随后的elem.type和elem.getOrigin做准备。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-10-27 09:51:35 | 显示全部楼层
噢,现在成功了!谢谢!!
不过还有个小问题不知道为什么?

在512内存的机子上试,再循环到最后一个的时候提示我“错误:溢出”
在1G内存的机子上试,就没有问题是怎么回事呢?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-10-27 11:41:46 | 显示全部楼层
奇怪,我的机子才256M内存!肯定不是内存大小的问题。你可跟踪执行,看出现错误的是哪一行。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-10-27 12:02:58 | 显示全部楼层
就是执行到选择集中最后一个
tmpStatus = elem.fromFile(setMember.filePos, setMember.fileNum)
这一行
还有,我把程序改成函数来调用,怎么一到这一行就出错呢

你有QQ吗??
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-10-27 13:52:33 | 显示全部楼层
那就在这一行前加上对setMember.filePos的判断,跟踪一下你的程序,看这时的setMember.filePos是一个什么样的值。
我单位屏蔽ICQ和MSN,无法使用。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-10-27 14:19:13 | 显示全部楼层
可以改端口的啊!反正你的是可以上网的!你就使用tcp端口80就行啦

不行了,我调不出来了!!


救命了!MS迷
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2025-9-10 14:02 , Processed in 0.257576 second(s), 54 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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