注册一个反应器来触发与API的自定义参数?

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

我有一个具有向在自定义参数的变化进行反应的反应器。当您注册的反应器,可以指定它反应变化的类型。

UpdaterRegistry.AddTrigger(updaterId, RevitFilters.StructuralElementsFilter, Element.GetChangeTypeAny());

以下是由API允许changetypes:

public static ChangeType GetChangeTypeAny();
public static ChangeType GetChangeTypeElementAddition();
public static ChangeType GetChangeTypeElementDeletion();
public static ChangeType GetChangeTypeGeometry();
public static ChangeType GetChangeTypeParameter(ElementId parameterId);
public static ChangeType GetChangeTypeParameter(Parameter param);

我想使用GetChangeTypeParameter(Parameter param)ChangeType GetChangeTypeParameter(ElementId parameterId),但我没有找到到目前为止有道。

revit-api revit
2个回答
0
投票

我听说过几次,这些方法显然不起作用。解决方法是使用GetChangeTypeAny代替。关于这些坏消息我很遗憾。


0
投票

AddTrigger方法只适用于CategoryFilter和ParameterFilter。

如果要同时处理变更类型,然后登记在每一个单独的呼叫:

UpdaterRegistry.AddTrigger(..., ..., changeType1);
UpdaterRegistry.AddTrigger(..., ..., changeType2);

另外,可以通过组合变化类型

Autodesk.Revit.DB.ChangeType.ConcatenateChangeTypes(changeType1, changeType2)
© www.soinside.com 2019 - 2024. All rights reserved.