明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1819|回复: 2

[求助]如何在为已有块添加属性后自动更新?

[复制链接]
发表于 2009-4-17 21:54:00 | 显示全部楼层 |阅读模式
本帖最后由 作者 于 2009-4-17 21:57:02 编辑

因工作需要
我想给一张图原有块添加相关属性
下面代码给名为TestBlock的块添加一个属性

Sub blockTest()
    Dim blockObj As AcadBlock
    Dim attObj As AcadAttribute
    Dim i As Integer
    
    ' Define the attribute definition
    Dim attributeObj As AcadAttribute
    Dim height As Double
    Dim mode As Long
    Dim prompt As String
    Dim insertionPoint(0 To 2) As Double
    Dim tag As String
    Dim value As String
    height = 1#
    mode = acAttributeModeVerify
    prompt = "Attribute Prompt"
    insertionPoint(0) = 5#: insertionPoint(1) = 5#: insertionPoint(2) = 0
    tag = "Attribute Tag"
    value = "Attribute Value"
    
    ' Create the attribute definition object in model space

    
    For i = 3 To ThisDrawing.Blocks.Count - 1
        If (ThisDrawing.Blocks.Item(i).Name = "TestBlock") Then
            Set blockObj = ThisDrawing.Blocks.Item(i)
            Set attributeObj = blockObj.AddAttribute(height, mode, prompt, insertionPoint, tag, value)
            attributeObj.Update
            Exit Sub
        End If
    Next i
End Sub

执行完上述代码后选中该块的一个块引用(block reference)查看其特性(properties)看不到刚添加的属性(Attribute)
如下图:


必须在“块属性管理器”中点“同步”后才行

请问如何才能用VBA实现为原有块添加属性后立即能从其块引用的特性(properties)里看到
即实现“块属性管理器”中点“同步”的功能??
多谢!!



本帖子中包含更多资源

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

x
发表于 2009-4-18 09:41:00 | 显示全部楼层

删掉块引用,重新插入一遍

 楼主| 发表于 2009-4-18 10:47:00 | 显示全部楼层
呵呵
多谢飞狐斑竹:)
我试下先
有没办法不重新插入就可以自动同步啊?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-26 02:38 , Processed in 0.154165 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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