明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1776|回复: 2

[求助]VBA与MDT

[复制链接]
发表于 2006-6-9 14:25:00 | 显示全部楼层 |阅读模式

       小弟编写了一个VBA程序,用来连接VB和MDT,现在遇到一点问题,就是我那个在MDT里建立的零件模型已经设置好参数变量了,我设置的是全局变量,现在要用VBA程序将我创建的EXCEL电子表格和MDT零件模型连接,以驱动模型,但是在程序运行的时候总是抱错,EXCEL电子表格总是无法连接,明天就要交了,今天还是做不出来呀,有高手帮忙吗???救命哦!!

我的源程序如下:

'插入零部件
Sub InsertComp()
'定义 MDT 主变量
Dim dd As New HIWIN.Class1   (HIWIN为我编写的VB程序编译成的DLL文件)
Dim snn As String
dd.Main
snn = dd.Name


Dim mapp As McadApplication
Set mapp = ThisDrawing.Application.GetInterfaceObject("mcad.application")

'定义位置
Dim Ge As New GeApplication '引入位置对象
Dim Pos As GeMatrix '控制不见位置
Dim UserPoint As Variant '用户插入位置
Dim Ver As GeVector '部件位置转换向量

Set Pos = Ge.Matrix
UserPoint = ThisDrawing.Utility.GetPoint(, "选择插入点:")
Set Ver = Ge.Vector(UserPoint(0), UserPoint(1), UserPoint(2))
Pos.SetToTranslation Ver

'引入外部文件
Dim CompDef As McadComponentDefinition
Set CompDef = mapp.ActiveDocument.AssemblyMgr.AddCompDefFromFile("c:\temp\00.dwg")

'提取根目录文件
Dim Target As McadComponentDefinition
Set Target = mapp.ActiveDocument.AssemblyMgr.ActiveDefinition

'将文件添加到根目录中
Target.AddComponent CompDef, Pos

'内部化外部零件为内部零件
CompDef.Localize

'取出刚插入的零件
Dim Comp As McadComponent
Set Comp = Target.Children(Target.Children.Count - 1)

'取出该部件的零件
Dim part1 As McadPart
Set part1 = Comp.Children(0).Definition.Body

'更新表连接
part1.UpdateLink  (每次都是这里抱错!!!)
'更新指定版本
part1.LinkedFile.VersionedObject.ActiveVersion = "一般"   

 (这语句中打完"."之后没有出现可以选择"ActiveVersion"的复选框)
'更新零件
part1.Update

End Sub

发表于 2006-6-9 15:17:00 | 显示全部楼层

activeVersion属性好像只是Mcadpart的属性,不知道你为什么用到VersionedObject上了。。。。。

part1.ActiveVersion="一般"

是不是你更新表连接的时候,本身读入文件就会丢失原来的表连接呢?

 楼主| 发表于 2006-6-10 14:16:00 | 显示全部楼层

可是原来是没有表连接的呀?
总之很头疼呀...我真的是一点都不太懂呀?

您能告诉我怎么才能让零件更新呢

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

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-27 02:29 , Processed in 0.165843 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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