Forge, API и программирование – Русский – только для чтения
Задавайте вопросы и делитесь знаниями по Autodesk Forge и программированию на API программного обеспечения Autodesk
отмена
Отображаются результаты для 
Показать  только  | Вместо этого искать 
Вы имели в виду: 
Ответить
Сообщение 1 из 72
kart1984
7443 просмотров, 71 ответов

Revit API

Доброго времени суток!

Предлагаю в данной теме вести обсуждение Revit API. Сейчас готовлю статью для новичков, не только в АПИ Revit, но и впрограммировании тоже. Думаю со временем наберется русскоязычный материал для этой темы и обсуждений будет много... Некоторый материал и мои нароботки присутствуют на моем блоге.

Для начала дам общую информацию по дополнениям. Как они регистрируются в Revit.

Для регистрации дополнения используется файл манифест который находится в папке:

  • Если используется Windows XP: C:\Documents and Settings\All Users\Application Data\Autodesk\Revit\Addins\2011\
  • Если Windows 7: C:\ProgramData\Autodesk\Revit\Addins\2011\

 

Естественно если у вас Windows установлен на другом диске, то ищете папку там. Файл манифест имеет разширение *.addin.

Вот код, написанный в одном из моих файлов:

<?xml version="1.0" encoding="utf-8"?>
<RevitAddIns>
  <AddIn Type="Application">
    <Name>Editing</Name>
    <Assembly>C:\ProgramData\Autodesk\Revit\AddIns\2011\Editing.dll</Assembly>
    <AddInId>76eb700a-2c85-4888-a78d-31429ecae9ef</AddInId>
    <FullClassName>Editing.App</FullClassName>
  </AddIn>
  <AddIn Type="Command">
    <Assembly>C:\ProgramData\Autodesk\Revit\AddIns\2011\Editing.dll</Assembly>
    <AddInId>a9551912-c6e3-44a6-844d-e4d140c33916</AddInId>
    <FullClassName>Editing.Flipped</FullClassName>
    <Text>Антиотзеркаливание</Text>
    <Description>Возвращает отзеркаленным дверям заложеную в семействе ориентацию Право/лево</Description>
    <LongDescription>Описание</LongDescription>
    <AvailabilityClassName>Editing.Antimirror.FlippedAviability</AvailabilityClassName>
    <VisibilityMode>NotVisibleInFamily</VisibilityMode>
    <VisibilityMode>NotVisibleWhenNoActiveDocument</VisibilityMode>
    <LanguageType>Unknown</LanguageType>
  </AddIn>
</RevitAddIns>
Это не весь код, но я оставил основной. Я выделил цветом то, что нам может пригодиться. Как видно дополнения делятся на две категории. Это Application и Command. Дополнения типа Application запускаются сразу после старта Revit. Command  запускается при нажатии кнопки или выборе из списка дополнений во вкладке Надстройки. В тег Assembly у нас заключен путь к файлу дополнения. В теге FullClassName указан путь к классу, с которого стартует наше дополнение. AvailabilityClassName и VisibilityMode управляют доступностью к комманды в том или ином случае. Остальные теги относятся к описанию нашего дополнения.

Думаю для начала хватит.

 

С уважением
Артур Кураков
Теги (2)
71 ОТВЕТ 71
Сообщение 61 из 72
AlexanderSkibin
в ответ: AAntonoff

Доброго времени суток!

 

Недавно начал изучать Revit API. Столкнулся со следующей проблемой.

Я пробовал через ScheduleFieldType выбирать столбцы в таблице спецификации.

А возможно ли самому создавать эти поля? Например, в качестве одного из столбцов выбрать не параметр, а элемент семейства.

 

Сообщение 62 из 72
kart1984
в ответ: AlexanderSkibin

Приветствую!

Все принципы создания спецификации такие же как у  пользователя, тоэтому какие столбцы можно создать пользователем такие и через АПИ. Но вот насколько я помню редактировать спецификацию нам через АПИ не позволяют. А вот создавать с нуля пожалуйста )

