|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
24.03.2016, 10:47 | #1 | |
Revit API. как вставить семейство?
Регистрация: 04.05.2010
Сообщений: 338
|
||
Просмотров: 16960
|
|
||||
Негропроект, инженегр-конструктор Регистрация: 16.02.2008
Черкассы
Сообщений: 903
|
Это просто устарелый код (с каждой версией ревита часть функций делают устарелой + добавляют более эфективную альтернативу, а в следующей версии устарлое выпиливают)
Сейчас чтобы получить все типы семейства сначало надо получить список айдишек через family.GetFamilySymbolIds() Придется тебе подучить С# - замени ForwardIterator и while (symbolItor.MoveNext()) на foreach |
|||
|
||||
Регистрация: 05.11.2015
Сообщений: 585
|
Цитата:
В основной папке есть куча всяческих примеров. Даже на уровне макросов (папка Macro Samples) есть уже вполне приличный пример на подобие Вашей задачки - CreateBeamsColumnsBraces. Там и выбор в диалоговом окне нужных семейств с нужными типоразмерами и сборка из этих семейств 3d конструкции. |
|||
|
||||
Регистрация: 04.05.2010
Сообщений: 338
|
Пока качаю SDK поковырял код. На этой строчке : FamilyInstance instance = document.Create.NewFamilyInstance(location, symbolItor.First, StructuralType.NonStructural);
Вылетает ошибка: StructuralType недоступен из за его уровня защиты. А как это победить? |
|||
|
||||
Регистрация: 04.05.2010
Сообщений: 338
|
Вот код вставки семейства:
Код:
1) как вместо XYZ location = new XYZ(0, 0, 10.0); мне сделать так, чтобы пользователь тыкнул точку вставки? 2) как размещать семейство у которого 2 точки вставки? например балка, когда в ревите мы ее задаем, указываем 2 точки... Как это реализуется с помощью API? |
|||
|
||||
Регистрация: 04.05.2010
Сообщений: 338
|
Все отлично работает, спасибо остался открытый второй вопрос:
2) как размещать семейство у которого 2 точки вставки? например балка, когда в ревите мы ее задаем, указываем 2 точки... Как это реализуется с помощью API? параллельно осваивать начал создание новых типоразмеров и дана такая функция записи длин в мм: Код:
Последний раз редактировалось SNIIP, 27.04.2016 в 12:12. |
|||
|
||||
Регистрация: 05.11.2015
Сообщений: 585
|
Цитата:
Код:
Последний раз редактировалось Владимир_М, 27.04.2016 в 18:27. |
|||
|
||||
Регистрация: 04.05.2010
Сообщений: 338
|
Вот тут вроде обычно разбираются простые примеры... но не могу разобраться с функциями... на get_Parameter тоже ругается компилятор... это я что то не так настраиваю?
1)Построить по 2 точкам получилось, но снова ругался на STRUCTURALTYPE я выкрутился без него но что эта за вещь и почему не могу его использовать? 2) Как вставлять семейства и чтобы при задании линии например отображалась эта линия? или например при вставки семейства подсвечивалось это семейство? 3) Как все таки программно взять определенный параметр семейства и изменить его? а вернее параметр типа семейства? (копировать научился, когда все закончу выложу все итоговые правильные варианты) 4) вот еще вопрос: при вставке типоразмера который еще ни разу не был в проекте выдает оишбку symbol is not active... почему такое возникает? если вручную 1 раз разместить дальше работает... Последний раз редактировалось SNIIP, 29.04.2016 в 11:42. |
|||
|
||||
Негропроект, инженегр-конструктор Регистрация: 16.02.2008
Черкассы
Сообщений: 903
|
Цитата:
Цитата:
Смотри в справке PostCommand Цитата:
e.Symbol.get_Parameter или фильтровать проект на класс FamilySymbol Такого прежде не встречал. |
|||
|
||||
Регистрация: 04.05.2010
Сообщений: 338
|
Огромное спасибо, почти все получилось... осталось последнее: Как мне спросить у пользователя (а лучше чтобы он выбрал из выпадающего списка) какой например Швеллер ему нужен...
Возможно ли вообще что то типа combobox а в панели использовать? или пользовательские формы какие нить создать? какие вообще мысли по этому поводу? |
|||
|
||||
Регистрация: 05.11.2015
Сообщений: 585
|
Цитата:
Цитата:
Код, по поводу вставки балки, что я приводил выше, оттуда же... Последний раз редактировалось Владимир_М, 29.04.2016 в 13:40. |
|||
|
||||
Негропроект, инженегр-конструктор Регистрация: 16.02.2008
Черкассы
Сообщений: 903
|
Самый просто способ - пользовательская форма. Их можно даже в макросах делать.
Пример, вроде тут форма есть, сейчас не могу проверить. |
|||
|
||||
Негропроект, инженегр-конструктор Регистрация: 16.02.2008
Черкассы
Сообщений: 903
|
Цитата:
Если делать макросами, то на каждое действие свой макрос, который запускается через диспетчер макросов. Если это макрос с формой и кнопками, то действия кнопок - это часть приватных функций макроса. Тут надо быть аккуратным с транзакциями, делать отдельные на разные участки кода. Если нужна своя панель инструментов, то это уже надо писать свой аддон в вижуал студио. Цитата:
|
|||
|
||||
Регистрация: 04.05.2010
Сообщений: 338
|
Цитата:
Есть набор семейств - 20-30 2D элементов с помощью которых я делаю КМ. Достаточно неудобно и много времени занимает поиск нужного семейства в дереве объектов. При том если нет нужного типоразмера приходится лезть в сортамент и создавать его. Еще в автокаде у меня был блок Двутавров, блок уголков и т.д. в котором из выпадающего списка выбиралось нужное мне. + была сделана панель на которой по кнопке нужный блок вставлялся. Хочу сделать аналог в Revit. способ не важен, важно лишь удобство использования. Теперь отвечу на вопрос: 1) Макросами? ну неудобно каждый раз лазить в диспетчер макросов и выискивать нужный мне макрос. в принципе не сложнее дерева объектов только можно прописать автоматическую подстановку данных из сортамента. Плюс вопрос как организовать выбор? Итог: Не то 2) Макрос с формой и кнопкой. Решаем вопрос с выбором обычным комбобоксом. Но не решена проблема как же и обработчика события кнопки вызвать определенный макрос. 3) Аддон в вижуал студио я писал с кнопкой, все ок, но опять же, там же не сделать комбо бокс? |
|||
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как отредактировать системное семейство трубы в Revit Mep? | Kirzaa | Revit | 15 | 23.06.2020 17:22 |
Семейство Г-образных рам в Revit | Jarat | Revit | 3 | 31.01.2012 13:47 |
Информация по идентификационным кодам программ в сетевых лицензиях Autodesk | KSI | AutoCAD | 1 | 14.09.2009 15:59 |
Autodesk Revit | Sett | Revit | 37 | 10.09.2009 11:41 |