2017-01-10 1 views
0

Je suis nouveau dans Revit Api et j'ai besoin d'aide. J'ai quelques ModelLine. Comment connaître le point de départ ou d'arrivée de la ModelLine?Comment obtenir Start ou End Point 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); 
     } 

Que dois-je faire ensuite?

Répondre

1

En tant que débutant à l'API Revit, je vous suggère de travailler via l'API Revit débutez matière première de tous, en particulier les DevTV et Mes tutoriels Première Revit Plugin:

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

qui fonctionnent réellement des réponses cette question et bien d'autres.

La réponse à votre question est la suivante: les points de départ et d'arrivée ModelCurve sont contrôlés par la courbe géométrique sous-jacente.

Il est accessible via la propriété GeometryCurve.

Il fournit la méthode GetEndPoint qui renvoie le point 3D au début ou à la fin.

Cela répond à votre question.

Pour définir un nouveau point de départ ou de fin, c'est-à-dire, modifier celui existant, vous devrez peut-être créer une courbe entièrement nouvelle.

Voici un exemple de faire exactement cela:

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

+0

Merci pour la réponse – Kuvon