找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 478|回复: 8

[VBA函数]:[VBA函数]:求助:急!可以用VBA函数得到microstation几何面的几何信息么

[复制链接]
发表于 2005-3-21 17:29:04 | 显示全部楼层 |阅读模式

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

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

×
急!可以用VBA函数得到microstation几何面的几何信息么!如何才能得到microstation当前文件的所有几何信息!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2005-3-22 07:40:12 | 显示全部楼层
我觉得你在提问前最好仔细阅读MicroStation VBA手册,这些基本问题都有说明和例子的。

Scanning the design file for elements
The ModelReference class has a Scan function that can be used with or without an ElementScanCriteria object. The difference is that when you use it without the ElementScanCriteria, you get the set of all elements within the model and you have to sort out which ones you want to process. The ElementScanCriteria lets you filter out the elements you do not want to process so the Scan function returns only those elements that meet your criteria. Here again, we use the ElementEnumerator to receive the objects from the Scan function.

This example finds only the elements with color 3. Once found, these elements are changed to color 2, redrawn and rewritten to the design file.

Public Sub changeColor()
   Dim oElScan As ElementScanCriteria
   Dim oElEnum As ElementEnumerator
   Dim oEl As Element
   Set oElScan = New ElementScanCriteria
   oElScan.ExcludeAllColors
   oElScan.IncludeColor 3
   Set oElEnum = ActiveModelReference.Scan (oElScan)
   oElEnum.Reset
   While oElEnum.MoveNext
      Set oEl = oElEnum.Current
      'Change the color of the element
      oEl.Color = 2
      oEl.Redraw msdDrawingModeNormal
      oEl.Rewrite
   Wend
End Sub
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-3-22 11:50:40 | 显示全部楼层
谢谢指点!该方法我已试过,线的信息可以得到!但一个曲面尤其是自由曲面的信息不知道怎么取!我可以找得到面!就是不知道如何取它的数据
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

 楼主| 发表于 2005-3-22 17:48:29 | 显示全部楼层
刚刚录制了一些宏,展示的仅仅是建模的过程。我要做的事情是把已存在的DGN文件转换成另外一种文件格式。因此要全面得到DGN模型的信息。我在读VBA手册时,发现面有好几种类型,而Object中仅有样条曲面,而solid object 也没有。至今还没找到合适的方法获取3D图形的几何数据.
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-3-23 09:26:03 | 显示全部楼层
我记得VBA功能是有限制的,许多三维功能不能用,估计曲面参数也不太容易取出。要做复杂的应用,还是得选用MDL。
当然,随着MS版本的升级,VBA功能也在不断增强,需要细心跟踪。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

使用道具 举报

 楼主| 发表于 2005-3-24 10:26:48 | 显示全部楼层
我已成功获得自己用MDL画的一个球,圆,线的数据!现在我面临的问题是如何分层读取已知文件的各元素信息!每一个mdl×××_extract函数均有一个入口。这个入口表示读取的对象。怎么确定这些对象!怎么遍历一张图纸的所有元素!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-10-15 17:20 , Processed in 0.249839 second(s), 48 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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