Revit开发之管道创建

来源:互联网 发布:手机除码软件 编辑:程序博客网 时间:2024/05/01 21:36


在Revit中管道创建要使用

Pipe.Create()方法,而这个方法有3种重载

Create(Document, ElementId, ElementId, Connector, Connector)

Create(Document, ElementId, ElementId, Connector, XYZ)

Create(Document, ElementId, ElementId, ElementId, XYZ, XYZ)

这3种重载,后面两个参数是用来设置管道的两个端点的,

他们可以是一个XYZ,也可以是一个Connector.

XYZ 在Revit中代表的是一个点,Connector代表的是管道接头,从位置上讲就是管道的一个端点,

它可以从Pipe的ConnectorManager获取。

Document就是你要创建Pipe的Document,


第一个ElementId 代表管道类型,它可以同过用PipeType创建的ElementClassFilter 过滤得到

第二个ElementId 代表管道所在标高,它可以通过用Level创建的ElementClassFilter 过滤得到,

也可同Level.Create()创建。

// 第三中重载多了个ElementID 参数

第三个ElementId 代表管道系统类型,它可以通过用PipingSystemType创建的ElementClassFilter 

过滤得到,如果创建时传入了Connector就不需要这个参数


下面是个简单的例子:


            Transaction tans = new Transaction(doc, "trans");
            tans.Start();

            FilteredElementCollector pipsystem = new FilteredElementCollector(doc);
            pipsystem.OfClass(typeof(PipingSystemType));
            PipingSystemType pipesystemtype = pipsystem.ToList().First() as PipingSystemType;

            FilteredElementCollector pipetype = new FilteredElementCollector(doc);
            pipetype.OfClass(typeof(PipeType));
            PipeType type = pipetype.ToList().First() as PipeType;
            Pipe tp = Pipe.Create(doc, pipesystemtype.Id, type.Id, Level.Create(doc, 5).Id, new XYZ(), new XYZ(0, 50, 0));

            tans.Commit();


博主会经常更新一些技术文章,请大家多多关注,多多交流

更多技术交流,请加qq群480950299



0 0
原创粉丝点击