Куда ревит сохраняет временные файлы

Обновлено: 06.07.2024

Ранее мы уже писали о практическом опыте перевода двухмерных чертежей в BIM-модель. В процессе работы над проектом, а именно, на этапе проверки модели на коллизии, выяснилось, что не все проектировщики умеют работать со связанными файлами. Хотя, наверняка, все знают, что это средство деления и облегчения файла. И обычно, связанные файлы применяют для того, что связывать разделы проекта в одну модель.

Сегодня хочу описать простые правила при работе со связанными файлами, которые облегчат вам жизнь:

  1. Для того чтобы все файлы корректно "садились" на места, необходимо изначально задать единую систему координат.
  2. Для этого приоритетный файл, с утвержденной и согласованной точкой вставки и координационными осями, необходимо раздать всем исполнителям, как исходные данные. Им же в свою очередь необходимо подгрузить в свою модель файл «Исходных данных» выбрать вставленный файл и в свойствах, в графе «Общая площадка» см. рис 1, затем, отметить что хотим: Получить общую систему координат из связанного файла, затем кнопка: Согласовать.

Все, теперь все ваши смежники выдадут корректные файлы, и у вас не возникнет проблем.

рис1.jpg
рис 2.jpg

Возвращаясь к нашему проекту - такая работа не была проведена, и все сделали свои разделы в разных файла. Мы получили от заказчика модели по разным разделам, реализованные в Autodesk Revit. Работа Заказчиком была проведена большая, но при совмещении каждый файл приходилось привязывать вручную. Также была вероятность, что после внесения изменений файлы могли слететь, поэтому просто необходимо привязать файл в проект, исходник и передать в него систему координат!

Для этого, после добавления модели в смежный раздел, необходимо выровнять файл по координационным осям и высотным отметкам, а затем в свойствах в графе пройти следующий путь: Общая площадка, поставить точку: опубликовать общую систему координат (файла исходника, на который будем ориентироваться).

рис 3.jpg
рис 4.jpg

Далее необходимо проверить, чтобы общая площадка была внутренняя.

рис 5.jpg

И так необходимо будет сделать с каждым файлом. После этого можно работать и не переживать, что после обновления что-то пойдет «не так».

Хочу напомнить, что эти изменения в связанные файлы после синхронизации вносится не будут, их обновляют по необходимости вручную. И при открытии файла они автоматически обновляются.

Распределение элементов по рабочим наборам

Идём дальше. После того как мы создали рабочие наборы, которые нам нужны, мы можем раскидать эти все элементы по рабочим наборам. Для конструктора мы можем положить колонны, можем положить туда какие-то несущие перекрытия, фундаменты и так далее. Проще всего это сделать – выбрать одну колону и выбрать «Во всём проекте». И далее указать в рабочем наборе «КР». И дальше точно также можем выбрать перегородки либо какие-то элементы: двери, окна и также задать им рабочий набор «АР».

Сохранить файл в качестве файла хранилища

Сохранить файл в качестве файла хранилища

«Синхронизация и изменение параметров»

«Синхронизация и изменение параметров»

И у нас теперь уже «Revit» преобразует данный файл с рабочими наборами в файла хранилище. После того как мы сохранили файл в качестве файла хранилища, у нас здесь немного поменялись иконки. У нас здесь кнопка «Сохранить» не активна, но появилась новая активная кнопка «Синхронизация и изменение параметров». Как раз то, что я вам говорил раньше, сейчас идёт не сохранение проекта, а в дальнейшем будет идти синхронизация проекта с локальными копиями в файлах проектировщиков.

Освободить рабочие наборы

Освободить рабочие наборы

