本帖最后由 marting 于 2017-2-27 22:31 编辑
你应该对BlockReference 对象操作,而不是Entity
下面是个例子,你对照下看看
Sub Example_XScaleFactor()
' This example creates a block containing a circle.
' It then inserts the block and changes the XScaleFactor.
' Create the block
Dim blockObj As AcadBlock
Dim insertionPnt(0 To 2) As Double
insertionPnt(0) = 0#: insertionPnt(1) = 0#: insertionPnt(2) = 0#
Set blockObj = ThisDrawing.Blocks.Add(insertionPnt, "CircleBlock")
' Add a circle to the block
Dim circleObj As AcadCircle
Dim center(0 To 2) As Double
Dim radius As Double
center(0) = 0: center(1) = 0: center(2) = 0
radius = 1
Set circleObj = blockObj.AddCircle(center, radius)
' Insert the block
Dim blockRefObj As AcadBlockReference
insertionPnt(0) = 2#: insertionPnt(1) = 2#: insertionPnt(2) = 0
Set blockRefObj = ThisDrawing.ModelSpace.InsertBlock(insertionPnt, "CircleBlock", 1#, 1#, 1#, 0)
' Find the current XScaleFactor for the block reference
Dim currXScaleFactor As Double
currXScaleFactor = blockRefObj.XScaleFactor
ZoomAll
MsgBox "The current XScaleFactor for the block reference is " & blockRefObj.XScaleFactor, , "XScaleFactor Example"
' Change the XScaleFactor for the block reference
blockRefObj.XScaleFactor = currXScaleFactor + 2
ZoomAll
MsgBox "The new XScaleFactor for the block reference is " & blockRefObj.XScaleFactor, , "XScaleFactor Example"
End Sub
|