Commit Graph

33 Commits

Author SHA1 Message Date
bf36a56387 fix: detect bend lines from SolidWorks DXF exports
Three issues prevented bend line detection after the ACadSharp migration:

1. IsBendLine required layer "BEND" but SolidWorks exports bend lines
   on layer "0" with CENTERX2 linetype. Added "0" as accepted layer.

2. Bend note regex used literal ° which failed when ACadSharp reads the
   degree symbol as multi-byte "°" due to ANSI/UTF-8 encoding mismatch.
   Changed to [^R\d]* to tolerate any characters between angle and R.

3. Radius filter excluded bends with null Radius (unparsed notes).
   Nullable comparison null <= 4.0 evaluates to false in C#, filtering
   out all bends. Added null check to include unparsed bends.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-19 14:33:59 -05:00
6e131d402e fix: upgrade ACadSharp 3.1.32 → 3.4.9 to fix missing OBJECTS section
The DxfWriter in 3.1.32 wrote root dictionary entries referencing child
dictionary objects (ACAD_GROUP, ACAD_LAYOUT, etc.) but never serialized
the actual objects. This caused AutoCAD to report "GroupTable dictionary
was not defined in NamedObject dictionary". Version 3.4.9 includes the
root dictionary fix from PR #957.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-19 14:20:45 -05:00
f04c75235c fix: enable CreateDefaults on DxfReader to fix missing ACAD_GROUP dictionary
SolidWorks DXF exports don't include the ACAD_GROUP entry in the Named
Object Dictionary. Without it, AutoCAD reports "GroupTable dictionary was
not defined in NamedObject dictionary" when opening the file.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-19 14:13:06 -05:00
2e8f0e60c5 feat: switch from netDxf to ACadSharp for DXF operations
Replace vendored netDxf git submodule with ACadSharp NuGet package
(v3.1.32). This aligns the DXF dependency with the parent project.

API migration: DxfDocument→CadDocument, Vector3→XYZ, Vector2→XY,
MText.Position→MText.InsertPoint, Line.Linetype→Line.LineType,
DxfDocument.Load()→DxfReader, doc.Save()→DxfWriter.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-19 12:52:08 -05:00
b0e48442ca fix: return etch lines and support additional bend layer names
- Fix GetEtchLines() using yield break instead of return lines, which
  caused all etch lines to be silently discarded
- Support BEND LINES and BENDLINES layer names in addition to BEND
- Move all bend lines to BEND layer before processing
- Migrate csproj from .NET Framework 4.8 to SDK-style net8.0-windows

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-19 12:37:22 -05:00
AJ
89d987f6c6 Refactor Main method to separate responsibilities and improve readability 2025-05-09 07:47:29 -04:00
AJ
78ae737adb Refactor Etcher.AddEtchLines into discrete steps and helpers 2025-05-08 19:32:20 -04:00
AJ
2391eb7050 Format Bend.ToString() with 2dp and “?” placeholders for nulls 2025-05-08 19:30:41 -04:00
AJ
dd7443ddb8 Moved GetEtchLines to Etcher class 2025-05-08 08:41:00 -04:00
AJ
e5daf748c6 Extract IsBendLine helper to clean up BendLineExtractor 2025-05-08 08:24:31 -04:00
AJ
774012021c bendNoteRegex tweaks 2025-05-08 07:53:42 -04:00
AJ
214cc94816 Culture-safe parsing 2025-05-08 07:31:19 -04:00
AJ
04031a7677 Changed target framework to version 4.8 2023-03-01 08:04:50 -05:00
AJ
3e4ab60366 Allow multiple paths passed through args 2021-04-07 22:00:11 -04:00
AJ
2b30498147 Wrap main in try catch 2021-04-07 21:06:22 -04:00
AJ
f664bd79a4 Added Etcher class 2021-03-08 22:38:29 -05:00
AJ
1e66f9d960 Create application without a manifest 2020-03-05 07:59:21 -05:00
AJ
748899d7bf Made Program class public so it can be used in other projects 2020-03-05 07:45:22 -05:00
AJ
bf8568f2cf Cleanup GetEtchLines 2019-10-01 20:25:40 -04:00
AJ
d6b000ee51 Fixed PointPerpendicularTo 2019-09-30 19:21:21 -04:00
AJ
876455357f Cleanup 2019-09-25 17:52:31 -04:00
AJ
68f6035e5f Changed SharpRadius to property 2019-09-16 19:44:46 -04:00
AJ
76e060d361 Added option to replace sharp bends with radius. 2019-09-15 01:43:57 -04:00
AJ
559f57fb44 Moved bend line extraction to separate class. 2019-09-15 00:21:04 -04:00
AJ
443912f8f8 Handle sharp bends 2019-09-11 13:18:10 -04:00
AJ
5da216dec2 Exclude bend lines where radius is too large. 2019-09-10 14:42:23 -04:00
AJ
80d4f78858 Filter existing etch lines by layer. 2019-09-07 10:14:29 -04:00
AJ
cc83752b0c Fixed finding existing etch lines. 2019-09-07 09:37:52 -04:00
AJ
767070a011 Changed assembly name 2019-09-07 08:03:26 -04:00
AJ
be50441475 Don't add duplicate etch lines. 2019-09-07 07:57:44 -04:00
AJ
1661aa42dd GetPartType 2019-09-07 07:45:01 -04:00
AJ
3d54cb8b84 Changed namespace 2019-09-06 21:10:48 -04:00
AJ
3ef94813ac First commit. 2019-09-06 17:28:34 -04:00