Создание набора выбранных объектов

Olga94
отредактировано 21 Aug Раздел: API

Здравствуйте Уважаемые специалисты NanoCAD!

Подскажите пожалуйста, почему в строке "For I = 0 To acadDoc.SelectionSets.Count - 1" ошибка? (vba excel)

Dim acadApp As nanoCAD.Application
Dim acadDoc As nanoCAD.Document

On Error Resume Next
Set acadApp = GetObject(, "nanoCAD.Application")
On Error GoTo 0

acadApp.Visible = True

Dim objSelectionSet As SelectionSet
Dim EntGroup(0 To 0) As Integer
Dim EntData(0 To 0) As Variant

EntGroup(0) = 0
EntData(0) = "INSERT"

For I = 0 To acadDoc.SelectionSets.Count - 1
If acadDoc.SelectionSets.Item(I).Name = "TempSSet" Then acadDoc.SelectionSets("TempSSet").DELETE
Next I

Set objSelectionSet = acadDoc.SelectionSets.Add("TempSSet")
objSelectionSet.SelectOnScreen EntGroup, EntData

Как в nanoCAD создать набор выбранных объектов?

Тэги темы:

Ответы

  • это посмотри

  • Olga94
    отредактировано 21 Aug

    Не получается пока!

  • что конкретно не получается?

    выше 100% рабочий код дал

  • Olga94
    отредактировано 21 Aug

    Ошибка (Nothing) на строке "Set objSelCol = ThisDrawing.SelectionSets" и "Set objSelSet = ThisDrawing.SelectionSets.Add(strName)"

  • doctorRAZ
    отредактировано 21 Aug

    Стесняюсь спросить ты файлы в эксель импортировала? Или частями вставила?

    Это

    Public ThisDrawing As Object

    Должно быть вне функции

  • так пробуй

  • Ничего не происходит- ни запросов, ни ошибок

  • дык в отладчике пробуй F8 по шагам, пока не поймешь как это работает

    тактто со справки надо начинать

    там даже примеры есть

  • doctorRAZ
    отредактировано 21 Aug

    хех, движок форума не дает *.chm загрузить((((

  • Olga94
    отредактировано 21 Aug

    Спасибо, разобралась, выбор идет.

    On Error GoTo 0
    Set app = GetObject(, "nanoCAD.Application")
    app.Visible = True
    Set ThisDrawing = app.ActiveDocument

    'Выбрать блоки на чертеже:
    On Error Resume Next
    Set ssetObj = ThisDrawing.SelectionSets.Item("BlockSSET")
    If Err Then Set ssetObj = ThisDrawing.SelectionSets.Add("BlockSSET")
    On Error GoTo 0
    ssetObj.Clear

    'Настройка фильтра:
    gpCode(0) = 0
    dataValue(0) = "Insert"

    'Выбранные блоки:
    ssetObj.SelectOnScreen gpCode, dataValue

    If ssetObj.Count > 0 Then
    ...

    Дополнительно спасибо за справки.