Revit中的过滤元素并设置参数

问题描述 投票:1回答:2

大家好,大约两三个月前,我开始为Revit学习Dynamo ...终于:)

[经过大量的学习和测试之后,我有了一些自己的脚本。然后我学习了Python,因为我无法仅使用Dynamo-Nodes创建下一个脚本。

然后,我想到了“让我们看看作为插件完成某项工作有多困难”。我看了一些视频,读了很多东西。最后,我安装了Revit-AddIn-Wizard,并制作了我的第一个小型Test-PlugIn。很棒...

现在我有一些我不理解的问题...所以我想我会在这里碰碰运气的,因为我通过阅读本网站获得了很多信息和帮助。

我的目标是/是:(我告诉你我现在有什么)具有一些按钮,组合框和DataGridView的表单。我可以加载一个Excelfile,单击“显示”以在DataGridView中显示它。每行的标题将自动放入3个组合框。在第一个组合框中选择第一个搜索参数,在第二个组合框中可以选择另一个搜索参数,在第三个组合框中选择要设置的参数。我有一个复选框,可以从类型参数切换到实例参数以进行搜索和设置操作。还有一个按钮,显示另一个带有类别列表的小表格(我不会搜索全部,仅搜索几乎所有模型类别)。

PlugIn我带了很多“观看视频,通过互联网阅读,测试,测试和测试”。感谢这里的站点和其他站点...我设法使整个插件几乎100%正常工作。但是现在我有一些奇怪的问题,而且我对如何解决它们或是否有可能一无所知。我真的希望有人能帮助我。首先...我只是告诉你我的问题,也许有人可以说“这确实是一个问题!”或有可能完成它。然后,我将发布一些代码。所以...我该怎么办?1.我有一个FilteredElementCollector,它过滤所有元素。2.根据我的“类型/实例复选框”,我执行.WhereElementIsElementType或.WhereElementIsNotElementType。3.然后,它传递一个MultiCategoryFilter,以将大列表仅列出模型类别。4.接下来,根据所有设置,集合将通过十种不同的“方法”之一。在这里,我根据searchlists-combobox过滤了此集合。当组合框显示“ Familie”或“ Typ”时,它将过滤“ .BuiltInParameter.SymbolFamilyName”或“ .Name”,否则仅使用“ .LookupParameter”。之后,我有了一个仅包含选定类别元素的集合,其中包含Excellist中的值。5.根据我的搜索和设置设置(例如,搜索类型和设置实例),我必须从收集的类型或相反的方式中获取实例。6.然后,将其传递给另一个方法,在该方法中最终设置参数。所以... Excelheader进入组合框,具体取决于您在其中选择的内容,它会创建具有所选行的值的列表。希望大家都明白。现在...我的问题在哪里?当我搜索类型名称或实例参数并设置类型参数时,它适用于所有类别,而没有任何错误。1.当我尝试设置一个实例参数(与我的搜索设置无关)时,它适用于所有“普通”系列,但不适用于系统系列(例如,墙壁,地板,管道等)。没有错误,什么也没发生为什么?看来我无法为系统系列设置实例参数。2.屋顶,楼梯,CurtainPanels和GenericModel在我搜索类型参数时出现问题。错误类似于“对象引用未设置为对象实例”。只有这4个类别,我要设置的内容都没有关系...但是当我搜索family- / typeNAME或Instance-Parameter时,我可以设置类型或实例,并且它可以工作(sysfam的实例除外)。3.当我尝试搜索并设置一个实例参数时,它适用于所有类别,但如果一堵墙不包含搜索值...则足够了,一堵墙没有搜索参数值,一切都会被取消。我还有其他一些小问题...但是我希望有人可以帮助我解决这些问题...我将非常感谢问候,并度过愉快的白天或黑夜:)菲利普

c# revit-api revit
2个回答
0
投票

Tl;博士

您描述的三个问题听起来像您自己的问题。我没有听到其他人跑问三个独立的问题,并提供三个独立的最小代码片段来描述它们的产生方式。到那些。我建议您创建三个单独的独立minimal reproducible cases以演示所有三个问题。当您简化和最小化代码时,问题可能会消失。如果不是这样,它可能只是处于很小且易于管理的状态,其他人可以帮助您查看它。鉴于上述冗长的描述,世界上没有人可以帮助您。


0
投票

感谢您的回答,杰里米,

正如我说的,如果您不说“有了这些类别,确实有一些问题!”对于我来说是可以的!

如您所说,我将尝试将其细分为一些可重现的案例。对我来说将是困难的,因为在这一点上我不知道如何“隔离”这些问题,但是我会找到一种方法...是否可以发布full.sln + addin-manifest。

无论如何...谢谢

© www.soinside.com 2019 - 2024. All rights reserved.