Revit API создание аналитической модели. NET

Автор Тема: Revit API создание аналитической модели. NET  (Прочитано 6576 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Тема содержит сообщение с Решением. Нажмите здесь чтобы посмотреть его.

Оффлайн DEMАвтор темы

  • ADN Club
  • Сообщений: 7
  • Карма: 1
Всем Привет!
К сожалению на форуме DWG.ru мне так и не смогли помочь.
Никак не получается найти примеров работы с Autodesk.Revit.DB.Analysis.
Те примеры которые нашел не срабатывают.
Требуется из текстового файла выгружать расчетные данные в Ревит.
ЧТобы формировать вот такие модели.
Если кто нибудь может сделать простейший пример как создать surface или плиту из fase и присвоить им данные для отоборбражения изополей то был бы очень благодарен.

Оффлайн Александр Игнатович

  • Administrator
  • *****
  • Сообщений: 1152
  • Карма: 338
  • Skype: alexandr.ignatovich.itc
Привет.

В SDK Samples\AnalysisVisualizationFramework смотрел?

Оффлайн Александр Игнатович

  • Administrator
  • *****
  • Сообщений: 1152
  • Карма: 338
  • Skype: alexandr.ignatovich.itc
Посмотри еще у Джереми: https://thebuildingcoder.typepad.com/blog/avf/

Оффлайн DEMАвтор темы

  • ADN Club
  • Сообщений: 7
  • Карма: 1
Ага.
Но там нету создания поверхности.
Так же если я например запускаю скомпилинный пример, по созданию результатов аналитики.
Они почему то не появляются.
Либо для них нужно создавать свой плагин, не пойму.

Оффлайн Александр Игнатович

  • Administrator
  • *****
  • Сообщений: 1152
  • Карма: 338
  • Skype: alexandr.ignatovich.itc
Они не видны, если визуальный стиль вида - каркас. Есть ещё нюанс (насколько помню), по крайней мере, с примером из SDK в классе SpatialFieldManager. Там не создается стиль визуализации. Его надо руками создать и назначить виду

Оффлайн DEMАвтор темы

  • ADN Club
  • Сообщений: 7
  • Карма: 1
Код - vb.net [Выбрать]
  1. Public Class Command
  2.     ' All Autodesk Revit external commands must support this interface
  3.     Implements Autodesk.Revit.UI.IExternalCommand
  4.     Public Function Execute(ByVal commandData As Autodesk.Revit.UI.ExternalCommandData,
  5.             ByRef message As String, ByVal elements As Autodesk.Revit.DB.ElementSet) _
  6.             As Autodesk.Revit.UI.Result Implements Autodesk.Revit.UI.IExternalCommand.Execute
  7.         ' NOTES: Anything can be done in this method, such as create a message box,
  8.         ' a task dialog or fetch some information from revit and so on.
  9.         ' We mainly use the task dialog for example.
  10.         ' Get the application and document from external command data.
  11.  
  12.         Dim app As Autodesk.Revit.ApplicationServices.Application = commandData.Application.Application
  13.         Dim doc As Document = commandData.Application.ActiveUIDocument.Document
  14.         Dim uiDoc As UIDocument = commandData.Application.ActiveUIDocument
  15.         Dim unitNames As IList(Of String) = New List(Of String)()
  16.         unitNames.Add("Feet")
  17.         unitNames.Add("Inches")
  18.         Dim multipliers As IList(Of Double) = New List(Of Double)()
  19.         multipliers.Add(1)
  20.         multipliers.Add(12)
  21.  
  22.         Dim resultSchema As New AnalysisResultSchema("Schema Name", "Description")
  23.         Dim sfm = SpatialFieldManager.CreateSpatialFieldManager(doc.ActiveView, 1)
  24.  
  25.         resultSchema.SetUnits(unitNames, multipliers)
  26.         Dim ss As String = doc.ActiveView.AnalysisDisplayStyleId.ToString
  27.         Dim resultSchema_ewf As New AnalysisResultSchema("ef", "wefefger")
  28.         sfm.RegisterResult(resultSchema)
  29.  
  30.         MsgBox(ss)
  31.         Return Result.Succeeded
По хорошему этот код должен создавать новую Схему.
Но ничего не создается почему то.
« Последнее редактирование: 05-03-2020, 17:22:56 от Александр Ривилис »

Оффлайн DEMАвтор темы

  • ADN Club
  • Сообщений: 7
  • Карма: 1
SDK в классе SpatialFieldManager.
Наверное SpatialFieldGradient
АААА его тоже пробовал, выбирал плиту и ничего не получалось...
Может для этого нужно было не плиту выбирать.
Но с плитой не сработало.

Оффлайн Александр Игнатович

  • Administrator
  • *****
  • Сообщений: 1152
  • Карма: 338
  • Skype: alexandr.ignatovich.itc
А примитивы создать, а данными накормить?

Оффлайн DEMАвтор темы

  • ADN Club
  • Сообщений: 7
  • Карма: 1
См. ответ выше, я этот SpatialFieldGradient переводил в VB.net.
Он компилился, срабатывал, выбирал я плиту он срабатывал аналитику я включал. А плита какой была такой и сотавалась.

Отмечено как Решение DEM 05-03-2020, 17:56:32

Оффлайн Александр Игнатович

  • Administrator
  • *****
  • Сообщений: 1152
  • Карма: 338
  • Skype: alexandr.ignatovich.itc
SDK в классе SpatialFieldManager.
Наверное SpatialFieldGradient

эээ




Оффлайн DEMАвтор темы

  • ADN Club
  • Сообщений: 7
  • Карма: 1
ХМММ
Я только Сорцы смотрел...
ССООООРРИ, ща гляну....

Оффлайн Александр Игнатович

  • Administrator
  • *****
  • Сообщений: 1152
  • Карма: 338
  • Skype: alexandr.ignatovich.itc
Посмотри в SDK в описании класса есть пример на vb тоже. Там только после запуска руками требуется настроить стиль схемы анализа

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
См. ответ выше, я этот SpatialFieldGradient переводил в VB.net.
Может как раз проблема возникла при "переводе".
P.S.: Посмотри у меня в подписи правило форматирования кода на форуме и пожалуйста соблюдай его.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн DEMАвтор темы

  • ADN Club
  • Сообщений: 7
  • Карма: 1
Извиняюсь!!!
Похоже у меня все работало!
Но я в аналитической модели не изменял название