С уважением
Артур Кураков
Сообщение 63 из 72
AlexanderSkibin
в ответ: kart1984

А каким образом мы можем создавать параметры через API ? И можем ли?

Сообщение 64 из 72

Думаю ответ можно получить здесь: http://adn-cis.org/forum/

Відповідь корисна? Клікніть на "ВПОДОБАЙКУ" цім повідомленням! | Do you find the posts helpful? "LIKE" these posts!
Находите сообщения полезными? Поставьте "НРАВИТСЯ" этим сообщениям!
На ваше запитання відповіли? Натисніть кнопку "ПРИЙНЯТИ РІШЕННЯ" | Have your question been answered successfully? Click "ACCEPT SOLUTION" button.
На ваш вопрос успешно ответили? Нажмите кнопку "УТВЕРДИТЬ РЕШЕНИЕ"


Alexander Rivilis / Александр Ривилис / Олександр Рівіліс
Programmer & Teacher & Helper / Программист - Учитель - Помощник / Програміст - вчитель - помічник
Facebook | Twitter | LinkedIn
Expert Elite Member

Сообщение 65 из 72
goblya
в ответ: Alexander.Rivilis

Доброго времени суток!

Недавно начал изучать Revit API. Столкнулся со следующей проблемой.Для начала пытаюсь сделать плагин(или как это правильно называется?).Чтобы он показывал имя системы выбранного воздуховода.Но вместо имени системы мне выдает "autodesk.revit.db.parametr". И еще вопрос как сделать так чтобы при выделении можно выбрать было только воздуховод? код прикладываю

[TransactionAttribute(TransactionMode.Manual)]
[RegenerationAttribute(RegenerationOption.Manual)]
public class Lab1PlaceGroup : IExternalCommand
{
    public Result Execute(
      ExternalCommandData commandData,
      ref string message,
      ElementSet elements)
    {
        UIApplication uiApp = commandData.Application;
        Document doc = uiApp.ActiveUIDocument.Document;

        Reference pickedRef = null;
        Selection sel = uiApp.ActiveUIDocument.Selection;
        pickedRef = sel.PickObject(ObjectType.Element, "Please select a duct");
        Element elem =doc.GetElement(pickedRef);

        Parameter Namesystem = elem.get_Parameter(BuiltInParameter.RBS_SYSTEM_NAME_PARAM);
        TaskDialog.Show("Systems", Namesystem.ToString());
        return Result.Succeeded;
    }
}

 

 

Сообщение 66 из 72
Alexander.Rivilis
в ответ: goblya

Рекомендую задать этот вопрос здесь:

http://adn-cis.org/forum/

Відповідь корисна? Клікніть на "ВПОДОБАЙКУ" цім повідомленням! | Do you find the posts helpful? "LIKE" these posts!
Находите сообщения полезными? Поставьте "НРАВИТСЯ" этим сообщениям!
На ваше запитання відповіли? Натисніть кнопку "ПРИЙНЯТИ РІШЕННЯ" | Have your question been answered successfully? Click "ACCEPT SOLUTION" button.
На ваш вопрос успешно ответили? Нажмите кнопку "УТВЕРДИТЬ РЕШЕНИЕ"


Alexander Rivilis / Александр Ривилис / Олександр Рівіліс
Programmer & Teacher & Helper / Программист - Учитель - Помощник / Програміст - вчитель - помічник
Facebook | Twitter | LinkedIn
Expert Elite Member

Сообщение 67 из 72
yarko_89
в ответ: kart1984

Здравствуйте! Подскажите пожалуйста, почему то уже замолчали об пособии на руском?

Или я что-то пропустил???

Сообщение 68 из 72
Alexander.Rivilis
в ответ: yarko_89


@yarko_89 wrote:

Здравствуйте! Подскажите пожалуйста, почему то уже замолчали об пособии на руском?

Или я что-то пропустил???


О каком пособии речь? Если первые уроки, то они есть:

http://adn-cis.org/forum/index.php?topic=284.0

