fix: keep script preview on active Ortho drawing

This commit is contained in:
codex
2026-08-04 14:44:07 +03:00
parent b3b30b7993
commit 9f6abcc542
2 changed files with 2 additions and 4 deletions
+1 -3
View File
@@ -19,9 +19,7 @@ public sealed class StartupScriptBuilder : IStartupScriptBuilder
public string BuildAutomationScript(ResolvedAutomationScriptPaths paths)
{
var fixture = Path.GetFullPath(paths.FixtureOrthoDwg);
var model = Path.GetFullPath(paths.FixtureModelDwg);
if (!File.Exists(fixture)) throw new InvalidOperationException("AUTOMATION_FIXTURE_NOT_FOUND");
if (!File.Exists(model)) throw new InvalidOperationException("AUTOMATION_SOURCE_MODEL_NOT_FOUND");
var quote = (string value) => "\"" + value.Replace("\"", "\\\"") + "\"";
var dialogFreeOpen = "_.FILEDIA\n0\n_.CMDDIA\n0\n";
var diagnostic = paths.Diagnostic
@@ -30,7 +28,7 @@ public sealed class StartupScriptBuilder : IStartupScriptBuilder
var commands = paths.Diagnostic
? "PHP_REC_AUTOMATION_BEFORE_PXP_1\nPXP-OA\nPHP_REC_AUTOMATION_AFTER_PXP_1\nPHP_REC_AUTOMATION_BEFORE_PXP_2\nPXP-OA\nPHP_REC_AUTOMATION_AFTER_PXP_2\n"
: "PXP-OA\nPXP-OA\n";
return dialogFreeOpen + "_.OPEN\n" + quote(model) + "\n_.OPEN\n" + quote(fixture) + "\n" + diagnostic + BuildNetloadScript(paths.ValidatedPackageRoot, paths.EntryAssembly) +
return dialogFreeOpen + "_.OPEN\n" + quote(fixture) + "\n" + diagnostic + BuildNetloadScript(paths.ValidatedPackageRoot, paths.EntryAssembly) +
"PHP_REC_AUTOMATION_PREPARE\n" + commands + "PHP_REC_AUTOMATION_FINALIZE\n";
}
}
@@ -69,7 +69,7 @@ public sealed class PathAndLaunchTests
var first = new StartupScriptBuilder().BuildAutomationScript(paths); var second = new StartupScriptBuilder().BuildAutomationScript(paths);
Assert.Equal(first, second); Assert.EndsWith("\n", first); Assert.Equal(2, System.Text.RegularExpressions.Regex.Matches(first, "PXP-OA").Count);
Assert.True(first.IndexOf("_.FILEDIA\n0", StringComparison.Ordinal) < first.IndexOf("_.OPEN", StringComparison.Ordinal));
Assert.True(first.IndexOf(model, StringComparison.Ordinal) < first.IndexOf(fixture, StringComparison.Ordinal));
Assert.DoesNotContain(model, first, StringComparison.OrdinalIgnoreCase);
Assert.True(first.IndexOf("PHP_REC_AUTOMATION_PREPARE", StringComparison.Ordinal) < first.IndexOf("PXP-OA", StringComparison.Ordinal));
Assert.True(first.LastIndexOf("PXP-OA", StringComparison.Ordinal) < first.IndexOf("PHP_REC_AUTOMATION_FINALIZE", StringComparison.Ordinal));
}