Сейчас мы находимся в файл хранилище. Это легко проверить – у него название совпадает с файлом проекта – «Совместная работа». После того как вы создали файл хранилище нужно обязательно закрыть и обязательно освободить все рабочие наборы, которые вам не нужны. Например, я освобожу «Общие уровни и сетки», нажимаю «Нередактируемый» и, допустим, так как это у нас конструктор, то владельца «rev12» мы оставим за рабочим набором «КР». «АР» тоже ставим «Нередактируемый» и нажимаем «Ок».

Открытие файла

И далее мы закрываем этот проект, нажимаем «Открыть» и выбираем наш файл «Совместная работа». При этом смотрите, что получается: когда мы открываем файл, у нас появляется здесь галочка «Создать новый локальный файл». Эта галочка должна быть обязательно активной, нужно обязательно проверять перед открытием файла, когда вы работаете в совместной работе. При этом вы не будете открывать файл хранилище, вы в нём работать не будете, но на его основе, на вашей рабочей станции создастся локальная копия данного файла, и нажимаете «Открыть». При этом, когда нажимаете «Открыть», здесь есть маленькая стрелочка рядом. Нажимаем на эту стрелочку и здесь есть несколько настроек рабочих наборов. Мы можем открыть все рабочие наборы, мы можем открыть только редактируемые рабочие наборы, которые мы оставили, мы можем задать, какие рабочие наборы нам нужно открывать. Допустим, я нажму на кнопку «Задать» и нажму «Открыть».

Какие рабочие наборы будут открыты

Какие рабочие наборы будут открыты

Локальная копия

Сейчас «Revit» открывает уже не файл хранилище, а создает локальную копию, размещает её уже в определённом месте на вашем компьютере, на вашей рабочей станции. Как это определить? Во-первых, в названии проекта «Совместная работа» появился суффикс «rev12» через нижнее подчёркивание. Он появляется всегда и называется таким образом, как называется имя вашего пользователя в «Revit». Где можно посмотреть имя пользователя? При нажатии на кнопку «Файл» заходим в «Параметры» «Revit» и сразу же во вкладке «Общие» - «Имя пользователя» – «rev12». Оно не редактируемое, оно привязано к подписке к учётной записи «Autodesk». Раньше когда «Revit» приобретался не по подписке, имя пользователя можно было менять. То есть соответственно можно было так немного хитрить и, допустим, если кто-то занял рабочий набор, в котором вы хотите подвинуть элементы, то вы просто переименовываете имя пользователя в того, кто это сделал и просто делаете его работу, и ничего вам не мешает. Сейчас этого сделать нельзя, потому что имя пользователя всегда будет привязано к подписке. А открыть «Revit» без подписки с восемнадцатой версии уже невозможно.

Где сохраняются ваши локальные копии?

Где сохраняются ваши локальные копии?

Дальше, где сохраняются ваши локальные копии? Ваши локальные копии сохраняются в разделе «Файлы», здесь можно посмотреть, здесь есть путь – «Путь по умолчанию для пользовательских файлов», соответственно сюда будет сохраняться ваш локальный файл «C:\Usersadmin\Documents». Можно посмотреть, где это находится и убедиться, что это там.

Временные файлы и файлы для резервного копирования

Временные файлы и файлы для резервного копирования

Функционирование кнопок в локальной копии

Функционирование кнопок в локальной копии

Теперь мы создали файл хранилище, мы создали локальную копию. В локальной копии теперь функционирует кнопка «Сохранить» и также функционирует кнопка «Синхронизация. ». Когда вы нажимаете просто на кнопку «Сохранить», то вы сохраняете только непосредственно ваш локальный файл. При этом синхронизация с файлом хранилищем не осуществляется, у вас будут отличия между моделями. Вы, допустим, внесли какие-то изменения в проект и вы хотите, чтобы данную информацию увидели остальные проектировщики, которые работают в этом проекте, вы нажимаете на кнопку «Синхронизация», при этом вся информация уходит на сервер. И в дальнейшем, когда другой проектировщик нажмет на кнопку «Обновить до последней версии модели», либо точно также «Синхронизировать», то он увидит все ваши изменения, которые вы внесли. Сейчас видно прекрасно, что те элементы, которым я присвоил рабочий набор «АР», и который я скрыл, они не отображаются.

