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

ADN Club => Revit API => Тема начата: DEM от 05-03-2020, 17:01:55

Название: Revit API создание аналитической модели. NET
Отправлено: DEM от 05-03-2020, 17:01:55
Всем Привет!
К сожалению на форуме DWG.ru мне так и не смогли помочь.
Никак не получается найти примеров работы с Autodesk.Revit.DB.Analysis.
Те примеры которые нашел не срабатывают.
Требуется из текстового файла выгружать расчетные данные в Ревит.
ЧТобы формировать вот такие модели.(https://autodesk.i.lithium.com/t5/image/serverpage/image-id/466542iAD0A42AEFF56988C/image-size/large?v=1.0&px=999)
Если кто нибудь может сделать простейший пример как создать surface или плиту из fase и присвоить им данные для отоборбражения изополей то был бы очень благодарен.
Название: Re: Revit API создание аналитической модели. NET
Отправлено: Александр Игнатович от 05-03-2020, 17:05:01
Привет.

В SDK Samples\AnalysisVisualizationFramework смотрел?
Название: Re: Revit API создание аналитической модели. NET
Отправлено: Александр Игнатович от 05-03-2020, 17:06:37
Посмотри еще у Джереми: https://thebuildingcoder.typepad.com/blog/avf/
Название: Re: Revit API создание аналитической модели. NET
Отправлено: DEM от 05-03-2020, 17:07:55
Ага.
Но там нету создания поверхности.
Так же если я например запускаю скомпилинный пример, по созданию результатов аналитики.
Они почему то не появляются.
Либо для них нужно создавать свой плагин, не пойму.
Название: Re: Revit API создание аналитической модели. NET
Отправлено: Александр Игнатович от 05-03-2020, 17:11:06
Они не видны, если визуальный стиль вида - каркас. Есть ещё нюанс (насколько помню), по крайней мере, с примером из SDK в классе SpatialFieldManager. Там не создается стиль визуализации. Его надо руками создать и назначить виду
Название: Re: Revit API создание аналитической модели. NET
Отправлено: DEM от 05-03-2020, 17:16:45
Код - 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
По хорошему этот код должен создавать новую Схему.
Но ничего не создается почему то.
Название: Re: Revit API создание аналитической модели. NET
Отправлено: DEM от 05-03-2020, 17:18:52
SDK в классе SpatialFieldManager.
Наверное SpatialFieldGradient
АААА его тоже пробовал, выбирал плиту и ничего не получалось...
Может для этого нужно было не плиту выбирать.
Но с плитой не сработало.
Название: Re: Revit API создание аналитической модели. NET
Отправлено: Александр Игнатович от 05-03-2020, 17:20:04
А примитивы создать, а данными накормить?
Название: Re: Revit API создание аналитической модели. NET
Отправлено: DEM от 05-03-2020, 17:22:07
См. ответ выше, я этот SpatialFieldGradient переводил в VB.net.
Он компилился, срабатывал, выбирал я плиту он срабатывал аналитику я включал. А плита какой была такой и сотавалась.
Название: Re: Revit API создание аналитической модели. NET
Отправлено: Александр Игнатович от 05-03-2020, 17:23:04
SDK в классе SpatialFieldManager.
Наверное SpatialFieldGradient

эээ


(https://i.postimg.cc/MMHB6ZkC/sfm-sdk.png) (https://postimg.cc/MMHB6ZkC)
Название: Re: Revit API создание аналитической модели. NET
Отправлено: DEM от 05-03-2020, 17:24:31
ХМММ
Я только Сорцы смотрел...
ССООООРРИ, ща гляну....
Название: Re: Revit API создание аналитической модели. NET
Отправлено: Александр Игнатович от 05-03-2020, 17:24:39
Посмотри в SDK в описании класса есть пример на vb тоже. Там только после запуска руками требуется настроить стиль схемы анализа
Название: Re: Revit API создание аналитической модели. NET
Отправлено: Александр Ривилис от 05-03-2020, 17:24:54
См. ответ выше, я этот SpatialFieldGradient переводил в VB.net.
Может как раз проблема возникла при "переводе".
P.S.: Посмотри у меня в подписи правило форматирования кода на форуме и пожалуйста соблюдай его.
Название: Re: Revit API создание аналитической модели. NET
Отправлено: DEM от 05-03-2020, 17:40:39
Извиняюсь!!!
Похоже у меня все работало!
Но я в аналитической модели не изменял название
(https://i.postimg.cc/5jTnHTtc/2020-03-05-173943.jpg) (https://postimg.cc/5jTnHTtc)


(https://i.postimg.cc/Z9wLJDQM/2020-03-05-173959.jpg) (https://postimg.cc/Z9wLJDQM)