Commit Graph

128 Commits

Author SHA1 Message Date
13009aa15e feat: add async SolidWorks connection at startup
Update service container to asynchronously connect to SolidWorks before showing DrawingSelectionForm:
- Convert ResolveDrawingSelection to async method
- Attempt SolidWorks connection and handle failures gracefully
- Show warning dialog if connection fails but allow user to continue
- Pass SolidWorksService instance to DrawingSelectionForm

This enables the active drawing display feature while maintaining robustness when SolidWorks is unavailable.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-04 09:59:06 -05:00
136a571aea feat(ui): display active SolidWorks drawing in DrawingSelectionForm
Add real-time display of the currently active SolidWorks document:
- Show active drawing name with visual status indicators
- Display different states: drawing (green), non-drawing (orange), none (gray), error (red)
- Subscribe to ActiveDocumentChanged events for live updates
- Inject ISolidWorksService dependency for document access

This helps users verify they're working with the correct drawing before export.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-04 09:58:48 -05:00
8b1c2b5b1b refactor(ui): improve DrawingSelectionForm layout and responsiveness
- Make form wider (584x315) for better content display
- Add anchor properties to controls for responsive resizing
- Adjust control positions and spacing for improved layout
- Update MainForm tab sizes to match new dimensions

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-04 09:58:33 -05:00
f68bddac93 chore: remove test SolidWorks files from repository
Remove TestDocs/ directory and add to .gitignore. Test files can be maintained locally without bloating the repository history.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-04 09:56:45 -05:00
de4847b834 refactor(ui): update MainForm for drawing-based workflow
Refactored MainForm to work with pre-selected drawing ID and number. Added PDF viewer control, enhanced BOM item management with sheet metal properties, and improved UI layout for drawing-specific operations.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-03 06:47:04 -05:00
cbfb9190c5 refactor: update application startup flow
Modified Program.cs to display DrawingSelectionForm at startup before launching MainForm. The selected drawing ID and number are now passed to MainForm constructor.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-03 06:46:43 -05:00
9b1fbd9fad feat(ui): add drawing selection form
Added DrawingSelectionForm to allow users to select equipment and drawing at application startup, replacing the previous workflow where drawing selection happened within the main form.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-03 06:46:32 -05:00
51bf3b00dd feat(api): add BOM items and cut templates endpoints
Added GetBomItemsForDrawingAsync and GetCutTemplatesAsync methods to fetch BOM items with sheet metal properties and cut template data from the API.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-03 06:46:22 -05:00
a32bbfa5d9 feat: add BomItem and LogEvent models
Added BomItem model with sheet metal properties (thickness, k-factor, bend radius) and LogEvent model for structured logging with action tracking.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-03 06:46:11 -05:00
84f0196c97 refactor: remove Excel export functionality
Removed BomExcelExporter service, BomExcelSettings class, BomTemplate.xlsx template, and EPPlus package dependency. This functionality is being replaced with direct API integration.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-03 06:45:58 -05:00
5cf7e1f1e5 chore: add Claude Code configuration and documentation
- Add /organize-commits slash command for logical commit organization
- Add AGENTS.md with repository guidelines and workflows

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-30 17:30:06 -04:00
35ac0fb3f8 feat(api): add sheet metal properties to DXF upload
- Add defaultBendRadius and material parameters to UploadDxfZipAsync
- Pass bend radius and material from BOM items to API
- Enables more complete sheet metal specification in CutFab

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-30 17:29:56 -04:00
cc34fb43b6 refactor(ui): rename controls and improve drawing selection
- Rename form controls from generic names to descriptive ones:
  - button1 → runButton
  - richTextBox1 → logTextBox
  - comboBox1 → viewFlipDeciderBox
  - comboBox2 → drawingNoBox
- Preserve drawing selection when switching equipment
- Auto-populate drawing number from active document

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-30 17:29:47 -04:00
AJ
d29d9a0e06 Feature: send sheet metal properties and upload all BOM items
Enhanced DXF export to send thickness and kfactor properties from SolidWorks
to the CutFab API, and ensures all BOM items are uploaded regardless of whether
they have DXF files.

Changes:
- Modified UploadDxfZipAsync to accept and send thickness/kfactor parameters
- Updated DxfExportService to extract thickness/kfactor from Item and pass to API
- Refactored BOM item creation to happen for all items, not just those with DXF files
- This ensures purchased parts, hardware, and other non-sheet-metal items are uploaded

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-29 00:17:37 -04:00
c7f2a51823 Submodule EtchBendLines updated
Submodule EtchBendLines:
    > 89d987f - Refactor Main method to separate responsibilities and improve readability
    > 78ae737 - Refactor Etcher.AddEtchLines into discrete steps and helpers
    > 2391eb7 - Format Bend.ToString() with 2dp and “?” placeholders for nulls
    > dd7443d - Moved GetEtchLines to Etcher class
    > e5daf74 - Extract IsBendLine helper to clean up BendLineExtractor
    > 7740120 - bendNoteRegex tweaks
    > 214cc94 - Culture-safe parsing
