明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2302|回复: 5

VBA编用户界面赋值

[复制链接]
发表于 2009-11-4 10:57:00 | 显示全部楼层 |阅读模式
VBA编用户界面赋值
论坛里曾有人问如何使用VBA编用户界面赋值给已经建模好的实体。最近看了一下API帮助,可以实现了,代码可参照2楼。
现在我在装配中想修改部件的尺寸还想修改配合尺寸。
修改部件的尺寸不知道如何实现?上传了文件,Inventor2008的,请大家有空帮忙看看,谢谢


还有一个问题想探讨,我们这个软件用的人少,主要用AutoCAD,刚起步。所以想做这个输入界面,但是不知道用VBA或者EXCEL还是直接在fx中定义用户参数衍生关联好?综合考虑反应速度,使用方便,可扩展性还是VBA比较好。不知道使用经验丰富的用户如何考虑?
修改部件的代码
Private Sub CommandButton1_Click()
  ' Obtain the active document, this assumes
    ' that a part document is active in Inventor.
    Dim oPartDoc As Inventor.PartDocument
    Set oPartDoc = ThisApplication.ActiveDocument

    ' Obtain the Parameters collection
    Dim oParams As Parameters
    Set oParams = oPartDoc.ComponentDefinition.Parameters

    ' Obtain the Model Parameters collection
    Dim oModelParams As ModelParameters
    Set oModelParams = oParams.ModelParameters


    ' Change the value of the newly named parameter "param1"
    oModelParams.Item("d0").Value = TextBox1.Text
    oModelParams.Item("d1").Value = TextBox2.Text
    oModelParams.Item("d2").Value = TextBox3.Text
    ' Update the model.
    oPartDoc.Update
End Sub
发表于 2009-11-6 19:52:00 | 显示全部楼层
我来占一楼,等着看你的二楼!^-^
 楼主| 发表于 2009-11-8 12:25:00 | 显示全部楼层

代码实现,能修改ipt和iam中的参数

Private Sub command_Click()
 Dim oAssDoc As Inventor.AssemblyDocument
    Set oAssDoc = ThisApplication.ActiveDocument

    Dim oParams As Parameters
    Set oParams = oAssDoc.ComponentDefinition.Parameters

    Dim oModelParams As ModelParameters
    Set oModelParams = oParams.ModelParameters

    oModelParams.Item("d0").Value = TextBox6.Text
  
   '-----------------------
    Dim part As Inventor.PartDocument
    Set part = ThisApplication.Documents.Open("E:\part1.ipt", False)
   
    Dim partParams As Parameters
    Set partParams = part.ComponentDefinition.Parameters

    Dim part1Params As ModelParameters
    Set part1Params = partParams.ModelParameters

    part1Params.Item("d0").Value = TextBox1.Text
    part1Params.Item("d1").Value = TextBox2.Text
    part1Params.Item("d2").Value = TextBox3.Text
    '-----------------------
  
    oAssDoc.Update
End Sub

发表于 2009-11-8 16:37:00 | 显示全部楼层
哈哈!原来我把2楼占了,把你挤到3楼了……
发表于 2009-11-18 16:47:00 | 显示全部楼层

正想学习这方面的知识,不知楼主能否做个模型给参考学习一下!

新人能力不足啊,不敢乱改,期待中。。。

 楼主| 发表于 2009-11-19 08:34:00 | 显示全部楼层

我也是刚学的,没两天。

正在做模型了,能读取外部计算数据的。可能要过一阵才能做好,最近工作比较忙。

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

本版积分规则

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

GMT+8, 2024-12-20 00:12 , Processed in 0.187242 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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