Как включить элементы

Как включить элементы

Их можно в любой момент включить, мы нажимаем на кнопку «Рабочие наборы» и просто его открываем, нажимаем «Открыть – Да», и нажимаем «Ок». И вот появились элементы из другого рабочего набора.

Войти под другим пользователем

Войти под другим пользователем

Теперь что будет, если, допустим, я возьму и попробую зайти под другим пользователем? Сейчас я закрою этот файл, сохранять проект я не буду. При закрытии файла вы можете «Освободить все элементы и рабочие наборы», либо «Сохранить принадлежности всех элементов рабочих наборов». Что это такое? Когда вы синхронизируете проект, здесь есть несколько галочек, что делать после синхронизации. Все эти элементы, все эти рабочие наборы можете освобождать, можете оставлять право за редактированием этих рабочих наборов. Каждую галочку можно включить. Если галочка включена, то соответственно пользовательский рабочий набор или какие-то другие, они освобождаются, и все проектировщики могут изменять данные элементы. Сейчас если посмотреть, то «КР» закреплён за пользователем «rev12».

Как в экране распределяется доступ

Как в экране распределяется доступ

Также можно посмотреть каким образом в экране распределяется доступ. Я могу включить «Показать владельцев», у каких элементов кто, какой владелец. И соответственно я вижу, что у этих элементов, они подкрашены зелёным цветом у них какой-то владелец, и я их редактировать, скорее всего, не смогу. «КР» - «rev12» и здесь то же самое. Теперь давайте закроем этот проект.

Открытие проекта при помощи другого проектировщика

Открытие проекта при помощи другого проектировщика

«Пользовательские рабочие наборы» мы оставим за проектировщиком «rev12» и откроем этот проект уже при помощи другого проектировщика. К сожалению, «Revit» немного вылетит. Я зайду под другим пользователем, под своей учётной записью. И сейчас попробую открыть этот же файл и посмотреть, что будет. Этот файл мне открывать уже не надо, потому что это локальный файл. Соответственно мне нужно также через кнопку «Открыть» выбрать, где у меня находится файл хранилище. Файл хранилище у меня лежит на рабочем столе. И также я должен убедиться, что у меня стоит галочка «Создать новый локальный файл».

alt

Документы с расширением *.sv$ - это файлы автосохранения Автокада. Не стоит путать их с временными, которые имеют расширение *.sс$.

Пользователь может отключить автоматическое сохранение (читать подробнее про настройку автосохранения), а вот временные файлы Автокада создаются всегда, независимо от настроек. Нужны они, чтобы программа нормально функционировала. Отключить их создание нельзя, но временные файлы AutoCAD *.sс$ сами удаляются, если работа в программе нормально завершается.

При аварийном окончании работы эти файлы сохраняются на вашем компьютере в специально отведенном месте на диске. Открыть их путем переименования расширения вручную на *.dwg не получится.

Однако для нас при восстановлении чертежей они не представляют особого интереса. Поэтому сконцентрируем все внимание на файлах автосохранения (*.sv$). Читайте про процесс восстановления чертежей с помощью этих файлов.

Почему у файлов автосохранения (*.sv$) такое сложное название?

Ранее мы определились, что в случае, если активна опция автосохранения файлов, программа по истечению установленного временного интервала сохраняет чертеж в специальную папку. При этом имя автосохраненного файла генерируется автоматически. Форма записи имеет следующий вид:

Структура названия файла автосохранения AutoCAD

Где хранятся файлы автосохранения Автокад?

Диспетчер восстановления чертежей Автокад открывает файлы автосохранения по умолчанию. Однако бывает так, что в Диспетчере нет подходящего файла, т.к. он имеет очень позднюю дату сохранения.

