Revit.Async:使用基于任务的异步模式(TAP)从任何执行上下文中运行Revit API代码

时间:2024-05-27 00:26:42
【文件属性】:

文件名称:Revit.Async:使用基于任务的异步模式(TAP)从任何执行上下文中运行Revit API代码

文件大小:201KB

文件格式:ZIP

更新时间:2024-05-27 00:26:42

C#

Revit.Async 使用基于任务的异步模式(TAP)从任何执行上下文中运行Revit API代码。 背景 如果您遇到过Revit API异常消息,即“无法在Revit API上下文之外执行Revit API”,通常,当您想从无模式窗口执行Revit API代码时,可能需要此库来挽救生命。 解决此异常的常见方法是使用IExternalEventHandler包装Revit API代码,并提前将处理程序实例注册到Revit以获得触发器( ExternalEvent )。 要执行处理程序,只需从任何地方引发触发器即可将处理程序排队到Revit命令循环。 但是还有另一个问题。 引发触发器后,在相同的上下文中,您不知道何时执行该处理程序,并且要从该处理程序中生成一些结果并不容易。 如果您确实想做到这一点,则必须手动将控件放回调用上下文。 如果您熟悉JavaScript ES6,则此解决方案


【文件预览】:
Revit.Async-master
----说明.md(12KB)
----Revit.Async()
--------Revit.Async.csproj(3KB)
--------Properties()
----LICENSE(1KB)
----Revit.Async.Shared()
--------Revit.Async.Shared.projitems(2KB)
--------Extensions()
--------Entities()
--------RevitTask.cs(12KB)
--------ExternalEvents()
--------Revit.Async.Shared.shproj(1KB)
--------Interfaces()
--------Utils()
----Revit.Async.png(92KB)
----RevitExternalEvent.png(81KB)
----.gitignore(6KB)
----Revit.Async.NET40()
--------Revit.Async.NET40.csproj(3KB)
--------Properties()
----TestCommand()
--------SaveFamilyToDesktopExternalEventHandler.cs(979B)
--------SaveFamilyCommand.cs(2KB)
--------GetRandomFamilyExternalEventHandler.cs(1005B)
--------TestCommand.csproj(4KB)
--------TestWindow.cs(1KB)
--------Command.cs(2KB)
--------Properties()
----README.md(11KB)
----Revit.Async.sln(4KB)

网友评论