ADN Open CIS
Сообщество программистов Autodesk в СНГ

13/12/2015

Работа с макросами в Revit - Выбор языка программирования

Итак, мы уже сделали первый шаг к тому, чтобы стать гуру в написании макросов. Следующий шаг – научиться писать код и использовать Revit API. Обучение программирование как таковому все же выходит за рамки данного руководства, но я укажу некоторые базовые аспекты, которое помогут вам в дальнейшем.

Выбор языка программирования

В первом примере мы использовали C# для написания макросов. C# это только один из 4 языков, которые можно использовать для написания макросов. Так как Revit использует  Microsoft .NET framework 4.0, то вы можете писать макросы также и на Python, Ruby или VB.NET. Все эти языки компилируют код в одинаковый промежуточный код. Поэтому доступ к Revit API возможен из любого из указанных языков.

Ниже представлена информация о поддерживаемых языках программирования с их преимуществами и недостатками.

  • Язык: История, преимущества и недостатки
  • C#: Основан на С и С++. Множество примеров кода для Revit доступно в сети. С# можно также использовать для самостоятельных десктопных приложений. Однако, синтаксис языка не очень читабелен, по сравнению с другими языками. Код получается более компактным, является регистр зависимым.
  • VB.NET: Является развитием языка Visual Basic. Код на VB.NET легче читается, чем на C#. Язык не такой требовательный и строгий, как C#. Может использоваться для разработки десктопных приложений.  VB.NET более «словесный» и требует больше строк кода, чем аналогичный в C#.  Кто-то говорит, что язык не так элегантен и красив, как другие.
  • Python: Создан в 1991 году Guido van Rossum. Доступно большое количество примеров и ресурсов по обучению. Легок в обучении. Код очень легок для чтения. С его помощью можно создавать веб и десктопные приложения. Однако, что касается Revit, то не очень много специфичного кода на нем можно найти в сети. Некоторые возможности отладки отсутствуют в SharpDevelop.
  • Ruby: Создан в 1995 году Yukihiro Matsumoto. Доступно большое количество примеров и ресурсов по обучению. Легок в обучении. Код очень легок для чтения. С его помощью можно создавать веб приложения. Не очень много примеров для Revit.

Конвертация из одного языка в другой

SharpDevelop может конвертировать код из одного языка в другой. Если вы найдете хороший пример, написанный на VB.NET, то его легко преобразовать в C#.

Для конвертации код, просто создайте модуль и макрос на том языке, на котором у вас есть пример. Затем в SharpDevelop, выберите Проект – Преобразовать и выберите нужный язык.

 

Но помните, что процесс преобразования не всегда идеален. Иногда код конвертируется в какой-то бред, к сожалению.

Источник: http://thebuildingcoder.typepad.com/blog/2015/10/rtc-classes-and-getting-started-with-revit-macros.html#14

Автор перевода: Виктор Чекалин

Обсуждение: http://adn-cis.org/forum/index.php?topic=3279

Опубликовано 13.12.2015
Отредактировано 15.12.2015 в 15:36:48