В Параметрах AutoCAD можно посмотреть путь сохранения файлов

Теперь вы знаете, где хранятся временные файлы Автокада, файлы автосохранения и резервные копии. Поэтому, если случилось так, что в испорчен файл Автокад, его можно восстановить посредством изменения расширения с (*.sv$) на (*.dwg) или (*.bak) на (*.dwg).


В Autodesk Revit существует функция записи всех действий пользователя в текстовый файл — журнал, который используется разработчиками в основном для выявления причин сбоя приложения. Самое интересное, что действия можно воспроизвести путем перетаскивания файла на значок Revit. Это позволяет восстановить часть работы после «вылета» Revit или же сэкономить время на некоторых часто повторяемых действиях. К примеру, рассмотрим случай создания нового проекта для коллективной работы на основе требуемого Шаблона (Template). Напомню, что для этого необходимо будет создать Рабочие наборы (Worksets), которые позволяют назначить Владельца (Owner) и Заемщика(Borrower) совокупности пользовательских элементов, семейств, видов и настроек. На первый взгляд процедура не сложная, но отнимающая время и требующая внимания.

Запись

С начала запустим Autodesk Revit и создадим новый проект, с обязательным выбором Шаблона проекта (Template) из библиотеки для получения его пути и наименования. Далее приступим к созданию Рабочих наборов (Worksets) и сначала введем наименования основного набора для Уровней (Levels) и Осей (Grids), а также для всех остальных элементов проекта, например, Местности (Site). Соответственно составляю наименования согласно своему классификатору данных, в котором все элементы Разбивки (Layouts) имеют код 000 00240, а Местности (Site) – 100 00000. Естественно можете ввести любые понятные Вам значения. Далее добавляю Рабочие наборы (Worksets), которые могут понадобиться для распределения элементов Концепции (Massing), Конструкций (Structure), Архитектуры (Architecture), Технологии (Technology), Инженерии (Services) и т.п. Таким образом каждый проектировщик будет работать в наборе, соответствующий его разделу. Спросите – а как же быть в случае работы нескольких архитекторов? Ведь Revit не позволяет одновременно назначать нескольких владельцев одному набору, в то время как другие участники проекта смогут свободно занимать их элементы. Как вариант можно создать дополнительные архитектурные наборы для более детального распределения элементов, например, Стены (Walls), Полы (Floors), Потолки (Ceilings), Проемы (Openings) и т.п., а можно разделить проект на отдельные модели и связать их между собой наложенными ссылками. Что лучше? Собственно, это тема следующих публикаций, а пока выберем Активный рабочий набор (Active Workset), установим Подавление графики неактивных наборов (Gray Inactive Workset Graphics) и завершим их создание. Далее можем еще раз открыть диалог наборов для проверки результата и закрыть Revit. Запись журнала – завершена.

Редактирование

Для просмотра полученного журнала действий перейдем по следующему пути:

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

Далее открываем файл журнала для редактирования в Блокноте (Notepad). Несмотря на то, что было с два десятка действий, строк записей значительно больше, но это обстоятельство не должно Вас пугать, так как большинство из них – это комментарии помеченные символом апострофа в начале и не представляющие для нас никакой ценности. Соответственно по ходу редактирования все они удаляются, кроме комментариев в 3-4 строках, которые содержат информацию о сборке Revit и без которых выполнение может не произойти. К сожалению, официально журналы не поддерживаются и в справочной документации нет по ним описания, а также их синтаксис может изменяться от версии к версии, как и отличается в зависимости от локализации. Раз упомянул о синтаксисе, обратим внимание на следующие строки, в которых объявляется переменная Jrn в формате vbScript с последующим присвоением ей команд выполнения скриптов:

