1、根据图块名过滤
Dim tksTV(0) As DatabaseServices.TypedValue tksTV.SetValue(New DatabaseServices.TypedValue(DatabaseServices.DxfCode.BlockName, tkNames), 0) Dim tksFilter As New EditorInput.SelectionFilter(tksTV) Dim tksPSR As Autodesk.AutoCAD.EditorInput.PromptSelectionResult tksPSR = doc.Editor.GetSelection(tksFilter)
2、选择图块
Dim doc As Autodesk.AutoCAD.ApplicationServices.Document = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument Dim pso As PromptSelectionOptions = New PromptSelectionOptions() With pso .RejectObjectsOnLockedLayers = True .AllowSubSelections = False .MessageForAdding = "选择图块" .MessageForRemoval = "选择图块" End With Dim filList() As TypedValue = {New TypedValue(0, "Insert")} Dim filter As New SelectionFilter(filList) Dim psr As PromptSelectionResult = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument.Editor.GetSelection(pso, filter) If Not psr.Status = PromptStatus.OK Then doc.Editor.WriteMessage(vbLf & "命令:") Exit Sub End If