Parameters Revit API:创建自定义下拉参数

Parameters Revit API:创建自定义下拉参数,parameters,enums,revit,Parameters,Enums,Revit,我的团队正在为Autodesk Revit开发插件。我们希望向用户提供出现在所有或大多数结构图元的“属性”面板中的自定义参数项目或共享,允许用户从一小组预定义值中进行选择。i、 e.枚举类型的参数。举个例子,假设我们想要添加一个参数,其值可以是红色、黄色、蓝色和绿色,其含义仅与插件上下文相关 令我们惊讶的是,这一点都不简单,我还没有找到一个代码示例来演示如何做到这一点。我认为这是Revit世界中罕见的用例 一个很有希望的线索是Family Type参数类型,但不清楚如何将其用于我们的目的。从另一

我的团队正在为Autodesk Revit开发插件。我们希望向用户提供出现在所有或大多数结构图元的“属性”面板中的自定义参数项目或共享,允许用户从一小组预定义值中进行选择。i、 e.枚举类型的参数。举个例子,假设我们想要添加一个参数,其值可以是红色、黄色、蓝色和绿色,其含义仅与插件上下文相关

令我们惊讶的是,这一点都不简单,我还没有找到一个代码示例来演示如何做到这一点。我认为这是Revit世界中罕见的用例

一个很有希望的线索是Family Type参数类型,但不清楚如何将其用于我们的目的。从另一个论坛帖子中提到的,一个关键的时间表也可能会有所帮助。如果有人能解释如何将这些机制用于这一目的,请提供任何和所有建议

从博客文章中,我推测,为了方便起见,文本参数将显示一个下拉列表,其中包含模型中已经存在的参数的所有值,但这并不能完全解决我们的问题-我们需要用户能够在模型中没有已经存在的值的情况下分配值

较小的解决方案是将参数设置为整数或文本值,并让用户在必要时手动键入值。不太理想,部分原因是用户可能键入错误。我们希望他们能够简单地从下拉列表中选择一个预定义值

另一个较小的解决方案是一组Yes/No参数,每个枚举值对应一个参数。如果用户意外地为单个元素选择了多个元素,则会出现问题

有人知道如何创建这样的枚举下拉参数吗


我们会找到答案,但这里的任何帮助都会大大加快研究的速度。

在与Revit顾问交谈后,我确定无法在Revit中创建具有自定义值的下拉参数。相反,解决方案是创建多个“是/否”复选框,并为复选框提供条件逻辑,使它们相互排斥。这称为if/then参数。我还没有找到通过API设置参数条件逻辑的代码,也没有机会进一步研究,但论坛上的评论暗示这很容易做到


如果有人可以发布代码来实现这一点,我会将其标记为答案

看看“日程安排关键点”。您可以使用密钥计划的api填充参数。这将为您提供属性托盘中的下拉列表。然后,根据选择的一个,将设置其他值。我建议您在Revit中创建一个明细表键,并对其进行修改,以了解它正在做什么,然后您可以使用api创建它