Таким образом все необходимые нам строки будут начинаться с Jrn и очень вероятно в журнале можно будет воспользоваться преимуществами скриптового программирования с целью оптимизации. Приступим к поиску строчки с командой Создания нового проекта на основе шаблона. Придется пролистать половину журнала, внимательно просмотреть множество строчек комментариев, в которых отображается информация о Revit, ходе его загрузки и всех связанных с ним библиотек, компонентов и надстроек, доступности памяти, а также пропустить команды назначения всяческих переменных и т.п., пока не найдем строчку Открытия главного меню приложения:

  • Jrn.AppButtonEvent 1 , “Application Menu is opening”

Теперь все лишнее можно смело удалить. Спустя несколько комментариев следует команда Закрытия главного меню приложения и сразу же искомая команда Создание нового проекта:

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

  • Jrn.PushButton «Modal , New Project , Dialog_Revit_NewProject» _
    , «Browse…, Control_Revit_BrowseTemplateName»
  • Jrn.Data «FileDialog» _
    , «IDOK» , «L:\01 Libraries\Autodesk\Revit\2016\ASK\ASK 000 00000 General.rte», «rte» _
    , «ASK 000 00000 General.rte», «ASK 000 00000 General.rte»
  • Jrn.Data «FileType» , «Template Files (*.rte)»

В них указаны значения пути и имени файла Шаблона проекта (Project Template), которые можно будет заменить, что позволит создавать Рабочие наборы (Worksets) на основе любых шаблонов. После команды подтверждения Создания нового проекта:

  • Jrn.PushButton «Modal , New Project , Dialog_Revit_NewProject» , «OK, IDOK»

следует множество комментариев его загрузки, подготовки активных видов, назначения переменных и т.п., которые также удаляем до момента открытия диалога Создания рабочих наборов:

В нем указываем наименования наборов для хранения элементов Уровней (Levels) и Осей (Grids), а также Остальных (Others) элементов. После нажатия подтверждения создания, снова последует много комментариев, после которых важно не пропусти команду завершения Транзакции (Transaction). Что она собой представляет? Это фактическое завершение режима ожидания значений для переменных с передачей их следующим процессам в случае подтверждения или же возврат предыдущих значений в случае отмены.

Далее последуют команды создания дополнительных рабочих наборов:

  • Jrn.PushButton «Modal , Worksets , Dialog_Revit_Partitions» , «New, Control_Revit_New»
  • Jrn.Edit «Modal , New Workset , Dialog_Revit_NewPartition» _
    , «Control_Revit_NewPartitionName» , «ReplaceContents» , «200 00000 Massing»
  • Jrn.PushButton «Modal , New Workset , Dialog_Revit_NewPartition» , «OK, IDOK»

Как видно со скрипта, на создания каждого набора требуется три строки – нажатие кнопки Нового набора, введение значения его имени и подтверждение, при этом завершение Транзакции (Transaction) после каждого создания – не требуется. Разница в строках заключается только в наименовании Наборов, и чтобы не терять время на долгое форматирование строк и удаление комментариев, достаточно скопировать уже готовые три строки команд и указать только требуемые имена, а нижеследующие строки – удалить. Итого получаем:

  • Jrn.PushButton «Modal , Worksets , Dialog_Revit_Partitions» , «New, Control_Revit_New»
  • Jrn.Edit «Modal , New Workset , Dialog_Revit_NewPartition» _
    , «Control_Revit_NewPartitionName» , «ReplaceContents» , «300 00000 Structure»
  • Jrn.PushButton «Modal , New Workset , Dialog_Revit_NewPartition» , «OK, IDOK»
  • Jrn.PushButton «Modal , Worksets , Dialog_Revit_Partitions» , «New, Control_Revit_New»
  • Jrn.Edit «Modal , New Workset , Dialog_Revit_NewPartition» _
    , «Control_Revit_NewPartitionName» , «ReplaceContents» , «400 00000 Architecture»
  • Jrn.PushButton «Modal , New Workset , Dialog_Revit_NewPartition» , «OK, IDOK»
  • Jrn.PushButton «Modal , Worksets , Dialog_Revit_Partitions» , «New, Control_Revit_New»
  • Jrn.Edit «Modal , New Workset , Dialog_Revit_NewPartition» _
    , «Control_Revit_NewPartitionName» , «ReplaceContents» , «500 00000 Technology»
  • Jrn.PushButton «Modal , New Workset , Dialog_Revit_NewPartition» , «OK, IDOK
  • Jrn.PushButton «Modal , Worksets , Dialog_Revit_Partitions» , «New, Control_Revit_New»
  • Jrn.Edit «Modal , New Workset , Dialog_Revit_NewPartition» _
    , «Control_Revit_NewPartitionName» , «ReplaceContents» , «600 00000 Services»
  • Jrn.PushButton «Modal , New Workset , Dialog_Revit_NewPartition» , «OK, IDOK

