{"id":13579806,"url":"https://github.com/shaise/FreeCAD_SheetMetal","last_synced_at":"2025-04-05T23:32:40.624Z","repository":{"id":33672220,"uuid":"37324873","full_name":"shaise/FreeCAD_SheetMetal","owner":"shaise","description":"A simple sheet metal workbench for FreeCAD","archived":false,"fork":false,"pushed_at":"2025-03-18T17:04:30.000Z","size":2612,"stargazers_count":231,"open_issues_count":82,"forks_count":63,"subscribers_count":10,"default_branch":"master","last_synced_at":"2025-03-18T18:23:43.290Z","etag":null,"topics":["addon","freecad","sheetmetal","workbench"],"latest_commit_sha":null,"homepage":"http://theseger.com/projects/2015/06/sheet-metal-addon-for-freecad/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-2.1","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/shaise.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2015-06-12T13:56:26.000Z","updated_at":"2025-03-18T17:04:30.000Z","dependencies_parsed_at":"2023-02-14T15:31:09.387Z","dependency_job_id":"65f13e00-2d34-4eb8-bd35-383d8e942dbf","html_url":"https://github.com/shaise/FreeCAD_SheetMetal","commit_stats":null,"previous_names":[],"tags_count":73,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shaise%2FFreeCAD_SheetMetal","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shaise%2FFreeCAD_SheetMetal/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shaise%2FFreeCAD_SheetMetal/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shaise%2FFreeCAD_SheetMetal/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/shaise","download_url":"https://codeload.github.com/shaise/FreeCAD_SheetMetal/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247415793,"owners_count":20935383,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["addon","freecad","sheetmetal","workbench"],"created_at":"2024-08-01T15:01:43.414Z","updated_at":"2025-04-05T23:32:35.612Z","avatar_url":"https://github.com/shaise.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":"# FreeCAD SheetMetal Workbench\r\n\r\nA simple sheet metal tools workbench for FreeCAD\r\n\r\n![Demo Workflow](Resources/SheetMetal4.gif)\r\n\r\n### Tutorial by Joko Engineering:\r\n\r\n[![Tutorial](Resources/smvideo.jpg)](https://youtu.be/xidvQYkC4so \"FreeCAD - The Elegant Sheet Metal Workbench\")\r\n\r\n#### Developers:\r\n* Folding tools:  \r\n  \u003e [@shaise](https://github.com/shaise) Shai Seger  \r\n  \u003e [@jaisekjames](https://github.com/jaisekjames)  \r\n  \u003e [@ceremcem](https://github.com/ceremcem) Cerem Cem ASLAN  \r\n  \u003e ([@JMG1](https://github.com/JMG1)) Based and inspired by Javier Martínez's code\r\n* Unfolding tool:  \r\n  \u003e Copyright 2014 by Ulrich Brammer \u003culrich1a[at]users.sourceforge.net\u003e AKA [@ulrich1a](https://github.com/ulrich1a)\r\n\r\n# Wiki\r\n[SheetMetal Wiki at FreeCad](https://wiki.freecad.org/SheetMetal_Workbench)\r\n\r\n# Terminology \r\n## Sheetmetal Workbench definitions\r\n![Sheetmetal WB Terminology](Resources/sheetmetal_terms.png)  \r\n  \r\n## Physical material definitions\r\n![Physical Terminology](tools/terminology.png)  \r\n  \r\n# Test case \r\n\r\nAs a simple test case, consider the following example: \r\n\r\n* Inputs: \r\n    - Thickness: 2mm  \r\n    - K-factor: 0.38 (ANSI)  \r\n    - Leg length: 48.12mm  \r\n    - Inner effective radius: 1.64mm  \r\n    - Flange length: 51.76mm  \r\n* Output:  \r\n    - End to mold-line distance: 50mm  \r\n\r\nYou can find a simple calculator in [`tools/calc-unfold.py`](tools/calc-unfold.py). \r\n\r\n# Material Definition Sheet \r\n\r\n### Description \r\n\r\nYou can use a Spreadsheet object to declare K-factor values inside the project file permanently. This will allow: \r\n\r\n* Different K-factor values to be used for each bend in your model \r\n* Sharing the same material definition for multiple objects \r\n\r\n### Usage \r\n\r\n1. Create a spreadsheet with the name of `material_foo` with the following content (see [this table](https://user-images.githubusercontent.com/6639874/56498031-b017bc00-6508-11e9-8b14-6076513d8488.png)):\r\n\r\n    | Radius / Thickness | K-factor (ANSI) | \r\n    | ---| ---| \r\n    | 1 | 0.38 | \r\n    | 3 | 0.43 | \r\n    | 99 | 0.5 | \r\n    \r\n    Notes: \r\n    \r\n    1. The cell names are case/space sensitive.\r\n    2. Possible values for `K-factor` is `K-factor (ANSI)` or `K-factor (DIN)`. \r\n    3. `Radius / Thickness` means `Radius over Thickness`. Eg. if inner radius is `1.64mm` and material thickness is `2mm` then `Radius / Thickness == 1.64/2 = 0.82` so `0.38` will be used as the K-factor. See [lookup.py](https://github.com/ceremcem/FreeCAD_SheetMetal/blob/k-factor-from-lookup/lookup.py#L46-L68) for more examples.\r\n\r\n2. Use \"Unfold Task Panel\" to assign the material sheet.\r\n3. Unfold as usual.\r\n\r\n### Screencast\r\n![Screencast](https://user-images.githubusercontent.com/6639874/56642679-a749f600-6680-11e9-944a-82e447d9dc4e.gif) \r\n \r\n# Engineering Mode \r\n\r\n### Description\r\n\r\nSome sort of parameters effect the fabrication process but are impossible to inspect visually, such as K-factor, which makes them susceptible to go unnoticed until the actual erroneous production took place. \r\n\r\nIn engineering mode, such \"non-visually-inspectable\" values are not assigned with default values and explicit user input is required. \"Engineering mode\" is a safer UX mode for production environments. \r\n\r\n### Activating \r\n\r\n1. Switch to SheetMetal WB at least once.\r\n2. Edit -\u003e Preferences -\u003e SheetMetal \r\n3. Select `enabled` in `Engineering UX Mode` field.\r\n\r\n# Installation\r\nFor installation and how to use, please visit:  \r\nhttp://theseger.com/projects/2015/06/sheet-metal-addon-for-freecad/  \r\nStarting from FreeCAD 0.17 it can be installed via the [Addon Manager](https://github.com/FreeCAD/FreeCAD-addons) (from Tools menu)\r\n\r\n#### References\r\n* Development repo: https://github.com/shaise/FreeCAD_SheetMetal  \r\n* FreeCAD wiki page: https://www.freecadweb.org/wiki/SheetMetal_Workbench  \r\n* Authors webpage: http://theseger.com/projects/2015/06/sheet-metal-addon-for-freecad/  \r\n* FreeCAD Forum announcement/discussion [thread](https://forum.freecadweb.org/viewtopic.php?f=3\u0026t=60818) \r\n\r\n#### Release notes:\r\n* V0.4.23 17 Jul 2024:  Fix bug with zero length walls.\r\n* V0.4.22 08 Jul 2024:  Eliminate temporary errors when base shape fields are edited.\r\n* V0.4.21 30 Jun 2024:  Fix Form tool not working.\r\n* V0.4.20 24 Jun 2024:  Change origin selection methos in base shape gui.\r\n* V0.4.19 22 Jun 2024:  Update icon colors in base shape gui.\r\n* V0.4.18 08 Jun 2024:  Yet more TNP issues.\r\n* V0.4.17 04 Jun 2024:  Temporary bypass TNP problem for other commands.\r\n* V0.4.16 01 Jun 2024:  Temporary bypass TNP problem.\r\n* V0.4.15 29 May 2024:  Disable fold and extend icons when a sketch is selected.\r\n                      - Make unused parameters readonly when are not used by [@hasecilu][hasecilu].  \r\n                      - GUI translation update from Crowdin by [@kaktusus][kaktusus].  \r\n* V0.4.14 13 May 2024:  Add Italian translations by [@robbeban][robbeban].  \r\n* V0.4.13 27 Apr 2024:  Hot fix: revert material preservation system. New system has issues.  \r\n* V0.4.12 26 Apr 2024:  Add 'intersection of planes' to fold options by [@free777cat][free777cat].  \r\n                      - Remove redundant casts for better compatibility by [@YakoYakoYokuYoku][YakoYakoYokuYoku].  \r\n* V0.4.11 07 Apr 2024:  Make material preservation system a bit more robust.  \r\n* V0.4.10 31 Mar 2024:  Some code refactoring and cleanup by [@sliptonic][sliptonic].  \r\n                      - Add Flat shape to base shapes.  \r\n* V0.4.09 28 Mar 2024:  Enhance bend function to work on refined faces as well.  \r\n* V0.4.08 27 Mar 2024:  Add option to set origin of base shape.  \r\n* V0.4.07 26 Mar 2024:  Fix Translation issues by [@hasecilu][hasecilu].  \r\n                      - Update function names to match the wiki help by [@hasecilu][hasecilu].  \r\n* V0.4.06 22 Mar 2024:  Fix SolidBend function to be more robust and autodetect thickness.  \r\n                      - Fix issues with auto-miter not working in some cases.  \r\n* V0.4.05 20 Mar 2024:  Update all other sheetmetal icons by [@maxwxyz][maxwxyz].  \r\n* V0.4.04 18 Mar 2024:  Change main icon to comply with freecad's theme by [@maxwxyz][maxwxyz] and [@pierreporte][pierreporte].  \r\n                      - Fix base shape UI's minimum values.  \r\n* V0.4.03 10 Mar 2024:  Add Spanish translation by [@hasecilu][hasecilu].  \r\n                      - Update translation script by [@hasecilu][hasecilu].  \r\n                      - Set fold direction by selected edge position \r\n* V0.4.02 21 Feb 2024:  Update bend sketch tooltip by [@Syres916][Syres916].  \r\n* V0.4.01 10 Feb 2024:  Fix basic shape dimensions by [@RexLinz][RexLinz].  \r\n* V0.4.00 27 Jan 2024:  Relicense SheetMetal WB from GPL3 to LGPL2 by [@prokoudine][prokoudine].  \r\n* V0.3.16 17 Jan 2024:  Compatability with python 3.11 by [@Syres916][Syres916].  \r\n                      - Remove debug libraries by [@Syres916][Syres916].  \r\n* V0.3.15 10 Jan 2024:  Unfold compatability with old freecad versions by [@ksigurdur][ksigurdur].  \r\n* V0.3.14 04 Jan 2024:  Fix export of dxf.  \r\n* V0.3.13 10 Dec 2023:  update polish translations by [@kaktusus][kaktusus].  \r\n* V0.3.12 11 Nov 2023:  Fix duplicate lines in unfold sketches issue #284.  \r\n* V0.3.11 11 Nov 2023:  Fix broken engineering mode. Some unfold gui cleanup.  \r\n* V0.3.10 09 Nov 2023:  Add base Sheetmetal shape tool, proposed by [@blindmessenger][opic82482].  \r\n* V0.3.02 10 Oct 2023:  Add Polish translation by [@kaktusus][kaktusus].  \r\n* V0.3.01 09 Oct 2023:  Add Spanish translation by [@hasecilu][hasecilu].  \r\n* V0.3.00 02 Sep 2023:  Refactoring Unfolder by [@sliptonic][sliptonic].  \r\n* V0.2.63 28 Mar 2023:  Fix further unfolding issue by [@Syres916][Syres916].  \r\n* V0.2.62 24 Mar 2023:  Add translation support + Portuguese translation by [@riqueenz][riqueenz].  \r\n                      - Add dxf/svg export option to unfolder + fix unfolding issue by [@Syres916][Syres916].    \r\n* V0.2.61 01 Jan 2023:  Add option to link all bend radii to base bend radius by [@alexneufeld][alexneufeld].   \r\n* V0.2.60 24 Dec 2022:  Improved unfolding script to better handle chamfers by [[@chappatted][chappatted].   \r\n* V0.2.59 11 Nov 2022:  Make unfolder sketch work with linkstage version by [@Syres916][Syres916].  \r\n                      - Fix refine function when multiple edges selected  \r\n                      - Make unfolder work with counter bore holes by [@chappatted][chappatted]. \r\n                      - Fix typos by [@luzpaz]luzpaz.  \r\n* V0.2.58 06 Oct 2022:  respect 'midplane' and 'reverse' options by [@alexneufeld][alexneufeld]. \r\n* V0.2.57 07 Sep 2022:  Fix unfold issue with compound holes by [@chappatted][chappatted]. \r\n* V0.2.56 04 Aug 2022:  Fix issue #206 (object color changes by every sheetmetal command) by [@Syres916][Syres916]. \r\n* V0.2.55 03 Aug 2022:  Add more backward compatibility to pr #242 by [@Syres916][Syres916]. \r\n* V0.2.54 30 Jul 2022:  Fix version 20 compatibility with pr #242 by [@Roy-043][Roy-043].\r\n* V0.2.53 28 Jul 2022:  Fix getBendetail and smExtrude for non-planar connecting faces by [@Roy-043][Roy-043].\r\n* V0.2.52 25 Jul 2022:  Better fix for the UseSubtraction issue. Thank you [@akshimassar][akshimassar]\r\n* V0.2.51 23 Jul 2022:  Several fixes and new features: Thank you all!\r\n  * Add Length Spec feature to set adaptive flange lengths by [@rmu75][rmu75].\r\n  * Fix smExtrude for cylindrical connecting faces by [@Roy-043][Roy-043].\r\n  * Fix Face.UseSubstraction typo by [@mangelozzi][mangelozzi].\r\n* V0.2.50 09 Jul 2022:  Moved 'Drawing' to 'TechDraw' for FC0.21 compatibility. Thank you!\r\n* V0.2.49 03 Jul 2021:  Add SubShapeBinder as source by [@s-light][s-light]. Thank you!\r\n* V0.2.48 02 May 2021:  Add context menu [@jaisejames][jaisejames]. Thank you!\r\n* V0.2.47 24 Feb 2021:  Add translation support by [@jaisejames][jaisejames]. Thank you!\r\n* V0.2.46 31 Jan 2021:  Small bug fixes and code clean by [@jaisejames][jaisejames]. Thank you!\r\n* V0.2.45 24 Dec 2020:  Added punch tool feature by [@jaisejames][jaisejames]. Thank you!\r\n* V0.2.44 19 Dec 2020:  Added extend feature by [@jaisejames][jaisejames]. Thank you!\r\n* V0.2.43 01 Dec 2020:  Added corner feature and map sketch to cut openings by [@jaisejames][jaisejames]. Thank you!\r\n* V0.2.42 09 Jun 2020:  Added Engineering UX Mode by [@ceremcem][ceremcem]. Thank you!\r\n* V0.2.41 01 Jun 2020:  Added Drop down Menu\r\n* V0.2.40 24 May 2020:  Added added tools for conversion of solid corners to sheetmetal by [@jaisejames][jaisejames]. Thank you!\r\n* V0.2.34 09 Mar 2020:  Rename \"my commands\" context menu to sheet metal\r\n* V0.2.33 09 Mar 2020:  Fix bend radius bug on sketch bends. Thank you Léo Flaventin!\r\n* V0.2.32 02 Jan 2020:  Python 3.8 update by [@looooo][lorenz]. Thank you!\r\n* V0.2.31 24 Apr 2019:  Added better K factor control by [@ceremcem][ceremcem]. Thank you!\r\n* V0.2.30 30 Mar 2019:  Added Fold-on-sketch-line tool by [@jaisejames][jaisejames]. Thank you!\r\n* V0.2.22 24 Jan 2019:  Fix some typos, Issue [#54][54]\r\n* V0.2.21 20 Jan 2019:  Fix some typos, Issue [#52][52]\r\n* V0.2.20 10 Jan 2019:  Added sheetmetal generation from base wire by [@jaisejames][jaisejames]. Thank you!\r\n* V0.2.10 01 Nov 2018:  Merge new features by [@jaisejames][jaisejames]. Thank you!  \r\n  * Added Edge based selection\r\n  * Added Auto-mitering\r\n  * Added Sketch based Wall\r\n  * Added Sketch based Guided wall\r\n  * Added Relief factor\r\n  * Added Material Inside, thk inside, Offset options\r\n* V0.2.04 21 Sep 2018:  Fix K-Factor bug\r\n* V0.2.03 20 Sep 2018:  Merge [@easyw][easyw] PR: Add separate color for inner sketch lines. (issue [#46][46]). Change Gui layout\r\n* V0.2.02 15 Sep 2018:  Add color selection for unfold sketches (issue [#41][41])\r\n* V0.2.01 15 Sep 2018:  \r\n  * Fix bug when not generating sketch (issue [#42][42])  \r\n  * Support separate color for bend lines (issue [#41][41])  \r\n* V0.2.00 04 Sep 2018:  Make SheetMetal compatible with Python 3 and QT 5\r\n* V0.1.40 20 Aug 2018:  Merge [Ulrich][ulrich]'s V20 unfolder script - supports many more sheet metal cases and more robust\r\n* V0.1.32 25 Jun 2018:  New feature: Option to separately unfold bends. Thank you [@jaisejames][jaisejames]!\r\n* V0.1.31 25 Jun 2018:  Support ellipses and parabolas, Try standard sketch conversion first\r\n* V0.1.30 25 Jun 2018:  \r\n  * New feature: Generate unfold sketch with folding marks. Issue [#33][33]. Thank you [@easyw][easyw]!  \r\n  * New feature: K-Factor foe unfolding is now editable. Issue [#30][30]  \r\n* V0.1.21 19 Jun 2018:  Fixed back negative bend angles, restrict miter to +/- 80 degrees\r\n* V0.1.20 19 Jun 2018: (Thank you [@jaisejames][jaisejames] for all these new features!!)\r\n  * Add bend extension to make the bended wall wider  \r\n  * Add relief shape selection (rounded or flat)  \r\n  * Double clicking on a bent in the tree view, brings a dialog to select different faces (good when editing the base object breaks the bend, and new faces need to be selected)  \r\n  * Setting miter angle now works with unfold command  \r\n* V0.1.13 10 May 2018:  Change unbending method so shape refinement can work.\r\n* V0.1.12 25 Mar 2018:  Allow negative bend angles. Change XPM icons to SVG\r\n* V0.1.11 01 Feb 2018:  Fix Issue [#23][23]: when there is a gap only on one side, an extra face is added to the other\r\n* V0.1.10 11 Nov 2017:  Add miter option to bends. By [@jaisejames][jaisejames]\r\n* V0.1.02 22 Jun 2017:  Fix nesting bug, when saving and loading file\r\n* V0.1.01 03 Mar 2017:  Support version 0.17 (starting from build 10423)\r\n* V0.0.13 07 Sep 2015:  Add negative gaps for extrude function. (per deveee request)\r\n* V0.012  07 Sep 2015:  Fix issue submitted by deveee\r\n* V0.010  13 Jun 2015:  Add [Ulrich][ulrich]'s great unfolding tool. Thanks!!!\r\n* V0.002  12 Jun 2015:  Fix Save/Load issues  \r\n* V0.001  11 Jun 2015:  Initial version\r\n\r\n\r\n[lorenz]: https://github.com/looooo\r\n[ulrich]: https://github.com/ulrich1a\r\n[ceremcem]: https://github.com/ceremcem\r\n[jaisejames]: https://github.com/jaisekjames\r\n[easyw]: https://github.com/easyw\r\n[s-light]: https://github.com/s-light\r\n[rmu75]: https://github.com/s-light\r\n[Roy-043]: https://github.com/Roy-043\r\n[mangelozzi]: https://github.com/mangelozzi\r\n[akshimassar]: https://github.com/akshimassar\r\n[Syres916]: https://github.com/Syres916\r\n[chappatted]: https://github.com/chappatted\r\n[alexneufeld]: https://github.com/alexneufeld\r\n[luzpaz]: https://github.com/luzpaz\r\n[riqueenz]: https://github.com/riqueenz\r\n[sliptonic]: https://github.com/sliptonic\r\n[hasecilu]: https://github.com/hasecilu\r\n[kaktusus]: https://github.com/kaktusus\r\n[ksigurdur]: https://github.com/ksigurdur\r\n[prokoudine]: https://github.com/prokoudine\r\n[RexLinz]: https://github.com/RexLinz\r\n[maxwxyz]: https://github.com/maxwxyz\r\n[pierreporte]: https://github.com/pierreporte\r\n[free777cat]: https://github.com/free777cat\r\n[YakoYakoYokuYoku]: https://github.com/YakoYakoYokuYoku\r\n[robbeban]https://github.com/robbeban/FreeCAD_SheetMetal/tree/master\r\n[topic82482]: https://forum.freecad.org/viewtopic.php?t=82482\r\n[30]: https://github.com/shaise/FreeCAD_SheetMetal/issues/30\r\n[33]: https://github.com/shaise/FreeCAD_SheetMetal/issues/33\r\n[41]: https://github.com/shaise/FreeCAD_SheetMetal/issues/41\r\n[42]: https://github.com/shaise/FreeCAD_SheetMetal/issues/42\r\n[46]: https://github.com/shaise/FreeCAD_SheetMetal/issues/46\r\n[52]: https://github.com/shaise/FreeCAD_SheetMetal/issues/52\r\n[54]: https://github.com/shaise/FreeCAD_SheetMetal/issues/54\r\n\r\n## License\r\nGPLv3 (see [LICENSE](LICENSE))\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshaise%2FFreeCAD_SheetMetal","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshaise%2FFreeCAD_SheetMetal","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshaise%2FFreeCAD_SheetMetal/lists"}