设置 MLeader 或 Table 对象中包含的块中的属性的属性值。 支持的平台:仅窗口 签名 - MLeader工 务 局: object.SetBlockAttributeValue attdefId, value
签名 - 表工 务 局: object.SetBlockAttributeValue row, col, attdefId, StringValue
返回值(RetVal)无返回值。 言论没有额外的评论。 ExamplesVBA: 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)
)
|
|Archiver|CAD开发者社区
( 苏ICP备2022047690号-1 苏公网安备32011402011833)
GMT+8, 2025-10-29 06:05
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.