Olga94
21.Август.2024 09:25:07
1
Здравствуйте Уважаемые специалисты 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 создать набор выбранных объектов?
Не получается пока!
Вообще идея такая, переделать под NanoCAD файл:
https://antondevyatov.blogspot.com/2017/11/cadex.html
Здесь можно скачать бесплатную версию.
что конкретно не получается?
выше 100% рабочий код дал
Olga94
21.Август.2024 11:27:08
5
Ошибка (Nothing) на строке “Set objSelCol = ThisDrawing.SelectionSets” и “Set objSelSet = ThisDrawing.SelectionSets.Add(strName)”
Стесняюсь спросить ты файлы в эксель импортировала? Или частями вставила?
Это
Public ThisDrawing As Object
Должно быть вне функции
так пробуй
selset-xlsm.zip (13,7 КБ)
Olga94
21.Август.2024 12:21:52
8
так пробуй
Ничего не происходит- ни запросов, ни ошибок
дык в отладчике пробуй F8 по шагам, пока не поймешь как это работает
тактто со справки надо начинать
там даже примеры есть
хех, движок форума не дает *.chm загрузить((((
Olga94
21.Август.2024 18:10:55
11
Спасибо, разобралась, выбор идет.
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
…
Дополнительно спасибо за справки.