Skip to content

Add SendCutSend Presets workbench - #186

Open
rfaircl2 wants to merge 1 commit into
10-X-eng:mainfrom
rfaircl2:feat/sendcutsend-presets
Open

Add SendCutSend Presets workbench#186
rfaircl2 wants to merge 1 commit into
10-X-eng:mainfrom
rfaircl2:feat/sendcutsend-presets

Conversation

@rfaircl2

@rfaircl2 rfaircl2 commented Sep 5, 2026

Copy link
Copy Markdown

Add SendCutSend Presets workbench

Summary

Adds a companion FreeCAD workbench / Mod, SendCutSendPresets, that applies SendCutSend public bend-calculator parameters (and user custom presets) to SheetMetal flanges and Unfold material sheets.

Motivation

Garage / job-shop users often copy bend radius and K-factor from SendCutSend by hand. This packages that table, applies it to SheetMetal features, creates Unfold-compatible material definition sheets, and syncs Unfold display properties — including when Unfold is created after Apply.

What’s included

  • Workbench SendCutSend (SCS library + unified Bend Presets for testing)
  • Runtime injection of Bend Presets (SCS + Custom) into the SheetMetal toolbar (no SheetMetal source changes)
  • data/sendcutsend_bends.json snapshot from the public calculator (2026-09-05)
  • Unfold K / Material Sheet sync + pending Apply-before-Unfold observer
  • MIT license, package.xml for Addon Manager

Non-goals

  • Not an official SendCutSend product
  • Does not fork or patch SheetMetal sources
  • Bend table may drift when SendCutSend updates — document refresh path in README

Test plan

  • Fresh FreeCAD 1.1 install + SheetMetal; copy Mod; restart
  • SheetMetal toolbar shows Bend Presets; open dialog; switch SCS ↔ My custom
  • Apply all on Body with bends; radius/K update; min-flange warn if under min
  • Material sheet appears; Unfold uses sheet; Data panel KFactor synced
  • Apply all before Unfold; create Unfold; auto-sync runs (Report: Auto-synced…)
  • Custom save → %APPDATA%/FreeCAD/SendCutSendPresets/custom_bends.json; reload survives Mod replace

Install path for reviewers

Lives at src/Mod/SendCutSendPresets/ in this VibeCAD tree (CMake add_subdirectory hooked). For stock FreeCAD, the same folder can still be copied into FreeCAD/Mod/.

Smoke / tests

cd src/Mod/SendCutSendPresets
python -m unittest tests.test_smoke -v

GUI / FreeCADCmd checklist: see SMOKE.md in the Mod.

AI-TDD: unit tests cover bend JSON + naming + min-flange rule without FreeCAD GUI. SheetMetal Apply/Unfold is manual/FreeCADCmd smoke (documented in SMOKE.md) because it requires SheetMetal + Qt.

CMake

Add to src/Mod/CMakeLists.txt:

add_subdirectory(SendCutSendPresets)

Mod provides its own CMakeLists.txt (installs Python sources, data, icons, tests).

Adds MIT-licensed SheetMetal companion Mod with SCS bend presets,
Unfold sync, smoke tests, and CMake install hook.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant