关于 AddAttribute 使用
Dim rkBlock As AcadBlockDim a As AcadBlock
Set rkBlock = AcadApplication.ActiveDocument.Blocks.Item("房间块")
Dim rkbattr As AcadAttribute
Dim rkhet As Double
Dim rkbit As Variant
rkhet = 3
rkbit = Array(-10, 2, 0) '定义变量,将数组赋值给变量,用于坐标
Set rkbattr = rkBlock.AddAttribute(rkhet, 0, "信号功能代码:", rkbit, "1231", "123")
各位大神,如上,是我的代码
第一组:将定义的块 赋值rkblock
第二组:准备给块添加属性
问题出来了,总是提示AddAttribute未定义,看了deepseek,要求使用acadblocktable。
但 cad vba 里面没有啊。怎么办?
我的环境 cad 2016 ,vba已安装,库文件cad 2016 type library已经引用。
感谢各位大神
怎么改了一下,就不见了 Dim rkBlock As AcadBlock
Dim a As AcadBlock
On Error Resume Next
Set rkBlock = AcadApplication.ActiveDocument.Blocks.Item("房间块")
If Err Then
Err.Clear
MsgBox "未找到名为:“房间块”的块", 48, "提示"
End
Else
Dim rkbattr As AcadAttribute
Dim rkhet As Double
'Dim rkbit As Variant
'rkhet = 3
'rkbit = Array(-10, 2, 0) '定义变量,将数组赋值给变量,用于坐标
'Set rkbattr = rkBlock.AddAttribute(rkhet, 1, "信号功能代码:", rkbit, "1231", "123")
rkhet = 3
Dim rkbit(2) As Double
rkbit(0) = -10: rkbit(1) = 2: rkbit(2) = 0
Set rkbattr = rkBlock.AddAttribute(rkhet, acAttributeModeNormal, "信号功能代码:", rkbit, "1231", "123")
AcadApplication.ActiveDocument.Regen acActiveVieeport
End If 本帖最后由 yshf 于 2025-3-1 14:15 编辑
改为下面的试一试
yshf 发表于 2025-3-1 14:18
怎么改了一下,就不见了
太牛了,我把块名“房间块” 替换成我的 “左侧房间块”,程序顺利运行下去了。:handshake
页:
[1]