Відповідь корисна? Клікніть на "ВПОДОБАЙКУ" цім повідомленням! | Do you find the posts helpful? "LIKE" these posts!
Находите сообщения полезными? Поставьте "НРАВИТСЯ" этим сообщениям!
На ваше запитання відповіли? Натисніть кнопку "ПРИЙНЯТИ РІШЕННЯ" | Have your question been answered successfully? Click "ACCEPT SOLUTION" button.
На ваш вопрос успешно ответили? Нажмите кнопку "УТВЕРДИТЬ РЕШЕНИЕ"


Alexander Rivilis / Александр Ривилис / Олександр Рівіліс
Programmer & Teacher & Helper / Программист - Учитель - Помощник / Програміст - вчитель - помічник
Facebook | Twitter | LinkedIn
Expert Elite Member

Сообщение 69 из 72
yarko_89
в ответ: Alexander.Rivilis

Ну я вот спрашиваю kart1984 об этом пособии говорил начиная с 3 поста?

Или о чем то другом?

 

И я так понимаю кроме уроков "Моя первая програма" на русском ничего не намечается???

А то с англицким так плохо.(((

Сообщение 70 из 72
Alexander.Rivilis
в ответ: yarko_89


@yarko_89 wrote:

Ну я вот спрашиваю @kart1984 об этом пособии говорил начиная с 3 поста?

Или о чем то другом?

 

И я так понимаю кроме уроков "Моя первая програма" на русском ничего не намечается???

А то с англицким так плохо.(((


 

Ничего другого в планах нет. Есть целый русскоязычный сайт и форум. Ссылку я дал выше.

 

Відповідь корисна? Клікніть на "ВПОДОБАЙКУ" цім повідомленням! | Do you find the posts helpful? "LIKE" these posts!
Находите сообщения полезными? Поставьте "НРАВИТСЯ" этим сообщениям!
На ваше запитання відповіли? Натисніть кнопку "ПРИЙНЯТИ РІШЕННЯ" | Have your question been answered successfully? Click "ACCEPT SOLUTION" button.
На ваш вопрос успешно ответили? Нажмите кнопку "УТВЕРДИТЬ РЕШЕНИЕ"


Alexander Rivilis / Александр Ривилис / Олександр Рівіліс
Programmer & Teacher & Helper / Программист - Учитель - Помощник / Програміст - вчитель - помічник
Facebook | Twitter | LinkedIn
Expert Elite Member

Сообщение 71 из 72
Anonymous
в ответ: kart1984

Есть ли способ получить данные из спецификации через API без экспорта?

И как через API перенести её на лист и вообще можно ли через API создавать и редактировать листы?

Сообщение 72 из 72
Alexander.Rivilis
в ответ: Anonymous


@Anonymous wrote:

Есть ли способ получить данные из спецификации через API без экспорта?

И как через API перенести её на лист и вообще можно ли через API создавать и редактировать листы?


Рекомендую задать жтот вопрос здесь: http://adn-cis.org/forum/index.php?board=24.0

Відповідь корисна? Клікніть на "ВПОДОБАЙКУ" цім повідомленням! | Do you find the posts helpful? "LIKE" these posts!
Находите сообщения полезными? Поставьте "НРАВИТСЯ" этим сообщениям!
На ваше запитання відповіли? Натисніть кнопку "ПРИЙНЯТИ РІШЕННЯ" | Have your question been answered successfully? Click "ACCEPT SOLUTION" button.
На ваш вопрос успешно ответили? Нажмите кнопку "УТВЕРДИТЬ РЕШЕНИЕ"


Alexander Rivilis / Александр Ривилис / Олександр Рівіліс
Programmer & Teacher & Helper / Программист - Учитель - Помощник / Програміст - вчитель - помічник
Facebook | Twitter | LinkedIn
Expert Elite Member

Не нашли то, что искали? Задайте вопросы в сообществе или поделитесь своими знаниями.

Новая тема  

Autodesk Design & Make Report