Я архитектор, долгое время проектировал здания и сооружения, но вот с лета прошлого года начал программировать на C# используя Revit API. У меня уже есть несколько модулей-надстроек для Revit и теперь я хочу поделиться некоторым опытом разработки для Revit. Предполагается, что читатели умеют писать макросы для Revit на C#.
Revit API не содержит методов для параллельных вычислений. Даже при попытке разместить объекты Revit API в параллельных потоках, возникнет ошибка времени выполнения программы. Поэтому я сейчас хочу показать как можно выполнять все таки параллельные вычисления, работая при этом с Revit API.
Представим следующую практическую задачу, которую выполним в параллельном и последовательном режиме. Выделим несколько сотен стен, найдем центр каждой стены в плане. После проверим расстояние между центрами стенам, и найдем две наиболее близко расположенные стены относительно их центров.Читать полностью »