Sets the attribute value for an attribute in a block contained within a MLeader or Table object.
Supported platforms: Windows only
VBA:
object.SetBlockAttributeValue attdefId, value
Type: MLeader
The object this method applies to.
Access: Input-only
Type: Long_PTR
The attribute definition ID.
Access: Input-only
Type: String
The new attribute value.
VBA:
object.SetBlockAttributeValue row, col, attdefId, StringValue
Type: Table
The object this method applies to.
Access: Input-only
Type: Long
The row in the table.
Access: Input-only
Type: Long
The column in the table.
Access: Input-only
Type: Long_PTR
The object ID of the attribute definition.
Access: Input-only
Type: String
The attribute value.
No return value.
No additional remarks.
VBA:
Sub Example_Blockttribute()
' This example creates an MLeader object and gets and sets values for
' the block attribute type.
Dim points(0 To 5) As Double
points(0) = 0: points(1) = 4: points(2) = 0
points(3) = 1.5: points(4) = 5: points(5) = 0
Dim i As Long
Dim oML As AcadMLeader
Set oML = ThisDrawing.ModelSpace.AddMLeader(points, i)
oML.ContentType = acBlockContent
oML.ContentBlockType = acBlockBox
Dim sBlock As String
sBlock = oML.ContentBlockName
Dim o As AcadEntity
For Each o In ThisDrawing.Blocks(sBlock)
If o.ObjectName = "AcDbAttributeDefinition" Then
oML.SetBlockAttributeValue o.ObjectID, "123"
MsgBox oML.GetBlockAttributeValue(o.ObjectID)
End If
Next o
Update
ZoomExtents
End Sub
Visual LISP:
(vl-load-com)
(defun c:Example_BlockAttribute()
;; This example creates an MLeader object and gets and sets values for
;; the block attribute type.
(setq acadObj (vlax-get-acad-object))
(setq doc (vla-get-ActiveDocument acadObj))
(setq points (vlax-make-safearray vlax-vbDouble '(0 . 5)))
(vlax-safearray-fill points '(0 4 0
1.5 5 0
)
)
(setq i 0)
(setq modelSpace (vla-get-ModelSpace doc))
(setq oML (vla-AddMLeader modelSpace points i))
(vla-put-ContentType oML acBlockContent)
(vla-put-ContentBlockType oML acBlockBox)
(setq sBlock (vla-get-ContentBlockName oML))
(vlax-for o (vla-Item (vla-get-Blocks doc) sBlock)
(if (= (vla-get-ObjectName o) "AcDbAttributeDefinition")
(progn
(vla-SetBlockAttributeValue oML (vla-get-ObjectID o) "123")
(alert (vla-GetBlockAttributeValue oML (vla-get-ObjectID o)))
)
)
)
(vla-Update acadObj)
(vla-ZoomExtents acadObj)
)