Приложению revit не удалось выполнить макрос copy parameters
Автодеск сделал стены разными, но пришли проектировщики и начертили стены под углом 0,045 и 89,915 градусов. Поэтому не ставятся размеры между стенами. Так продолжалось долго, но теперь появился Великий Макрос Уравнитель, он вернет стенам углы в 0,000 и 90,000 градусов.
Макрос поправляет стены, у которые начерчены с погрешностью до 1,2 градуса относительно параллели или перпендикуляра к выбранному образцу стены.
Алгоритм работы следующий: пользователь запускает макрос, выбирает неровные стены по одной штуке или рамкой, потом выбирает стену образец, относительно которой ровняются выбранные стены. Таким образом ровняются только стены, которые почти параллельны или перпендикуляны образцу. Стены с относительным углом к образцу в 35, 45, 75 и т.д. не затрагиваются. Их нужно ровнять относительно другого образца.
Макросы доступны всем! Каждый может легко установить макрос в Ревит.
Установка макроса в 5 шагов:
1. Открываем в Ревит какой-либо проект. Запускаем инструмент "Управление (Manage)" -> "Макросы (Macros)" -> "Диспетчер макросов (MacroManager)".
2. В окне "Диспетчер макросов" переходим во вкладку "Приложение (Application)", далее "Создать (Create)" -> "Модуль (Module)".
3. В диалоговом окне "Создание нового модуля (Create a New Module)" задаем имя модуля "Wall_Equalizer". После этого сразу же откроется окно программы "SharpDevelop" с нашим модулем. Самое главное сделано!
4. Переходим работать в программу "SharpDevelop". В главном окне удаляем весь текст и вставляем код макроса, который можно скопировать ниже.
5. Когда вставим код макроса, нажимаем F9.
Работа с макросом:
Снова запускаем "Диспетчер макросов", переходим во вкладку "Приложение", разворачиваем макрос "Wall_Equalizer", выбираем опцию макроса "Wall_Equalizer" и нажимаем кнопку "Выполнить (Run)". Макрос запущен.
Алгоритм работы макроса:
1. Выбираем стены, которые необходимо выровнять, по одной или рамкой. Не выбирайте слишком много стен. Оптимальное число стен около 50. Когда выбор стен будет завершен, нажмите "Готово (Finish)" в панели параметров (Option Bar).
2. Выбираем стену, которая начерчена ровно и может послужить образцом.
3. Получаем результат.
Помните, макрос не может обработать стены, которые располагаются в группах. Если вы хотите выровнять стены, находящиеся в группах, вам перед запуском макроса нужно разгруппировать такие стены.
После разрешения выполнения макросов документа, для их запуска, необходимо обратиться к диспетчеру макросов:
Макрос копирования значений параметров
Макрос по копированию значений параметров применяется на финальной стадии. Возможно предварительно настроить вспомогательные спецификации для необходимого отображения значений наименований элементов.
После запуска макроса на выполнение будет произведена автоматическая обработка спецификаций:
В процессе работы макроса старые значения общих параметров будут перезаписаны актуальными.
После внесения изменений в проекте необходимо повторно запускать макрос для актуализации данных в общих параметрах элементов.
Запуск макроса можно производить с любого активного вида проекта:
Пример работы макроса по спецификации В_ОВ_Круглые воздуховоды, до выполнения:
Макрос создания фильтров и видов для систем
Макрос по автоматическому копированию значений системного параметра «Имя системы» для всех элементов систем трубопроводов или воздуховодов. Дублирование данных значений для всех элементов необходимо для совместного использования с фильтрами. Дублирование значений производится для всех общих загруженных семейств в элементы систем.
Создание копий видов для систем воздуховодов.
Для создания копий видов систем воздуховодов с формированием фильтра и его дальнейшим применением, необходимо выбрать опорный вид из которого будут создаваться копии:
После того как опорный вид был выбран (для создания видов схем систем можно выбирать 3D вид) необходимо запустить макрос:
Произойдёт копирование параметров Имя системы для всех элементов. Далее диалоговое окно предложит создать фильтры и копии видов если это необходимо (возможно использовать только повторное копирование значений параметров без дополнительного создания имеющихся копий):
В результате будут созданы копии выбранного опорного вида с префиксами «Схема_Возд_»:
Для каждого скопированного вида применится созданный фильтр:
Макрос обрабатывает все имеющиеся системы воздуховодов в проекте, потому во избежание генерации огромного количества схем систем, перед запуском макроса необходимо произвести корректировку всех проектных систем в Диспетчере инженерных систем.
Создание копий видов для систем трубопроводов.
Для создания копий видов систем трубопроводов с формированием фильтра и его дальнейшим применением, необходимо выбрать опорный вид, из которого будут создаваться копии:
После того как опорный вид был выбран (для создания видов схем систем можно выбирать 3D вид) необходимо запустить макрос:
Произойдёт копирование параметров Имя системы для всех элементов. Далее диалоговое окно предложит создать фильтры и копии видов если это необходимо (возможно использовать только повторное копирование значений параметров без дополнительного создания имеющихся копий):
В результате будут созданы копии выбранного опорного вида с префиксами «Схема_Труб_»:
Для каждого скопированного вида применится созданный фильтр:
Макрос обрабатывает все имеющиеся системы трубопроводов в проекте, потому во избежание генерации огромного количества схем систем, перед запуском макроса необходимо произвести корректировку всех проектных систем в Диспетчере инженерных систем.
Макрос автоматического создания и копирования пространств из помещений архитектурной связи.
Макрос размещения инженерных пространств позволяет по данным всех помещений из выбранного экземпляра связи АР автоматически создать пространства. При создании пространств учитывается точка размещения, имя, номер и высота помещения в экземпляре связи. В режиме диалоговых окон можно выбрать несколько вариантов создания и обновления данных по экземпляру связанного файла.
Для автоматического создания пространств необходимо запустить макрос:
Далее диалоговый режим предложит выбрать размещенный экземпляр связи:
Далее макрос проанализирует связанный файл на наличие размещенных помещений и сопоставление уровней. Если уровни в текущем проекте не соответствуют отметкам уровней в связанном файле АР то будет предложено создать недостающие уровни:
Для дальнейшего автоматического создания пространств необходимо выбрать способ задания верхних пределов:
Для более подробного разъяснения по способам задания верхнего предела или иным вариантам в диалоговых окнах можно нажать на «Показать подробности»:
В результате работы макроса в текущем проекте будут созданы/обновлены инженерные пространства с соответствием помещениям в экземпляре связи по точке размещения, имени, номеру и параметрам верхнего предела:
Макрос проверки загружаемых семейств на соответствие стандарту ADSK
Макрос по проверке файлов семейств категории модели позволяет сформировать текстовый документ с результатами проверки и аудита просканированных семейств.
Для запуска макроса по сканированию файлов семейств на соответствие стандарту ADSK необходимо закрыть все открытые редактируемые семейства:
Для определения списка файлов для сканирования необходимо выбрать местоположение папки с семействами:
После этого в автоматическом режиме будут проверены все файлы в выбранной папке и уровнями ниже. По окончании проверки семейств на экране появится итоговое диалоговое окно:
Файл отчета будет сохранен в папке, указанной для сканирования. Файл отчета имеет структуру разметки и содержимое можно вставить в Excel:
Данные в отчете будут содержать имя просканированного семейства и значения «+» и «-» для 7 основных общих параметров:
- ADSK_Наименование
- ADSK_Марка
- ADSK_Код изделия
- ADSK_Завод-изготовитель
- ADSK_Единица измерения
- ADSK_Количество
- ADSK_Масса
Как известно новый тип элементов в Revit 2019 - плистины, не имеет размеров кроме толщины.
Для того что-бы получить размеры минимального паралелепипеда в котрый вписана пластина надо имея солид пластины найти object oriented bounding box.
У меня пока не установлен Ревит 2019, поэтому желающим быстрее начать работать с новым функционалом предланаю код
Клас для получения OOBB
Смотрел, но пока посоветовать ничего не могу. Надо эксперементировать.
Нельзя ли все пластины проекта получить фильтром категории или класса?
Кстати из солида можно понять к какой категории его элемент соответствует
YarUnderoaker, нет, коллектор собирает только Element, а эти пластины - Subelement, он наследован напрямую от Object.
Получить категорию из солида - идея!
Код по получение размеров пластины потестирую, спасибо.
Интересно. А каким образом создается пластина в Revit 2019? Вручную к примеру. Я не знаток API Revit, но если пластина была создана, к примеру через эскиз, то значительно разумнее было бы программно искать этот самый эскиз на основании которого была создана пластина, а не солид полученный в итоге. Насколько я знаю доступа к эскизным линиям к элементам типа перекрытие, крыша через API нет, наверное и к пластине нет. А как же тогда работает пример AreaReinforcement из sdk. Армируют же перекрытия и стены любой формы. Насколько я знаю доступа к эскизным линиям к элементам типа перекрытие, крыша через API нет, наверное и к пластине нет. Странно это все. Получается вручную можно получить доступ к эскизу плиты, а через API нельзя. Тогда совершенно не понятно для чего нужен такой API. Можно создать новый объект из набора линий, но отредактировать существующий нельзя (хотя есть недокументированый хак).Спасибо Александру, он написал макрос который считает объём и массу пластин, даже тех которые входят в динамический узел (его можно взорвать). Посмотреть можно здесь. После тестирования можно сказать что:
1. После каждого изменения в геометрии нужно заходить в вкладку макрос и выполнять его вручную.
2. Макрос иногда глючит и выдает ошибку отказываясь пересчитывать последние изменения. Для нормального пересчета нужно сменить геометрию любой пластины, или поменять количество отверстий - потом поменять назад
3. Учитывается точный объём с учетом отверстий обычных и тех которые делают болты.
4. Пластины могут быть с любого материала - стекло, медь, дерево, но если в материале не заданы физические свойства, то есть нет плотности- макрос выдает ошибку.
также возникли проблемы при попытке перенести макрос в другой файл - ругается что Имя типа или пространства имен "AdvanceSteel" отсутствует в пространстве имен "Autodesk" (пропущена ссылка на сборку?)(CS0234)
Ребят, вы меня извините, я Revit 2019 еще не смотрел, но ваш ажиотаж относительно расчетов и выводов каких то параметров пластин мне совершенно непонятен.
В приложении семейство доски, фанеры для сборки опалубочного щита, и собственно сам опалубочный щит, категория "Генеральный план", сделано в версии 2016. Все обсуждаемые вами параметры получаются с помощью "параметров для отчетов". Не знаю, что там в 2019 намутили, могу только предположить, что соединения узлов стало делать еще проще.
Ребят, вы меня извините, я Revit 2019 еще не смотрел, но ваш ажиотаж относительно расчетов и выводов каких то параметров пластин мне совершенно непонятен.
В приложении семейство доски, фанеры для сборки опалубочного щита, и собственно сам опалубочный щит, категория "Генеральный план", сделано в версии 2016. Все обсуждаемые вами параметры получаются с помощью "параметров для отчетов". Не знаю, что там в 2019 намутили, могу только предположить, что соединения узлов стало делать еще проще.
Вся суть проблемы в том что в узлах металлоконструкций уже нет отдельных семейств. Пластины рисуются прямо в программе, не открывая отдельного семейства, по типу как вы рисуете перекрытие или фундаментную плиту. И вот автодеск пошутил над всеми конструкторами сделав доступным только один параметр этого элемента, а именно толщину. Но для того чтоб посчитать спецификации этого мало. Добавить можно только глобальные параметры, но я уже пытался через них как то повлиять на эскиз пластины, не получилось.
Вот люди знакомые с программированием пытаются всякими окольными путями таки получить эти заветные длина-ширина , для того чтоб можно было все обсчитать в спецификациях.
Может ли кто-нибудь сказать мне, как получить параметры типа структурного луча? Параметры, такие как высота, ширина, площадь сечения? Полагаю, я должен начать что-то вроде этого: Selection sel = ui.
Экспортируйте несколько NWC (Active 3D-просмотр) из Revit и добавьте в Navisworks, но он показывает ту же точку обзора для обеих NWC. Я думаю, что он должен показывать разные точки обзора, потому ч.
Я пытаюсь изменить чрезвычайно полезный открытый скрипт кнопок для создания кнопки "перезагрузить ключевые слова". В настоящее время я пытаюсь использовать метод Reload для класса KeyBasedTreeEntry.
Я установил pyRevit, как говорится в документации, но не работает. Я установил больше раз, и у меня никогда не было этой ошибки. Затем я обновил, но не работает. Я разделяю ошибку pic.
Я работаю над добавлением, которое копирует выбранные листы и каким-то образом редактирует их. Я получаю выбор, используя ICollection<ElementId> selectedIds = uiDoc.Selection.GetElementIds();.
Я новичок в Revit API. Я пытаюсь открыть revit документы, используя Revit API 2014. Он отлично работает для файлов, не связанных с обработкой, но я не могу открывать файлы revit файлов revit с помо.
У меня нет проблем с вызовами формы из класса Revit. Это, когда я пытаюсь назначить List функции класса Revit categoryList(), что я получаю переменную, не существует в контексте ошибки. Я попробова.
У нас есть модель. Центральная модель стала коррумпированной из-за слишком большого количества недостающих элементов. После выполнения процедуры, описанной в этой документации , мы не можем найти э.
Я работаю над проектом, в котором мне требуется добавить свойства к материалам элемента в revit api. Я смог выполнить задачу, за исключением того, что не мог добавить цвет шаблона поверхности и цве.
Я пытаюсь получить область brutto стены с Revit API. Однако единственное, что я получаю, это netto. Я использую метод с удалением стены и возвращением изменений, чтобы определить все элементы, кото.
Есть ли способ, с помощью API Revit, извлекать грани CompoundStructureLayer? Вот мой текущий код "extract layers": CompoundStructure compoundStructure = wall.WallType.GetCompoundStructure(); IList&.
Используя Revit API, есть способ получить читаемую человеком версию перечисления BuiltInParameterGroup (размеры, материалы и финиш и т.д.)?
Я пытаюсь создать сценарий в dynamo для Revit с использованием железа python, который принимает несколько входов данных, т.е. IN [0], создает и сохраняет данные в виде отдельного изображения в ката.
Я пытаюсь скрыть определенный тип текста и строк в представлениях. Я мог бы сделать это для текста, но не смог изолировать линии, чтобы скрыть их. Любая идея о том, как я могу фильтровать представл.
Я пытаюсь зарегистрировать событие DialogBoxShowing UIControlledApplication. Но я не могу использовать реализацию OnStartup/OnShutdown интерфейса IExternalApplication. Лучшее, что я мог придумать, .
если элемент является семейным экземпляром, тогда (FamilyInstance.Location as LocationPoint).Rotation; Я легко могу получить поворот для семейного экземпляра. Если я попробую на стене Curve curve =.
Я ищу способ получить размеры стен, например, из файла IFC. Я пробовал использовать Xbim и IfcOpenShell без везения. Как Revit получает размеры для каждого объекта, такие как длина, площадь и объем.
Как использовать различные аргументы события, такие как DocumentSaveToLocalProgressChangedEventArgs на разных этапах события WorksharedOperationProgressChanged . Я знаю, как подписаться на событие .
Как загрузить файл из созданного мной Autodesk A360? Файл представляет собой файл проекта Revit, и я использовал двунаправленную OAuth для авторизации.
Я пытаюсь перечислить свойства шаблонов представлений, чтобы мы могли сравнить их с другим старым шаблоном. Например, какие элементы модели скрыты или имеют переопределения в заданном шаблоне или к.
Мне нужна помощь с использованием временных транзакций в Revit через Python. Я не могу извлечь данные из транзакции после отката. Это для надстройки pyRevit, которая вставит определенное семейство.
В чем разница между расширениями и плагинами? Я пишу много плагинов, и, хотя я и делаю разницу в папке SDK, я столкнулся с картой REX и расширениями, но я не совсем понимаю, что такое benifets одно.
Используя API Revit, как я могу определить, является ли тип пересечения стен (join) тихим соединением или стыковым соединением. Где это стыковочное соединение, как я могу определить, какая стена яв.
Мне нужно узнать количество эталонных плоскостей и их имена, которые проходят через выбранную стену. Я могу получить все эталонные плоскости для конкретного документа, но как это сделать для конкре.
Я хотел бы немного помочь в решении моей проблемы. У меня есть кнопка в викторине revit. Когда я нажимаю на нее, я бы хотел вызвать две разные команды (пользовательские команды). Это возможно? Я ис.
Есть ли способ закрыть ActiveUIDocument с помощью Revit API? Я создал отдельный addin, чтобы закрыть ActiveUIDocument, который работает из графического интерфейса Revit, но когда я пытаюсь вызвать .
Боюсь, что это приведет к опечатке, я делал это так много раз. Код ниже генерирует ленту и кнопку под названием "Предупреждения". Я ожидаю, что нажатие на кнопку покажет исключение "не реализовано".
Я начал скрипт python, который извлекает информацию о правилах фильтра, но не может найти способ получить информацию из "GetRuleParameters()" Любая помощь приветствуется. Я видел много информации о.
Я работаю над рутиной Revit 2015, показанной ниже. Подпрограмма предназначена для выбора элемента и создания фильтра просмотра, который автоматически скроет все элементы в этой системе. Он работает.
Я пытаюсь использовать SQLite в Revit App, но получил ошибку, показанную на изображении. dll ссылается, и я помещаю его в каталог, но он не работает. Какова возможная причина?
Поэтому я создал два Revit Addin. Один из них - рассчитать площадь выбранной модели (AreaChecker), другой - обнаружить все комнаты и дать их площадь после щелчка (RoomChecker). Я по существу исполь.
В revit вы можете сохранить несколько 3D-представлений, а также иметь возможность выбора дизайна. В основном Autodesk Forge Vie
Рубрики
А так же делитесь знаниями, знакомьтесь с новыми утилитами и приложениями, учитесь у всегда готовых помочь ответить на самые сложные вопросы во всех сферах IT и программирования. Станьте гуру и экспертом разработки ПО, получите признание коллег, заработайте репутацию, создайте стартап или приложение которое будет работать на вас!
Читайте также: