请选择 进入手机版 | 继续访问电脑版
用户登录
找回密码
立即注册
搜索
热搜: 视频教程
查看: 5923|回复: 0

新人求助

[复制链接]

2

主题

4

帖子

27

积分

新手上路

Rank: 1

积分
27
发表于 2018-10-4 21:28:48 | 显示全部楼层 |阅读模式
观看叶老师的过滤对象视频,照着老师的代码写了下来,然后发现同样的代码我的Revit确运行不了,并且出现了图片中的错误。代码和图片如下
图片中提示的应该就是我加粗变色的那行代码的错误,但是我都指定的是第一个元素,然而还提示我图中的错误,或者是我选择的对象出现了问题?
namespace FindRoomInLevle
{
    [Transaction(TransactionMode.Manual)]
    [Regeneration(RegenerationOption.Manual)]
    public class FindRoomInLevle1:IExternalCommand
    {
        public Result Execute(ExternalCommandData commandData,ref string messages,ElementSet elements)
        {
            UIApplication app= commandData.Application;
            Document document = app.ActiveUIDocument.Document;
            FilteredElementCollector collector = new FilteredElementCollector(document);//创建一个单元过滤器
            ICollection<Element> Levels = collector.OfClass(typeof(Level)).ToElements();
            var query = from element in collector
                        where element.Name == “Level1”
                        select element;
        //获得楼层编号
            List<Element> level1 =query.ToList<Element>();
            ElementId levelId = level1[0].Id;   
            //找到一层的所有的墙
            ElementLevelFilter level1Filter = new ElementLevelFilter(levelId); //创建一个楼层过滤器
            collector = new FilteredElementCollector(document);
            ICollection<Element> allWallsOnLevel1 = collector.OfClass(typeof(Wall)).WherePasses(level1Filter).ToElements();
            TaskDialog.Show("在一层的墙的数目", allWallsOnLevel1.Count.ToString());
          return Result.Succeeded;

        }
    }
}
QQ截图20181004201027.png

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Powered by Discuz! X3.4 © 2001-2013 Comsenz Inc.

京ICP备17008402号-1  |  Archiver  |  手机版  |  小黑屋  |  橄榄山BIM论坛    

点击立刻咨询
快速回复 返回顶部 返回列表