Вероятно, что можно будет оптимизировать строки Создания наборов, путем применения цикла и массива значений наборов. Остается всего несколько команд до завершения редактирования – это Сортировка наборов по имени, выбор Активного набора (Active Workset) и установка Подавления графики неактивных наборов (Gray Inactive Workset Graphics).

Обратите внимание, что команда выбора активного набора (Active Workset) дублируется с различными операторами «SelEndOk» и «Select», соответственно одна из них может быть лишней, в чем убедимся позже. После закрытия диалога Рабочих наборов (Worksets), обязательно должна следовать команда успешного завершения Транзакции (Transaction) для подтверждения действий:

  • Jrn.PushButton «Modal , Worksets , Dialog_Revit_Partitions» , «OK, IDOK»
  • Jrn.Data «Transaction Successful» , «Worksets»

В заключении работы скрипта, осуществляется повторное открытие диалога Рабочих наборов (Worksets) для проверки результата:

Оставшиеся строки закрытия проекта без сохранения и все комментарии – можно смело удалить, а также закомментировать лишнюю строку выбора активного набора, например, с оператором «SelEndOk». Все, сохраняем журнал и приступаем к проверке его работоспособности.

Выполнение

Перейдем Проводник в месторасположение файла нашего журнала и перетащим его на значок Autodesk Revit на Рабочем столе. Как результат, будет запущенно приложение и выполнение команд создания Рабочих наборов (Worksets). В случае возникновения неполадок, появится окно Ошибки журнала (Journal Error) с предложением перейти в Интерактивный режим (Enter interactive mode). Соответственно закрываем Revit без сохранения, возвращаемся в Проводник и открываем новый файл журнала, например, journal.0001.txt, который появился в ходе выполнения нашего в той же директории. В нем будет запись всех действий в ходе выполнения журнала до момента сбоя, потому листаем почти в самый конец, ищем строку с комментарием причины ошибки и ссылки на строку ее расположения, например:

  • ‘ 1:< Execution did not correspond to recorded journal sequence.
  • ‘ At line number 31 of source journal.

В данном случае сообщается, что выполнение не соответствует требуемой последовательности. Открываем наш журнал для редактирования, находим в нем сроку 31 и способом «научного тыка» устраняем причину ошибки, в моем случае отсутствует третья строка подтверждения создания рабочего набора «600 00000 Services». Вновь сохраняем файл журнала, но прежде чем его воспроизвести, попробуем немного оптимизировать.

Оптимизация

В ходе редактирования упоминал, что журналы Autodesk Revit записываются формате vbScript, соответственно можно произвести его оптимизацию. Начнем из создания переменных Наименования и Расположения Шаблона проекта (Project Template) для создания Рабочих наборов (Worksets). Для этого после строк объявления и назначения переменной Jrn, запишем свои:

  • Dim askFileName
  • askFileName = «ASK 000 00000 General.rte»
  • Dim askFileLocation
  • askFileLocation = «L:\01 Libraries\Autodesk\Revit\2016\ASK\»

