четверг, 7 августа 2014 г.

Программа для полуавтоматической нумерации

В Ревите, при работе со спецификациями часто бывает нужно проставить маркировку у каких-нибудь элементов. Автоматической маркировки по нужным параметрам в Ревите нет. Предлагаю посмотреть моё решение проблемы.

Я обычно маркирую элементы после того, как модель уже построена. Создаю спецификацию, сортирую ее по нужным параметрам и получаю некую заготовку:

После этого нужно проставить маркировку, начиная с 1. Можно просто нажимать на клавиатуре "1 - стрелка вниз - 2 стрелка вниз - 3" и так далее - в принципе, достаточно удобно. При большом количестве объектов Ревит начнет зависать, вписывая значения в свойства, но можно не беспокоиться - дойти с этой нумерацией, например, до числа 50, и сходить за чаем. Ревит запомнит, какие клавиши на клавиатуре нажимались, и продолжит маркировать объекты.

Возникло желание написать некий скрипт, который выполнял бы те же действия автоматически. Для этих целей я нашел программу AutoHotKey и написал скрипт.

Скачайте файл autonumber.exe, закиньте в какую-нибудь папку и запустите. Значок программы появится в трее; оттуда же можно ее закрыть:

Затем перейдем спецификацию, установим курсор в первую ячейку. Запустим Autonumber сочетанием клавиш Ctrl+Alt+1 (1 на основной клавиатуре). В окне укажите первое и последнее число, ориентировочно:

При необходимости можно указать префикс и суффикс.

Нажмем Ok. Скрипт делает то же, что мы делали вручную - вводит число, нажимает стрелку вниз", вводит следующее число. Так как обычно мы не знаем, сколько строк в спецификации, скорее всего, программа или не дойдет до конца таблицы (надо будет запустить заново, установив курсор на нужной строке), или дойдет до конца и остановится на последней строчке (последнюю строку можно подправить вручную). 

Видео:


Скачивайте Autonumber.exe на яндекс-диске.
AutoHotKey - open-source программа, обладает мощным функционалом, но не имеет интерфейса - все скрипты записываются в блокноте. Скачать можно тут, русское руководство есть здесь.

Удачи.

P.S.
Программа обновлена, последняя версия здесь.

12 комментариев:

  1. Норм тема. Спасиб.
    Есть еще от куракова плагин по автонумерации.
    там в свойствах можно прописывать префикс цифры и суффикс цифры, а здесь можно?

    ОтветитьУдалить
    Ответы
    1. Я обычно делаю префикс отдельным столбцом в спецификации, с отключенной линией между столбцами. Параметр для делаю параметром типа. Получается более гибко и удобно

      Удалить
  2. А есть еще в Екстеншенах к ревиту 2015 плагин.
    Так там можно нумеровать только семейства, но зато можно задавать в цифре номер этажа. Как бы маркировка дверей с учетом этажа + вида семейства + типа семейства

    ОтветитьУдалить
  3. Ответы
    1. Эхх, гугл расстроил все мои планы по массовому заражению компьютеров...

      Кстати, с яндекса нормально скачивается, только что проверил

      Удалить
  4. А нет ли такого скрипта для 2015-2016 версий Ревита?

    ОтветитьУдалить
    Ответы
    1. Этот скрипт запускается независимо от Ревита и будет работать в любой версии.

      Удалить
  5. Александр, отличный скрипт! Только вот при нумерации параметров типа, revit выдаёт окно с предупреждением, что марка будет применена ко всем элементам данного типа. И после этого окошка скрипт останавливается. Не подскажете, можно ли отключить это оповещение?

    ОтветитьУдалить
    Ответы
    1. Слабо представляю, на самом деле, для чего нужно так параметры типа нумеровать) это ведь изначально для какой-то маркировки придумывалось, или других параметров экземпляра, а параметры типа не должны так часто меняться же

      Удалить
    2. Маркировка окон, дверей, перемычек...

      Удалить
  6. пожалуй для 2016 ревита все-таки надо - чтоб оно нажимало Enter после ввода. Потому что у меня при в вводе в поле он ищет соответствия и чтоб перейти в поле ниже сначала надо нажать enter

    ОтветитьУдалить