找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 2047|回复: 55

[求助]:MicroStation宏的问题

[复制链接]
发表于 2004-10-16 01:55:49 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

×
因为本人比较懒所以总想做一些批处理来节省手动时间。因为编了个MS的宏。

其中功能有元素加宽、线型,曲线阴线改成构造(可选是否为本层构造,即阴线与曲线的层颜色一致),改文本大小,替换单元。
可以批处理
其他功能都已实现,但唯独替换单元这一步没有搞定。请大家帮忙

还有,我单独写了一个替换单元的宏,要点击两击才可以替换成功。第一次的时候提示在库中找不到指定单元。第二次就成功。
等我把这个宏加到上一个程序中时,改成函数,调用了几次都没有成功。不知问题出在何处。(调用过5次).

跪求大家帮忙了。
小弟在此先行谢过!!*-*6
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2004-10-16 08:16:31 | 显示全部楼层
你总得把你的“宏”发上来才能让大家帮你分析呀!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

使用道具 举报

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

使用道具 举报

发表于 2004-10-18 09:14:33 | 显示全部楼层
我下载了你的程序,有20K之大,实在耐不下性子看懂它。能否简化一下,专门针对你不能解决的问题做个程序。
下图是我执行后出现的对话框。挺复杂的。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2004-10-18 12:31:12 | 显示全部楼层
首先可以先手功链接一个单元库,上面链接有提供。 之后就是下面的函数不能成功的替换。
函数中的颜色,层,单元等属性可以改成已有的共享单元的层,颜色属性。单元可改为M7511或M7312
sub repacell()
    Dim point as MbePoint
    Mbesendkeyin "REPLACE CELLS EXTENDED "
       MbeSetAppVariable "SELECTBY", "selectorGlobals.level[0]", 0&
       MbeSetAppVariable "SELECTBY", "selectorGlobals.level[1]", 0&
       MbeSetAppVariable "SELECTBY", "selectorGlobals.level[2]", 0&
       MbeSetAppVariable "SELECTBY", "selectorGlobals.level[3]", 0&
    MbeSetAppVariable "SELECTBY", "selectorGlobals.colorButton", 0&
    MbeSetAppVariable "SELECTBY", "selectorGlobals.styleButton", 0&
    MbeSetAppVariable "SELECTBY", "selectorGlobals.weightButton", 0&
    MbeSetAppVariable "SELECTBY", "selectorGlobals.typemask[0]", -1&
    MbeSetAppVariable "SELECTBY", "selectorGlobals.typemask[1]", -1&
    MbeSetAppVariable "SELECTBY", "selectorGlobals.typemask[2]", -1&
    MbeSetAppVariable "SELECTBY", "selectorGlobals.typemask[3]", -1&
    MbeSetAppVariable "SELECTBY", "selectorGlobals.typemask[4]", -1&
    MbeSetAppVariable "SELECTBY", "selectorGlobals.typemask[5]", -1&
    MbeSetAppVariable "SELECTBY", "selectorGlobals.typemask[6]", -1&
    MbeSetAppVariable "SELECTBY", "selectorGlobals.typemask[7]", -1&
    MbeSetAppVariable "REPCELL", "repCellInfo.selectMethod", 1&
    MbeSetAppVariable "REPCELL", "repCellInfo.selectMode", 0&
    MbeSetAppVariable "REPCELL", "repCellInfo.fromLibrary", -1&
    point.x = 0.0
    point.y = 0.0
    point.z = 0.0
    MbeSendCommand "selectby level " & M7511lv
    MbeSendCommand "selectby color " & M7511co
    MbeSendCommand "selectby execute "
    MbeSendCommand "REPLACE CELLS EXTENDED "
    'MbeSetAppVariable "REPCELL", "repCellInfo.selectMethod", 0&  更新
    'MbeSetAppVariable "REPCELL", "repCellInfo.selectMode", 1& 全局
    'MbeSetAppVariable "REPCELL", "repCellInfo.fromLibrary", 0& 是否使用激活单元
    MbeSetAppVariable "REPCELL", "tcb->activecell", M7511ce$
    MbeSendDataPoint point
    MbeSendCommand "selectby execute"
    MbeSendCommand "REPLACE CELLS EXTENDED "
    MbeSendDataPoint point
    MbeSendReset
       MbeSetAppVariable "SELECTBY", "selectorGlobals.level[0]", 0&
       MbeSetAppVariable "SELECTBY", "selectorGlobals.level[1]", 0&
       MbeSetAppVariable "SELECTBY", "selectorGlobals.level[2]", 0&
       MbeSetAppVariable "SELECTBY", "selectorGlobals.level[3]", 0&
    MbeSetAppVariable "SELECTBY", "selectorGlobals.colorButton", 0&
    MbeSetAppVariable "REPCELL", "tcb->activecell", M7312ce$
    MbeSendCommand?selectby level " & M7312lv
    MbeSendCommand?selectby color " & M7312co
    MbeSendCommand "selectby execute"
    MbeSendCommand "REPLACE CELLS EXTENDED "
    MbeSendDataPoint point
    MbeSendCommand "selectby execute"
    MbeSendCommand "REPLACE CELLS EXTENDED "
    MbeSendDataPoint point
    MbeSendReset
end sub

不知问题出现在哪里!我在调 试的时候如果在执行前先把替换单元的工具条点起后,一次就可以替换成功
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-10-19 08:57:03 | 显示全部楼层
头都给我看大了,看起来有时候宏比MDL还复杂!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2004-10-19 12:25:20 | 显示全部楼层
其实也就是命令的序列。就像dos下的批处理一样

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

使用道具 举报

发表于 2004-10-20 08:45:27 | 显示全部楼层
你的宏是在V7下还是V8下?我在V7下单步执行时到
MbeSendCommand "selectby level " & M7511lv 出错!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2004-10-20 12:16:34 | 显示全部楼层
v7下的,因为M7511LV,M7511co,M7511ce,M7312lv,M7312co,M7312ce那些都是全局变量,替换成常量就可以了
MbeSendCommand "selectby level " & M7511lv
你可以把它改成已有图中共享单元的属性。比如有一共享单元11,在6层34色
MbeSendCommand "selectby level 6"
MbeSendCommand "selectby color 34"
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-10-21 08:16:11 | 显示全部楼层
共享单元的颜色与普通单元不一样呀!所以通过颜色选取无法选中共享单元!
你的问题可能出在这里了!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-10-21 13:01:25 | 显示全部楼层
可能不是这个问题,
引用gdzhou  

“还有,我单独写了一个替换单元的宏,要点击两击才可以替换成功。第一次的时候提示在库中找不到指定单元。第二次就成功。
等我把这个宏加到上一个程序中时,改成函数,调用了几次都没有成功。不知问题出在何处。(调用过5次).
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2004-10-21 13:10:52 | 显示全部楼层
从CAD中导入MS中,点就变成了共享单元11,可以选得上的。
问题好像就出现在,如果我事先把替换单元的那个工具点上,就是出现那个对话框。
程序就可以替换成功
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-10-21 13:39:21 | 显示全部楼层
从CAD向MS导入时有选项可以控制不导成共享单元而为普通单元!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-25 13:03 , Processed in 0.527027 second(s), 60 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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