Schöck
dwg.ru forum rss xml
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Как увеличить быстродействие макроса в автокад?

Как увеличить быстродействие макроса в автокад?

Версия для печати
 
Ответ
Опции темы Поиск в этой теме
Непрочитано 17.10.2018, 08:46 #1
Как увеличить быстродействие макроса в автокад?
v.psk
 
конструктор
 
Псков
Регистрация: 14.08.2014
Сообщений: 3,036

v.psk на форуме Вставить имя

В автокаде есть необходимость собирать (группировать) строчки таблицы с одинаковыми позициями из таблиц добора (создаются извлечением данных из динамического блока). Придумал код на вба, который опрашивает ячейки таблицы и пишет результат в строковый массив (это занимает доли секунд) а затем последовательно заполняет ячейки таблицы (этот процесс занимает десятки секунд). Вопроса два:
- можно ли как-то увеличить быстродействие на втором этапе (скорее всего это из-за метода with, ну мб еще есть аналог screenupdating)
- есть ли возможность посредством вба разблокировать ячейки? искал и в методах и в интернете, не нашел.

// в приложении пример таблицы и файл *.dvb
спасибо

Вложения
Тип файла: dvb сборка арматуры.dvb (17.5 Кб, 3 просмотров)
Тип файла: dwg
DWG 2004
пример выборки.dwg (746.4 Кб, 4 просмотров)

Просмотров: 545
 
Непрочитано 17.10.2018, 08:53
1 | #2
trir


 
Регистрация: 18.12.2010
Сообщений: 2,976


не используй VBA
http://entercad.ru/acadauto.en/idh_r...suppressed.htm
trir на форуме вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 17.10.2018, 09:00
1 | #3
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 35,961


1. Поиграйся с RegenerateTableSuppressed
2. Переходи на другой язык
__________________

---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 17.10.2018, 09:00
1 | 1 #4
art_rrc


 
Регистрация: 28.01.2013
Минск
Сообщений: 361


Цитата:
Сообщение от trir Посмотреть сообщение
Не все сразу. VBA хороший инструмент для старта.

Код:
[Выделить все]
Попробуйте:
With Table
.RegenerateTableSuppressed = True 'Подавить регенерацию таблицы
.RecomputeTableBlock False 'Отключить пересчет таблицы

'Действия с таблицей

.RecomputeTableBlock True
.RegenerateTableSuppressed = False
End With
Добавлено: Вот это оперативность, пока писал пост появилась ссылка в посте #2 и еще пост #3. Здорово, что форум по прежнему такой активный
art_rrc вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Автор темы   Непрочитано 17.10.2018, 09:04
#5
v.psk

конструктор
 
Регистрация: 14.08.2014
Псков
Сообщений: 3,036


trir, Кулик Алексей aka kpblc, art_rrc, спасибо. // art_rrc спасибо за готовую строчку//
Я так понял, что разблокировать таблицу посредством вба никак не выйдет.
v.psk на форуме вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 17.10.2018, 09:15
1 | #6
trir


 
Регистрация: 18.12.2010
Сообщений: 2,976


http://entercad.ru/acadauto.en/idh_setcellstate.htm
trir на форуме вставить имя Обратить внимание модератора на это сообщение  
 
Автор темы   Непрочитано 17.10.2018, 09:16
#7
v.psk

конструктор
 
Регистрация: 14.08.2014
Псков
Сообщений: 3,036


... с первым вопросом разобрался
v.psk на форуме вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 17.10.2018, 09:17
1 | #8
trir


 
Регистрация: 18.12.2010
Сообщений: 2,976


https://knowledge.autodesk.com/searc...357A1-htm.html
trir на форуме вставить имя Обратить внимание модератора на это сообщение  
 
Автор темы   Непрочитано 17.10.2018, 09:23
#9
v.psk

конструктор
 
Регистрация: 14.08.2014
Псков
Сообщений: 3,036


trir, спасибо, со вторым тоже разобрался
приложил последний вариант
Вложения
Тип файла: dvb сборка арматуры.dvb (32.0 Кб, 1 просмотров)
v.psk на форуме вставить имя Обратить внимание модератора на это сообщение  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Как увеличить быстродействие макроса в автокад?

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Фатальная ошибка при попытке загрузки макроса Inhu Программирование 23 02.10.2017 12:13
Вопросы по рендерингу. 2008, 2011 автокад DENLaDEN AutoCAD 27 22.01.2013 01:53
Хочу начать изучать автокад, есть вопросы, помогите GALANT AutoCAD 126 16.06.2011 11:01
Автокад 2006 медленно открывается bsn AutoCAD 2 03.09.2007 08:17
Странная работа макроса Димас Программирование 23 19.10.2006 12:30

|| Главная || Каталог САПР || Тендеры || Публикации || Объявления || Биржа труда || Download || Галерея ||
|| Библиотека || Кунсткамера || Каталог предприятий || Контакты || Файлообменник || Блоги ||