|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
VBA Выбор блоков по имени
Регистрация: 18.04.2011
Сообщений: 35
|
||
Просмотров: 7977
|
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,404
|
Можно. Проходишь по блоку текущего пространства и собираешь нужные тебе элементы.
Или, опять же, в SelectionSets есть, насколько я помню, нечто типа SelectAll - посмотри документацию.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 18.04.2011
Сообщений: 35
|
|
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,404
|
Не выдумывай
![]()
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Инженер Регистрация: 02.10.2008
С-Пб
Сообщений: 3,692
|
Товарищи, сто лет не программировал, подскажите.. Задачка - быстро убить все вхождения блока в файле. SelectBlock впихивает в набор все динблоки, если "varData(1) = "`*U*," & name_Blck", либо - если "varData(1) = "name_Blck" - не включает нужный динблок. Приходится перебирать и проверять по EffectiveName. Нет ли какого способа более грамотного - собрать все вхождения динблока в файле на корабль и разом утопить?
![]() А еще - если не игнорить ошибки "On Error Resume Next", при удалении блоков вылазит Код:
__________________
...Не пытайся гнуть ты ложку, Не вяжи её узлом. Ложка - ложка понарошку, А по правде, - это лом! |
|||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 11,499
|
В .Net без циклов тоже не обойтись )
|
|||
![]() |
|
||||
Инженер Регистрация: 02.10.2008
С-Пб
Сообщений: 3,692
|
А подскажите, вот такая конструкция фильтра вроде работает, собирает в коллекцию таблицы из пространства модели.
Код:
__________________
...Не пытайся гнуть ты ложку, Не вяжи её узлом. Ложка - ложка понарошку, А по правде, - это лом! |
|||
![]() |
|
||||
Инженер Регистрация: 02.10.2008
С-Пб
Сообщений: 3,692
|
Цитата:
![]() А не подскажите по этому коду: Код:
__________________
...Не пытайся гнуть ты ложку, Не вяжи её узлом. Ложка - ложка понарошку, А по правде, - это лом! |
|||
![]() |
|
||||
Инженер Регистрация: 02.10.2008
С-Пб
Сообщений: 3,692
|
с еrase та же ошибка..
__________________
...Не пытайся гнуть ты ложку, Не вяжи её узлом. Ложка - ложка понарошку, А по правде, - это лом! |
|||
![]() |
|
||||
А как это вообще у вас работает ?
1.поставьте отдельно от всего (сверху) Dim name_Blck as String 2. Проверил на 2013 , всё нормально обработало, никакой ошибки не выдало, удалило все боки. Думаю что у вас в настройках не того... посмотрите принткрин, проверьте. |
||||
![]() |
|
||||
Инженер Регистрация: 02.10.2008
С-Пб
Сообщений: 3,692
|
Спасибо, да не, не в этом дело.. я просто избирательно скопировал, переменные все объявлены.. И если какой косяк с объявлением переменных, vba об этом скажет сразу, до начала исполнения модуля. А тут ругается за какое-то "нарушение блокировки"..
И галка на "err trap" стоит там же..
__________________
...Не пытайся гнуть ты ложку, Не вяжи её узлом. Ложка - ложка понарошку, А по правде, - это лом! |
|||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 11,499
|
AlexV, не вы первый с этой ошибкой на форуме)
|
|||
![]() |
![]() |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Массовое редактирование свойств атрибутов блоков | kgb | Программирование | 11 | 13.06.2023 14:39 |
LISP. Очистка рисунка от "пустых" блоков | Makswell | Готовые программы | 15 | 26.10.2022 15:24 |
Какой язык перспективен для инженера-конструктора с условием | The_Mercy_Seat | Программирование | 705 | 17.03.2021 14:19 |
VBA: утечка памяти при вставке блоков | Mikha | Программирование | 13 | 03.04.2009 09:18 |
как узнать сколько блоков в чертеже определенного имени? | ilka_t | AutoCAD | 11 | 22.07.2005 10:57 |