Сделал тестовую команду для выбора набора объектов (тестирую в acad 2014).
Тест выбирает блоки с именем PSM_RED_PIKET в слое _PSM_RED_PIKET
Тест работает успешно во всех файлах
Но в одном файле работать не хочет
объекту sel.Value возвращается Nothing
Прикрепить файл целиком пока не могу по двум причинам:
1. Он большой 36 Мб
2. Файл может представлять коммерческую тайну предприятия.
Делаю _PURGE (с учетом вложенных удалений), _AUDIT, SAVEAS
Если я вырезаю большую часть объектов оставляя незначительную часть этого файла и делаю _PURGE, то все работает.
Смысла нет выкладывать на форум маленький кусочек - если в нем все получается хорошо.
А вот с другими аргументами к примеру выборка из другого слоя к примеру для объектов типа
ELLIPSE - все работает хорошо.
Подскажите что еще можно сделать с этим файлом что бы выборка получилась?
Вот код теста
Imports CAD_RTM = Autodesk.AutoCAD.Runtime
Imports CAD_EDI = Autodesk.AutoCAD.EditorInput
Imports CAD_DBS = Autodesk.AutoCAD.DatabaseServices
Imports CAD_APS = Autodesk.AutoCAD.ApplicationServices
<CAD_RTM.CommandMethod("TEST_SEL")> _
Public Sub COMM_GET_SEL()
Try
Dim filter As CAD_EDI.SelectionFilter = _
New CAD_EDI.SelectionFilter({New CAD_DBS.TypedValue(CAD_DBS.DxfCode.Start, "INSERT"), _
New CAD_DBS.TypedValue(CAD_DBS.DxfCode.LayerName, "_PSM_RED_PIKET"), _
New CAD_DBS.TypedValue(CAD_DBS.DxfCode.BlockName, "PSM_RED_PIKET")})
Dim acDocMgr As CAD_APS.DocumentCollection = CAD_APS.Application.DocumentManager
Dim sel As CAD_EDI.PromptSelectionResult = acDocMgr.MdiActiveDocument.Editor.SelectAll(filter)
MsgBox("выбрано: " & sel.Value.Count & " элементов")
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub