您好,
已经研究过了,我从网上的其他地方复制了一些代码(红色),并出于自己的目的对其进行了修改:
- Private Sub cmdUpdateTitleblock_click()
- [color=red]'Draworder the LOGO to the back..
- Dim eDictionary As Object
- Dim sentityObj As Object
- Dim A3_STB(0), A2_STB(0), A1_STB(0) As AcadObject
- Set eDictionary = ThisDrawing.PaperSpace.GetExtensionDictionary
- Set sentityObj = eDictionary.GetObject("ACAD_SORTENTS")
- Set sentityObj = eDictionary.AddObject("ACAD_SORTENTS", "AcDbSortentsTable")[/color]
- ' Loop through every layout in the drawing..
- ThisDrawing.ActiveSpace = acPaperSpace
- For Each layoutX In ThisDrawing.Layouts
- If layoutX.Name "Model" Then 'Disregard ModelSpace..
- ThisDrawing.ActiveLayout = layoutX
-
- ' Start main loop to get attribute values for the attributes..
- For Each entX In ThisDrawing.PaperSpace
- ' If the found object is a block..
- If entX.EntityName = "AcDbBlockReference" Then
- ' Check for correct titleblocks and insert logos. Also, set draworder for blocks to movetobottom..
- Select Case entX.Name
- Case "A1 - AbiCAD Titleblock"
- A1logo_IP(0) = 446.415: A1logo_IP(1) = 17.085: A1logo_IP(2) = 0
- Set blockLOGO_A1 = ThisDrawing.Blocks.Item("A1 - AbiCAD Titleblock").InsertBlock(A1logo_IP, LogoPath, 1#, 1#, 1#, 0)
- blockLOGO_A1.Layer = "ABI-BORDER"
- blockLOGO_A1.Update
- [color=red]Set A1_STB(0) = blockLOGO_A1
- sentityObj.MoveToBottom A1_STB[/color]
- AcadApplication.Update
- GoTo RUN_TBE
-
- Case "A2 - AbiCAD Titleblock"
- A2logo_IP(0) = 183.049: A2logo_IP(1) = 5: A2logo_IP(2) = 0
- Set blockLOGO_A2 = ThisDrawing.Blocks.Item("A2 - AbiCAD Titleblock").InsertBlock(A2logo_IP, LogoPath, 1#, 1#, 1#, 0)
- blockLOGO_A2.Layer = "ABI-BORDER"
- blockLOGO_A2.Update
- [color=red]Set A2_STB(0) = blockLOGO_A2
- sentityObj.MoveToBottom A2_STB[/color]
- AcadApplication.Update
- GoTo RUN_TBE
-
- Case "A3 - AbiCAD Titleblock"
- A3logo_IP(0) = 9.442: A3logo_IP(1) = 5: A3logo_IP(2) = 0
- Set blockLOGO_A3 = ThisDrawing.Blocks.Item("A3 - AbiCAD Titleblock").InsertBlock(A3logo_IP, LogoPath, 1#, 1#, 1#, 0)
- blockLOGO_A3.Layer = "ABI-BORDER"
- blockLOGO_A3.Update
- [color=red]Set A3_STB(0) = blockLOGO_A3
- sentityObj.MoveToBottom A3_STB[/color]
- AcadApplication.Update
- GoTo RUN_TBE
- End Select
-
- RUN_TBE:
- 'blah blah blah more code here for other stuff...
- End Sub
但这段代码在';sentityObj。移动到底部A3#U机顶盒''sentityObj。移动到底部A2#U机顶盒#039&'sentityObj。移动到底部A1#U机顶盒#039;行,说明:
&039;无效输入#039
怎么了?是将徽标块插入到另一个块(嵌套块)中,还是有简单的解决方案
有什么想法吗
  ;大家好,Paul basepointdesignzltd |