繁体   English   中英

如何获得起点或终点模型线

[英]How get Start or End Point ModelLine

我是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);
        }

接下来我要做什么?

作为Revit API的新手,我建议您首先阅读Revit API入门资料,尤其是DevTV和My First Revit插件教程:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM