fix: keep script preview on active Ortho drawing
This commit is contained in:
@@ -19,9 +19,7 @@ public sealed class StartupScriptBuilder : IStartupScriptBuilder
|
|||||||
public string BuildAutomationScript(ResolvedAutomationScriptPaths paths)
|
public string BuildAutomationScript(ResolvedAutomationScriptPaths paths)
|
||||||
{
|
{
|
||||||
var fixture = Path.GetFullPath(paths.FixtureOrthoDwg);
|
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(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 quote = (string value) => "\"" + value.Replace("\"", "\\\"") + "\"";
|
||||||
var dialogFreeOpen = "_.FILEDIA\n0\n_.CMDDIA\n0\n";
|
var dialogFreeOpen = "_.FILEDIA\n0\n_.CMDDIA\n0\n";
|
||||||
var diagnostic = paths.Diagnostic
|
var diagnostic = paths.Diagnostic
|
||||||
@@ -30,7 +28,7 @@ public sealed class StartupScriptBuilder : IStartupScriptBuilder
|
|||||||
var commands = paths.Diagnostic
|
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"
|
? "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";
|
: "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";
|
"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);
|
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.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("_.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.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));
|
Assert.True(first.LastIndexOf("PXP-OA", StringComparison.Ordinal) < first.IndexOf("PHP_REC_AUTOMATION_FINALIZE", StringComparison.Ordinal));
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user