首页/技术分享

二次开发教程:Revit开发之管段

发布于:2019-07-25 15:09:05
4683人 分享

在API里管段对应了一个PipeSegment类,要获取可以用Class过滤去来过滤


如果要创建管段可以使用PipeSegment的Create方法来创建,这是个静态方法


public static PipeSegment Create(

Document ADocument,

ElementId MaterialId,

ElementId ScheduleId,

ICollection<MEPSize> sizeSet

)

下面是一个获取管段的小例子:


        private void PipeSegment()

        {

            FilteredElementCollector temc = new FilteredElementCollector(doc);

            temc.OfClass(typeof(PipeSegment));

            string info = null;

            foreach(Element e in temc)

            {

                info += e.Name + Environment.NewLine;

            }

            ModlessWindow.Show(info);

            //结果:

            //碳钢 - Schedule 40

            //碳钢 - Schedule 80

            //不锈钢 - 5S

            //不锈钢 - 10S

            //铜 - A

            //铜 - B

            //铜 - C     

            //铜 - D

            //塑料 - Schedule 40

            //塑料 - Schedule 80  

            //铸铁 - 22

            //铸铁 - 30

            PipeSegment ps = temc.First() as PipeSegment;

            ICollection<MEPSize> mpSizes = ps.GetSizes();//获取尺寸列表

            info = null;

            info += ps.Name + Environment.NewLine;

            foreach(MEPSize ms in mpSizes)

            {

                info += (ms.NominalDiameter * 304.8).ToString() + "\t\t"+ (ms.OuterDiameter * 304.8).ToString() + "\t\t" + (ms.InnerDiameter * 304.8).ToString() + Environment.NewLine;

            }

            ModlessWindow.Show(info);

            /*

             * 结果

             * 碳钢 - Schedule 40

            15        21.336        15.7988

            20        26.67        20.9296

            25        33.401        26.6446

            32        42.164        35.052

            40        48.26        40.894

            50        60.325        52.5018

            65        73.025        62.7126

            80        88.9        77.9272

            90        101.6        90.1192

            100        114.3        102.2604

            125        141.3002    128.1938

            150        168.275        154.051

            200        219.075        202.7174

            250        273.05        254.508

            300        323.85        303.2252

            350        355.6        333.4004

            400        406.4        381

            450        457.2        428.6504

            500        508        477.8756

            600        609.6        574.7004

             

             */



        }

转载请注明来源本文地址:https://www.tuituisoft/blog/3189.html

上一篇:

二次开发教程:WPF 依赖属性

下一篇:

二次开发教程:C# 泛型弱事件管理器