如何获取起点或终点模型线
How get Start or End Point ModelLine
我是 Revit 新手 Api,我需要帮助。
我有一些 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);
}
接下来我必须做什么?
作为 Revit 的新手 API,我建议您首先完成 Revit API 入门 material,尤其是 DevTV 和我的第一个 Revit 插件教程:
http://thebuildingcoder.typepad.com/blog/about-the-author.html#2
这实际上回答了这个问题以及更多问题。
您问题的直接答案是:ModelCurve 起点和终点由基础几何曲线控制。
可以通过GeometryCurve
属性访问。
它提供GetEndPoint
方法,returns 3D 点在其起点或终点。
这回答了你的问题。
要定义新的起点或终点,即修改现有的起点或终点,您可能需要创建一条全新的曲线。
这里有一个例子:
我是 Revit 新手 Api,我需要帮助。 我有一些 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);
}
接下来我必须做什么?
作为 Revit 的新手 API,我建议您首先完成 Revit API 入门 material,尤其是 DevTV 和我的第一个 Revit 插件教程:
http://thebuildingcoder.typepad.com/blog/about-the-author.html#2
这实际上回答了这个问题以及更多问题。
您问题的直接答案是:ModelCurve 起点和终点由基础几何曲线控制。
可以通过GeometryCurve
属性访问。
它提供GetEndPoint
方法,returns 3D 点在其起点或终点。
这回答了你的问题。
要定义新的起点或终点,即修改现有的起点或终点,您可能需要创建一条全新的曲线。
这里有一个例子: