-
ededc7b6b4
feat: draw entities in actual DXF colors with pen caching
aj
2026-03-24 20:27:46 -04:00
-
5f74afeda1
feat: add IBendDetector interface, SolidWorks implementation, and registry
aj
2026-03-24 20:26:27 -04:00
-
574a8f2c38
feat: add DxfImporter.Import returning entities + CadDocument
aj
2026-03-24 20:23:53 -04:00
-
dd2892a9fe
feat: serialize/deserialize bends in nest file format
aj
2026-03-24 20:22:55 -04:00
-
7056f8816f
feat: add Bends property to Drawing, GrainAngle to Plate
aj
2026-03-24 20:19:53 -04:00
-
c2a470f79c
feat: add Bend domain model and BendDirection enum to OpenNest.Core
aj
2026-03-24 20:18:52 -04:00
-
39f8a79cfd
feat: replace Clipper2 with direct entity splitting in DrawingSplitter
aj
2026-03-24 18:19:47 -04:00
-
df18b72881
feat: add SplitLineIntersect helper for entity-splitline intersection
aj
2026-03-24 18:04:21 -04:00
-
cd8adc97d6
feat: overhaul SplitDrawingForm — EntityView, draggable feature handles, UI fixes
aj
2026-03-24 14:26:43 -04:00
-
ba7aa39941
feat: add groove depth and weld gap options to spike-groove split
aj
2026-03-24 13:30:39 -04:00
-
5d93ddb2c4
fix: swap plate dimension labels — Length first, Width second
aj
2026-03-24 13:21:11 -04:00
-
15b2043048
fix: rename Plate Height label to Plate Length
aj
2026-03-24 13:20:09 -04:00
-
aa8b6f3d9e
fix: use plate size correctly when split axis is forced
aj
2026-03-24 13:18:57 -04:00
-
3686d074e6
feat: add split axis selector to auto-fit options
aj
2026-03-24 13:14:54 -04:00
-
8f1a3fb6b7
fix: filter rapid-move entities from SplitDrawingForm preview
aj
2026-03-24 13:07:37 -04:00
-
60ce297d6a
feat: add split drawing feature for oversized parts
aj
2026-03-24 12:47:39 -04:00
-
-
addd7acc3c
docs: add split drawing feature to architecture documentation
aj
2026-03-24 12:21:45 -04:00
-
d91ffccfa3
feat: add Split button to CadConverterForm to open SplitDrawingForm
aj
2026-03-24 12:20:22 -04:00
-
adb8ed12d7
feat: add SplitDrawingForm UI dialog
aj
2026-03-24 12:18:31 -04:00
-
4acd8b8bad
feat: add DrawingSplitter core split pipeline
aj
2026-03-24 12:13:37 -04:00
-
d7b095cf2d
feat: add AutoSplitCalculator for fit-to-plate and split-by-count
aj
2026-03-24 12:03:18 -04:00
-
499e0425b5
feat: add SpikeGrooveSplit implementation
aj
2026-03-24 12:01:40 -04:00
-
c2c3e23024
feat: add WeldGapTabSplit implementation
aj
2026-03-24 11:59:45 -04:00
-
5afb311ac7
feat: add ISplitFeature interface and StraightSplit implementation
aj
2026-03-24 11:58:00 -04:00
-
765a862440
feat: add SplitLine and SplitParameters models
aj
2026-03-24 11:56:00 -04:00
-
-
b970629a59
feat: add material library resolution, assist gas support, and UI fixes
aj
2026-03-23 22:00:57 -04:00
-
072915abf2
fix: detect winding direction for correct part spacing offset
aj
2026-03-23 21:57:23 -04:00
-
aeeb2e4074
fix: treat cut-offs as area selection boundaries with proper spacing
aj
2026-03-23 12:14:58 -04:00
-
a2f7219db3
fix: add proper spacing between G-code words in Cincinnati post output
aj
2026-03-23 05:46:46 -04:00
-
7e4040ba08
feat: add post processor support to console app
aj
2026-03-23 01:51:45 -04:00
-
0246073b31
fix: reduce default cut-off part clearance from 0.125 to 0.02
aj
2026-03-23 01:07:33 -04:00
-
4801895321
chore: add Cincinnati post processor build dependency to solution
aj
2026-03-23 01:07:28 -04:00
-
833abfe72e
feat: add optional M98 part sub-programs to Cincinnati post processor
aj
2026-03-23 00:43:44 -04:00
-
379000bbd8
feat: auto-copy Cincinnati post processor DLL to Posts/ on build
aj
2026-03-23 00:12:47 -04:00
-
5936272ce4
refactor: move ProgramVariableManager to Core, add config file support
aj
2026-03-23 00:08:31 -04:00
-
da8e7e6fd3
feat: interactive cut-off selection and drag via line hit-testing
aj
2026-03-22 23:49:27 -04:00
-
53d24ddaf1
feat: implement Polygon.OffsetEntity and use geometric offset for cut-off clearance
aj
2026-03-22 23:46:18 -04:00
-
8efdc8720c
fix: review fixes — culture-invariant formatting, sealed config, threshold boundary
aj
2026-03-22 23:45:22 -04:00
-
ca8a0942ab
feat: add CincinnatiPostProcessor implementing IPostProcessor
aj
2026-03-22 23:41:06 -04:00
-
8c3659a439
feat: add CincinnatiSheetWriter for per-plate subprogram emission
aj
2026-03-22 23:38:24 -04:00
-
95a0815484
feat: add CincinnatiPreambleWriter for main program and variable declaration
aj
2026-03-22 23:35:27 -04:00
-
e9caa9b8eb
feat: add CincinnatiFeatureWriter for per-feature G-code emission
aj
2026-03-22 23:33:06 -04:00
-
95a0db1983
feat: add SpeedClassifier for FAST/MEDIUM/SLOW cut distance classification
aj
2026-03-22 23:29:14 -04:00
-
a323dcc230
feat: add ProgramVariable and ProgramVariableManager for macro variable declarations
aj
2026-03-22 23:29:10 -04:00
-
24cd18da88
feat: add CoordinateFormatter for Cincinnati G-code coordinate output
aj
2026-03-22 23:29:06 -04:00
-
5d26efb552
feat: add CincinnatiPostConfig and supporting enums
aj
2026-03-22 23:26:16 -04:00
-
60c4545a17
feat: add OpenNest.Posts.Cincinnati project for Cincinnati CL-707 post processor
aj
2026-03-22 23:25:16 -04:00
-
4db51b8cdf
fix: regenerate cut-offs on part rotation and default cut direction
aj
2026-03-22 22:58:47 -04:00
-
1c561d880e
refactor: simplify CutOff methods and fix ActionCutOff issues
aj
2026-03-22 22:51:52 -04:00
-
17fc9c6cab
feat: RegenerateCutOffs uses geometry-based perimeter cache
aj
2026-03-22 22:44:15 -04:00
-
4287c5fa46
refactor: CutOff uses Dictionary<Part, Entity> instead of index-based list
aj
2026-03-22 22:42:32 -04:00
-
a735884ee9
feat: add Plate.BuildPerimeterCache with ShapeProfile and convex hull fallback
aj
2026-03-22 22:34:14 -04:00
-
22554b0fa3
refactor: extract CollectPoints from FindBestRotation
aj
2026-03-22 22:30:59 -04:00
-
48b4849a88
fix: ShapeProfile selects perimeter by largest bounding box area
aj
2026-03-22 22:29:00 -04:00
-
f79df4d426
refactor: remove NfpNestEngine
aj
2026-03-22 21:11:53 -04:00
-
ebb18d9b49
fix: prevent RemnantFiller interleaving and PairFiller recursion
aj
2026-03-22 21:11:47 -04:00
-
31a9e6dbad
feat: replace best-fit viewer dropdown with DrawingListBox in split view
aj
2026-03-22 20:53:43 -04:00
-
a576f9fafa
fix: correct test helper winding and edge sequencer test data
aj
2026-03-22 20:31:50 -04:00
-
9453bb51ce
docs: update CLAUDE.md with cut-off feature documentation
aj
2026-03-22 20:02:42 -04:00
-
ad58332a5d
feat: regenerate cut-offs after part drag and fill operations
aj
2026-03-22 20:01:03 -04:00
-
d4f60d5e8e
feat: add cut-off selection, drag-to-reposition, and delete
aj
2026-03-22 19:57:26 -04:00
-
3ea05257eb
feat: wire up cut-off action in MainForm menu
aj
2026-03-22 19:54:09 -04:00
-
7e49ed620b
feat: add ActionCutOff for placing sheet cut-offs
aj
2026-03-22 19:50:38 -04:00
-
57bd0447e9
feat: add PlateView cut-off rendering with grip handle
aj
2026-03-22 19:46:49 -04:00
-
07d6f08e8b
feat: engine-specific TrimAxis and rename ShrinkAxis.Height to Length
aj
2026-03-22 19:43:29 -04:00
-
2f19f47a85
feat: serialize/deserialize cut-off definitions in nest file format
aj
2026-03-22 19:40:01 -04:00
-
d58a446eac
feat: add Plate.CutOffs collection with materialization and transform support
aj
2026-03-22 19:36:05 -04:00
-
5fc7d1989a
feat: add CutOff and CutOffSettings domain classes with segment generation
aj
2026-03-22 19:32:33 -04:00
-
3f6bc2b2a1
feat: guard Plate quantity/utilization/overlap for IsCutOff parts
aj
2026-03-22 19:14:28 -04:00
-
7681a1bad0
feat: add Drawing.IsCutOff flag for cut-off support
aj
2026-03-22 19:12:49 -04:00
-
a548d5329a
chore: update NestProgressForm designer layout
aj
2026-03-21 23:09:07 -04:00
-
07012033c7
feat: use direction-specific engines in StripNestEngine
aj
2026-03-21 23:09:02 -04:00
-
92b17b2963
perf: parallelize PairFiller candidates and add GridDedup
aj
2026-03-21 23:08:55 -04:00
-
b6ee04f038
fix: use Part.Rotate() in PlateView to avoid mutating shared Programs
aj
2026-03-21 23:08:47 -04:00
-
8ffdacd6c0
refactor: replace NestPhase switch statements with attribute-based extensions
aj
2026-03-21 19:49:44 -04:00
-
ccd402c50f
refactor: simplify NestProgress with computed properties and ProgressReport struct
aj
2026-03-21 19:44:45 -04:00
-
b1e872577c
feat: add Description/ShortName attributes to NestPhase with extension methods
aj
2026-03-21 19:38:54 -04:00
-
9903478d3e
refactor: simplify BestCombination.FindFrom2 and add tests
aj
2026-03-21 17:07:43 -04:00
-
93a8981d0a
feat: add Disable/Enable API to FillStrategyRegistry
aj
2026-03-21 15:19:27 -04:00
-
00e7866506
feat: add remnant filling to PairFiller for better part density
aj
2026-03-21 15:19:19 -04:00
-
560105f952
refactor: extract shared convergence loop and reduce parameter counts in StripeFiller
aj
2026-03-21 14:22:29 -04:00
-
266f8a83e6
docs: update CLAUDE.md with fill goal engines architecture
aj
2026-03-21 12:58:35 -04:00
-
0b7697e9c0
feat: add VerticalRemnantEngine and HorizontalRemnantEngine
aj
2026-03-21 12:57:33 -04:00
-
83124eb38d
feat: wire IFillComparer through PairFiller and StripeFiller
aj
2026-03-21 12:53:28 -04:00
-
24beb8ada1
feat: wire IFillComparer through FillHelpers, Linear, and Extents strategies
aj
2026-03-21 12:49:59 -04:00
-
ee83f17afe
feat: wire FillPolicy into DefaultNestEngine and FillContext
aj
2026-03-21 12:46:30 -04:00
-
99546e7eef
feat: add IFillComparer hooks to NestEngineBase
aj
2026-03-21 12:43:45 -04:00
-
4586a53590
feat: add FillPolicy record and FillHelpers.FillWithDirectionPreference
aj
2026-03-21 12:41:07 -04:00
-
1a41eeb81d
feat: add VerticalRemnantComparer and HorizontalRemnantComparer
aj
2026-03-21 12:38:23 -04:00
-
f894ffd27c
feat: add IFillComparer interface and DefaultFillComparer
aj
2026-03-21 12:36:04 -04:00
-
0ec22f2207
feat: geometry-aware convergence, both-axis search, remnant engine, fill cache
aj
2026-03-21 10:12:31 -04:00
-
3f3d95a5e4
fix: orient pair short side along primary axis before convergence
aj
2026-03-21 09:22:13 -04:00
-
811d23510e
feat: add RowFillStrategy and ColumnFillStrategy with registry integration
aj
2026-03-21 07:48:00 -04:00
-
0597a11a23
feat: implement StripeFiller.Fill with pair iteration, stripe tiling, and remnant fill
aj
2026-03-21 07:44:59 -04:00
-
2ae1d513cf
feat: add StripeFiller.ConvergeStripeAngle iterative convergence
aj
2026-03-21 07:37:59 -04:00
-
904d30d05d
feat: add StripeFiller.FindAngleForTargetSpan with scan-then-bisect
aj
2026-03-21 07:36:10 -04:00
-
e9678c73b2
chore: remove remaining stale plan docs
aj
2026-03-21 00:14:18 -04:00
-
4060430757
chore: remove stale superpowers docs and update gitignore
aj
2026-03-21 00:13:01 -04:00
-
de527cd668
feat: add plate utilization to UI status bar
aj
2026-03-21 00:10:42 -04:00
-
9887cb1aa3
fix: swap BestFitCell dimension display to height x width
aj
2026-03-21 00:04:23 -04:00