fix: repair double-encoded degree symbol in DXF output

ACadSharp misreads UTF-8 degree symbol (C2 B0) as two ANSI_1252
characters (°) then writes that back out. Post-process the saved
DXF to replace ° with ° so bend notes display correctly.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-02-19 16:28:38 -05:00
parent f2f50f9914
commit 3c1700c480

View File

@@ -86,9 +86,22 @@ namespace EtchBendLines
{
writer.Write();
}
FixDegreeSymbol(path);
Console.WriteLine($"→ Saved with etch lines: {path}");
}
private static void FixDegreeSymbol(string path)
{
var text = File.ReadAllText(path);
if (text.Contains("\u00C2\u00B0"))
{
text = text.Replace("\u00C2\u00B0", "\u00B0");
File.WriteAllText(path, text);
}
}
private static string KeyFor(Line l) => KeyFor(l.StartPoint, l.EndPoint);
private static string KeyFor(XYZ a, XYZ b) => $"{a.X:F3},{a.Y:F3}|{b.X:F3},{b.Y:F3}";