Так как в скрипте требуются отдельные значения имени Шаблона проекта и его Полного пути, создадим переменную askFilePath составляемую из значений askFileLocation и askFileName:

  • Dim askFilePath
  • askFilePath = askFileLocation & askFileName

Очень советую перед подстановкой переменных в соответствующую строку команды, сделать ее исходную копию и закомментировать на всякий случай:

  • ‘ Jrn.Data «FileDialog» _
    , «IDOK» , «L:\01 Libraries\Autodesk\Revit\2016\ASK\ASK 000 00000 General.rte», «rte» _
    , «ASK 000 00000 General.rte», «ASK 000 00000 General.rte»
  • Jrn.Data «FileDialog» , «IDOK», askFilePath, «rte» , askFileName, askFileName

Перед сохранением можем еще закомментировать строки Открытия и Закрытия главного меню для проверки их полезности. Если все сделали правильно, выполнение журнала должно пройти без ошибок и можно попробовать применить функцию vbScript, например, Массив (Array) с целью хранения всех наименований Рабочих наборов (Worksets) в одной строке. Для начала сделаем поиск в сети Интернет доступной справочной документации по vbScript, лично советую Language Reference на сайте MSDN (Microsoft Developer Network). В разделе Функции (Functions) найдем информацию по Массиву (Array), скопируем пример кода и вставим в журнал после строк предыдущих переменных. Впишем название переменной askWorksetArray, которой после присвоим функцию Массива (Array) со значениями наименований всех Рабочих наборов (Worksets):

  • Dim askWorksetArray
  • askWorksetArray = Array(«000 00240 Layout»,»100 00000 Site»,»200 00000 Massing» _
    ,»300 00000 Structure»,»400 00000 Architecture»,»500 00000 Technology» _
    ,»600 00000 Services»)

Далее сделаем замену значений наименований наборов во всех строках журнала, где они используются на переменную askWorksetArray(n) с указанием в скобках позиции соответствующего значения в массиве, начиная с нуля. Например:

Прежде чем запустим журнал, избавимся от лишних закомментированных ранее строк, а также добавим несколько своих комментариев для ясности и улучшения читаемости. Сохраняем и выполняем журнал, в случае успеха – продолжаем оптимизацию, в ином случае – смотрим свежие журналы на предмет информации об ошибках и устраняем их. Попробуем применить цикл For…Next для возможности создания любого количества наборов из массива, но пока не менее трех. Для этого потребует функция определения длинны массива uBound() и переменная для ее хранения:

  • Dim askWorksetCount
  • askWorksetCount = uBound(askWorksetArray)
  • For i = 0 to askWorksetCount — 2
  • Jrn.PushButton «Modal , Worksets , Dialog_Revit_Partitions» , «New, Control_Revit_New»
  • Jrn.Edit «Modal , New Workset , Dialog_Revit_NewPartition» _
    , «Control_Revit_NewPartitionName» , «ReplaceContents» , askWorksetArray(i +2)
  • Jrn.PushButton «Modal , New Workset , Dialog_Revit_NewPartition» , «OK, IDOK»
  • Next

Естественно можно сразу начать цикл со второй позиции и не заниматься дополнительными вычислениями:

Сохраняем и проверяем работоспособность оптимизации циклом путем выполнения журнала. После можем попробовать добавить несколько новых Рабочих наборов (Worksets) к переменной askWorksetArray, сохранить и вновь запустить журнал.

Заключение

Таким образом мы получили простейшую автоматизацию по созданию наборов в новых проектах, которую можно еще оптимизировать условиями If…Else для создания уже минимум двух Рабочих наборов (Worksets) вместо трех, процедурами Sub с целью вынесения повторяемых действий за пределы основного кода для удобства их редактирования. Также журнал можно дополнить командами загрузки требуемых семейств, осуществления настроек и создания видов, что позволит использовать его еще более эффективно.

Читайте также: