fix: offset inline feature coordinates by part location for G90 absolute mode
Part.Program stores coordinates relative to the part's own origin, but the Cincinnati post processor emits G90 (absolute positioning). Inline features were writing part-relative coordinates directly without adding Part.Location, producing incorrect output. Sub-program mode was unaffected because it uses G92 to set up local coordinate systems. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -153,7 +153,8 @@ public sealed class CincinnatiSheetWriter
|
||||
IsEtch = isEtch,
|
||||
LibraryFile = isEtch ? etchLibrary : cutLibrary,
|
||||
CutDistance = cutDistance,
|
||||
SheetDiagonal = sheetDiagonal
|
||||
SheetDiagonal = sheetDiagonal,
|
||||
PartLocation = part.Location
|
||||
};
|
||||
|
||||
_featureWriter.Write(w, ctx);
|
||||
@@ -240,7 +241,8 @@ public sealed class CincinnatiSheetWriter
|
||||
IsEtch = isEtch,
|
||||
LibraryFile = isEtch ? etchLibrary : cutLibrary,
|
||||
CutDistance = cutDistance,
|
||||
SheetDiagonal = sheetDiagonal
|
||||
SheetDiagonal = sheetDiagonal,
|
||||
PartLocation = part.Location
|
||||
};
|
||||
|
||||
_featureWriter.Write(w, ctx);
|
||||
|
||||
Reference in New Issue
Block a user