2025-10-28 17:35:14 -04:00
AJ
5b996be91e refactor(model): rename JobNo to EquipmentNo in DrawingInfo
- Update regex group and ToString to use EquipmentNo

- Prepare for equipment-centric drawing identification
2025-10-28 17:24:27 -04:00
AJ
6bddbff08e feat(naming): update DXF filename format to include drawing number and PT##
- Use prefix as drawing number and format as {DrawingNo} PT{ItemNo}

- Default to PT{ItemNo} when no prefix provided
2025-10-28 17:24:21 -04:00
AJ
1ec72bc98f feat(export): integrate CutFab API in export flow
- Export to temp directory and auto-upload PDF/DXF

- Resolve or create drawing via API using selected Equipment ID

- Upload DXFs per-part and create BOM items

- Attempt auto-linking of templates after export

- Add EquipmentId to ExportContext
2025-10-28 17:24:16 -04:00
AJ
b122b88435 feat(ui): add equipment and drawing selectors powered by API\n\n- Inject ICutFabApiClient into MainForm\n- Populate equipment and drawings on load\n- Hook selection changes and pass into export context\n- Resize layout and replace prefix textbox with selectors 2025-10-28 17:24:00 -04:00
AJ
b677ac8ec9 feat(api): add CutFab API client and configuration\n\n- Add ICutFabApiClient + CutFabApiClient HTTP client\n- Wire base URL via appSettings (CutFab.ApiBaseUrl)\n- Register client in Program and inject into services\n- Add required System.Net.Http and compression references 2025-10-28 17:23:56 -04:00
AJ
c9a8442a29 Refactored ExportContext 2025-10-01 09:44:07 -04:00
AJ
a2b89318e1 Changed mm to inches in sheet metal properties 2025-10-01 09:42:22 -04:00
AJ
f1fc105a1b Set minimum width for BOM description column 2025-10-01 09:42:01 -04:00
AJ
58269f9761 Changed BomExcelSettings defaults 2025-10-01 09:40:54 -04:00
AJ
4053038632 Fixed unit scales 2025-10-01 09:40:16 -04:00
AJ
2d5ffdf5c0 Refactored MainForm 2025-09-29 13:29:50 -04:00
AJ
6b37f0f6f7 Refactored BomToExcel 2024-12-23 14:10:12 -05:00
AJ
c1aaaf07ee Set flat pattern suppression state to fully resolved. 2023-07-22 08:23:53 -04:00
AJ
63b96e1451 Remove xml tags from BOM items. 2023-07-22 08:21:59 -04:00
AJ
97f45b2fcc Set SimplifyBends to true
When set to false, some bend reliefs are made of splines
2023-03-02 09:19:14 -05:00
AJ
2e6ecd11a1 Uncheck flat pattern corner treatment 2023-03-01 08:07:06 -05:00
AJ
db481baa89 Changed target framework to version 4.8 2023-03-01 08:06:34 -05:00
AJ
636818ed33 Submodule EtchBendLines updated
Submodule EtchBendLines:
    > 04031a7 - Changed target framework to version 4.8
    > 3e4ab60 - Allow multiple paths passed through args
    > 2b30498 - Wrap main in try catch
2023-03-01 08:05:48 -05:00
AJ
979067db21 Save drawing pdf in same directory as DXF files. 2022-06-23 12:44:44 -04:00
AJ
a0080c8a68 Print errors when getting BOM items. 2022-06-23 11:06:23 -04:00
AJ
aeec611f78 Include 5000 range in drawing numbers. 2022-06-23 10:47:30 -04:00
AJ
d3f6791b53 UpdatePrefix() 2021-10-12 20:51:40 -04:00
AJ
15edbf6fec Reset prefix if no drawing info is found. 2021-10-11 06:25:01 -04:00
AJ
0d1fd67b8d Updated publish settings 2021-04-14 07:15:23 -04:00
AJ
4fe7e0e8d7 Show automatic view flip decider first. 2021-03-24 06:47:46 -04:00
AJ
e39b7292cb Fixed missing argument for ExportDrawingToPDF 2021-03-22 07:15:30 -04:00
AJ
d7e4eb7e87 Specify savepath for ExportDrawingToPDF 2021-03-21 23:46:57 -04:00
AJ
60bd4ff645 Moved HasSupressedBends to ViewHelper class. 2021-03-21 22:21:40 -04:00
AJ
e9a7b51d24 Moved HideModelSketches to ViewHelper class. 2021-03-21 22:19:58 -04:00
AJ
016e32c2e3 Moved ViewFlipDeciders to separate namespace. 2021-03-21 22:19:25 -04:00
AJ
16c9d97e22 Moved ItemExtractors to separate namespace. 2021-03-21 22:09:31 -04:00
AJ
b693d8a092 Updated submodule EtchBendLines 2021-03-08 22:39:23 -05:00
AJ
96e54a686b Renamed ExportBomToExcel to BomToExcel 2021-03-05 20:42:20 -05:00
AJ
0b4173014f ExportDrawingToPDF 2021-03-04 21:47:25 -05:00
AJ
eee6bfdff3 ExportBomToExcel 2021-03-04 21:30:10 -05:00