用户登录
找回密码
立即注册
搜索
热搜: 视频教程
查看: 3171|回复: 1

求助

[复制链接]

1

主题

1

帖子

15

积分

新手上路

Rank: 1

积分
15
发表于 2023-1-3 15:30:07 | 显示全部楼层 |阅读模式
观看叶老师的过滤对象视频,照着老师的代码写了下来,然后发现同样的代码我的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;

        }
    }
}
回复

使用道具 举报

697

主题

3374

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
11230
QQ
发表于 2023-1-5 00:37:31 | 显示全部楼层
是不是不存在 名字为 Level1 的标高?

常见的是带空格的: Level 1

此外没有看到图片
力鼎用户成功,
Joe
回复

使用道具 举报

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

本版积分规则

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

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

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