—摘自TEKLA官网
在开发和调试插件时,停止和重新启动 Tekla Structures 非常耗时。因此,使用XS_PLUGIN_DEVELOPER_MODE来替换.dll同时打开 Tekla Structures。
将以下高级选项添加到 teklastructures.ini 文件中:设置 XS_PLUGIN_DEVELOPER_MODE=TRUE
插件 dll 文件必须位于 (.environments\common\extensions\) 子文件夹下。
注意:此高级选项不能与嵌套插件或包含静态变量的插件 dll 文件一起使用。
在 UI 开发中调试插件
XS_PLUGIN_DEVELOPER_MODE还可用于模型和绘图插件的UI开发。
如果插件设置为 TRUE,则可以更改并重新加载具有 PluginFormBase(Forms) 或 PluginWindowBase(Wpf) 对话框的 XS_PLUGIN_DEVELOPER_MODE插件,而无需重新启动 Tekla Structures。
工作流程如下:
- 将“set XS_PLUGIN_DEVELOPER_MODE=true”添加到 teklastructures.ini 文件并打开 Tekla Structures。
- 运行插件(模型或绘图),或从视图中的对象打开插件对话框。
- 在 Microsoft Visual Studio 中,更改插件 UI,生成插件,并将更改后的 dll 复制为生成后事件。(您也可以手动复制插件文件,或将已编译的二进制文件的位置设置为Microsoft Visual Studio中的扩展目录。使用生成后事件只是另一种选择。xcopy $(TargetDir)$(TargetName).dll “C:\ProgramData\Tekla Structures\Work\Environments\common\extensions\DrawingPluginDemo\” /R /Y
- 在侧窗格的“应用程序和组件”目录中运行 UI 宏(Reloadplugins.cs)。
- 再次打开插件对话框,查看 UI 是否为新 UI。
- 如果在运行 Reloadplugins 宏后打开对话框时出现问题,请先使用 Forms 打开另一个插件对话框,然后重试。
- 该插件可以在不重新启动Tekla Structures的情况下进行调试和更改(至少适用于Microsoft Visual Studio 2017)。
- 首先附加调试器并运行插件。
- 可以通过从菜单中全部分离来停止调试。
- 可以更改和重新生成代码。
- 执行 Reloadplugins 后,可以再次启动调试。
重新加载.cs代码:
#pragma warning disable 1633 // Unrecognized #pragma directive #pragma reference "Tekla.Macros.Akit" #pragma reference "Tekla.Macros.Wpf.Runtime" #pragma reference "Tekla.Macros.Runtime" #pragma warning restore 1633 // Unrecognized #pragma directive namespace UserMacros { public sealed class Macro { [Tekla.Macros.Runtime.MacroEntryPointAttribute()] public static void Run(Tekla.Macros.Runtime.IMacroRuntime runtime) { Tekla.Structures.ModelInternal.Operation.dotStartAction("dotdiaLoadDialogs", ""); Tekla.Structures.ModelInternal.Operation.dotStartAction("dotdiaReloadDialogs", ""); Tekla.Structures.Model.Operations.Operation.DisplayPrompt("Dialogs reloaded.."); } } }
发表评