2017-01-10 4 views
0

Я новичок в Revit Api, и мне нужна помощь. У меня есть ModelLine. Как узнать начальную или конечную точку модели?Как получить начальную или конечную точку ModelLine

Selection mySelection = rvtUIDoc.Selection; 
     ICollection<ElementId> selectedIds = rvtUIDoc.Selection.GetElementIds(); 

     ICollection<ElementId> selectedlinesIds = new List<ElementId>(); 

     foreach (ElementId id in selectedIds) 
     { 
      Element elements = rvtUIDoc.Document.GetElement(id); 

      if (elements is ModelLine) 
      { 
       selectedlinesIds.Add(id); 
      } 
     } 

     //Проверяем есть ли выделенные объекты 
     if (0 == selectedlinesIds.Count) 
     { 
      TaskDialog.Show("Revit","Вы не выделили ни одной линии"); 
     } 
     else 
     { 

      ModelLine(rvtUIDoc, m_rvtDoc, selectedlinesIds); 
     } 

что я должен делать дальше?

ответ

1

Как новичок в API Revit, я хотел бы предложить вам работать через API Revit начала работы материала в первую очередь, особенно DevTV и My First Revit Plugin учебники:

http://thebuildingcoder.typepad.com/blog/about-the-author.html#2

что на самом деле ответы этот вопрос и многое другое.

Прямой ответ на ваш вопрос: начальная и конечная точки ModelCurve контролируются лежащей в основе геометрической кривой.

Доступ к объекту недвижимости можно получить через GeometryCurve.

Он предоставляет метод GetEndPoint, который возвращает точку 3D в начале или в конце.

Это отвечает на ваш вопрос.

Чтобы определить новую начальную или конечную точку, т. Е. Изменить существующую, вам может потребоваться создать совершенно новую кривую.

Вот пример делает именно это:

http://thebuildingcoder.typepad.com/blog/2013/08/generating-a-midcurve-between-two-curve-elements.html

+0

спасибо за ответ – Kuvon

Смежные вопросы