Autodesk.Revit.Attributes.JournalingAttribute
是Revit API中的一个基础属性类,用于告知Revit是否记录一个给定的命令/事务到记录文件中。如果命令/事务可以被记录,那么在重放 “记录” 动作的时候,程序会尝试重新执行这个命令/事务。
只需要一个构造函数:
public JournalingAttribute(bool journalingEnabled)
journalingEnabled
: boolean类型,是否开启记录功能。一个只读属性:
public bool JournalingEnabled { get; }
JournalingEnabled
:boolean类型,获取是否开启记录功能。你可以使用JournalingAttribute
在运行时为自己的命令/事务开启或关闭记录功能。假设我们有一个名为MyCommand
的命令:
[Transaction(TransactionMode.Manual)]
[Journaling(JournalingModel.NoCommandData)]
public class MyCommand : IExternalCommand
{
public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements)
{
// Your code here
return Result.Succeeded;
}
}
在此示例中,我们用JournalingModel.NoCommandData
指定了当前命令不可以被记录。这样,在我们录制日志时,它不会被考虑。
这意味着,在我们执行“重放”命令/事务时,MyCommand
被调用的时候,Execute
方法中的代码将不会被执行。
JournalingAttribute
对于控制哪些命令/事务需要被记录至关重要,它可以在设计阶段就被设置,也可以在运行时动态设置。它的使用可以大大提高我们开发的应用程序的便捷性和稳定性,优化用户体验。