Skip to content

Latest commit

 

History

History
273 lines (238 loc) · 16 KB

README.md

File metadata and controls

273 lines (238 loc) · 16 KB

FreeCAD SheetMetal Workbench

A simple sheet metal tools workbench for FreeCAD

Demo Workflow

Tutorial by Joko Engineering:

Tutorial

Developers:

  • Folding tools:

    @shaise Shai Seger
    @jaisekjames
    @ceremcem Cerem Cem ASLAN
    (@JMG1) Based and inspired by Javier Martínez's code

  • Unfolding tool:

    Copyright 2014 by Ulrich Brammer <ulrich1a[at]users.sourceforge.net> AKA @ulrich1a

Wiki

SheetMetal Wiki at FreeCad

Terminology

Sheetmetal Workbench definitions

Sheetmetal WB Terminology

Physical material definitions

Physical Terminology

Test case

As a simple test case, consider the following example:

  • Inputs:
    • Thickness: 2mm
    • K-factor: 0.38 (ANSI)
    • Leg length: 48.12mm
    • Inner effective radius: 1.64mm
    • Flange length: 51.76mm
  • Output:
    • End to mold-line distance: 50mm

You can find a simple calculator in tools/calc-unfold.py.

Material Definition Sheet

Description

You can use a Spreadsheet object to declare K-factor values inside the project file permanently. This will allow:

  • Different K-factor values to be used for each bend in your model
  • Sharing the same material definition for multiple objects

Usage

  1. Create a spreadsheet with the name of material_foo with the following content (see this table):

    Radius / Thickness K-factor (ANSI)
    1 0.38
    3 0.43
    99 0.5

    Notes:

    1. The cell names are case/space sensitive.
    2. Possible values for K-factor is K-factor (ANSI) or K-factor (DIN).
    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 for more examples.
  2. Use "Unfold Task Panel" to assign the material sheet.

  3. Unfold as usual.

Screencast

Screencast

Engineering Mode

Description

Some 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.

In 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.

Activating

  1. Switch to SheetMetal WB at least once.
  2. Edit -> Preferences -> SheetMetal
  3. Select enabled in Engineering UX Mode field.

Installation

For installation and how to use, please visit:
http://theseger.com/projects/2015/06/sheet-metal-addon-for-freecad/
Starting from FreeCAD 0.17 it can be installed via the Addon Manager (from Tools menu)

References

Release notes:

  • V0.5.03 22 Oct 2024: Fix fill gap issue in base shape feature. - Partially Fix forming issue not working in latest freecad
  • V0.5.02 21 Oct 2024: Fix many small bugs after Ondsel merge.
  • V0.5.01 20 Oct 2024: Fix bug in base shape creating double model.
    - Fix typos by @luzpaz.
  • V0.5.00 19 Oct 2024: Merge Ondsel changes made by [@adrianinsaval][adrianinsaval].
  • V0.4.26 18 Sep 2024: Add bend perforation support @Erhannis.
    - Make TRANSLATION.md clearer by @luzpaz.
  • V0.4.25 09 Sep 2024: Comment-out debug line by @Roy-043.
    - Fix Bend on sketch bug by @jaisejames.
  • V0.4.24 09 Aug 2024: Support linked and cloned objects in Fold On Sketch.
  • V0.4.23 17 Jul 2024: Fix bug with zero length walls.
  • V0.4.22 08 Jul 2024: Eliminate temporary errors when base shape fields are edited.
  • V0.4.21 30 Jun 2024: Fix Form tool not working.
  • V0.4.20 24 Jun 2024: Change origin selection methods in base shape gui.
  • V0.4.19 22 Jun 2024: Update icon colors in base shape gui.
  • V0.4.18 08 Jun 2024: Yet more TNP issues.
  • V0.4.17 04 Jun 2024: Temporary bypass TNP problem for other commands.
  • V0.4.16 01 Jun 2024: Temporary bypass TNP problem.
  • V0.4.15 29 May 2024: Disable fold and extend icons when a sketch is selected.
    - Make unused parameters readonly when are not used by @hasecilu.
    - GUI translation update from Crowdin by @kaktusus.
  • V0.4.14 13 May 2024: Add Italian translations by [@robbeban][robbeban].
  • V0.4.13 27 Apr 2024: Hot fix: revert material preservation system. New system has issues.
  • V0.4.12 26 Apr 2024: Add 'intersection of planes' to fold options by @free777cat.
    - Remove redundant casts for better compatibility by @YakoYakoYokuYoku.
  • V0.4.11 07 Apr 2024: Make material preservation system a bit more robust.
  • V0.4.10 31 Mar 2024: Some code refactoring and cleanup by @sliptonic.
    - Add Flat shape to base shapes.
  • V0.4.09 28 Mar 2024: Enhance bend function to work on refined faces as well.
  • V0.4.08 27 Mar 2024: Add option to set origin of base shape.
  • V0.4.07 26 Mar 2024: Fix Translation issues by @hasecilu.
    - Update function names to match the wiki help by @hasecilu.
  • V0.4.06 22 Mar 2024: Fix SolidBend function to be more robust and autodetect thickness.
    - Fix issues with auto-miter not working in some cases.
  • V0.4.05 20 Mar 2024: Update all other sheetmetal icons by @maxwxyz.
  • V0.4.04 18 Mar 2024: Change main icon to comply with freecad's theme by @maxwxyz and @pierreporte.
    - Fix base shape UI's minimum values.
  • V0.4.03 10 Mar 2024: Add Spanish translation by @hasecilu.
    - Update translation script by @hasecilu.
    - Set fold direction by selected edge position
  • V0.4.02 21 Feb 2024: Update bend sketch tooltip by @Syres916.
  • V0.4.01 10 Feb 2024: Fix basic shape dimensions by @RexLinz.
  • V0.4.00 27 Jan 2024: Relicense SheetMetal WB from GPL3 to LGPL2 by @prokoudine.
  • V0.3.16 17 Jan 2024: Compatibility with python 3.11 by @Syres916.
    - Remove debug libraries by @Syres916.
  • V0.3.15 10 Jan 2024: Unfold compatibility with old freecad versions by @ksigurdur.
  • V0.3.14 04 Jan 2024: Fix export of dxf.
  • V0.3.13 10 Dec 2023: update polish translations by @kaktusus.
  • V0.3.12 11 Nov 2023: Fix duplicate lines in unfold sketches issue #284.
  • V0.3.11 11 Nov 2023: Fix broken engineering mode. Some unfold gui cleanup.
  • V0.3.10 09 Nov 2023: Add base Sheetmetal shape tool, proposed by [@blindmessenger][opic82482].
  • V0.3.02 10 Oct 2023: Add Polish translation by @kaktusus.
  • V0.3.01 09 Oct 2023: Add Spanish translation by @hasecilu.
  • V0.3.00 02 Sep 2023: Refactoring Unfolder by @sliptonic.
  • V0.2.63 28 Mar 2023: Fix further unfolding issue by @Syres916.
  • V0.2.62 24 Mar 2023: Add translation support + Portuguese translation by @riqueenz.
    - Add dxf/svg export option to unfolder + fix unfolding issue by @Syres916.
  • V0.2.61 01 Jan 2023: Add option to link all bend radii to base bend radius by @alexneufeld.
  • V0.2.60 24 Dec 2022: Improved unfolding script to better handle chamfers by [@chappatted.
  • V0.2.59 11 Nov 2022: Make unfolder sketch work with linkstage version by @Syres916.
    - Fix refine function when multiple edges selected
    - Make unfolder work with counter bore holes by @chappatted. - Fix typos by [@luzpaz]luzpaz.
  • V0.2.58 06 Oct 2022: respect 'midplane' and 'reverse' options by @alexneufeld.
  • V0.2.57 07 Sep 2022: Fix unfold issue with compound holes by @chappatted.
  • V0.2.56 04 Aug 2022: Fix issue #206 (object color changes by every sheetmetal command) by @Syres916.
  • V0.2.55 03 Aug 2022: Add more backward compatibility to pr #242 by @Syres916.
  • V0.2.54 30 Jul 2022: Fix version 20 compatibility with pr #242 by @Roy-043.
  • V0.2.53 28 Jul 2022: Fix getBendetail and smExtrude for non-planar connecting faces by @Roy-043.
  • V0.2.52 25 Jul 2022: Better fix for the UseSubtraction issue. Thank you @akshimassar
  • V0.2.51 23 Jul 2022: Several fixes and new features: Thank you all!
    • Add Length Spec feature to set adaptive flange lengths by @rmu75.
    • Fix smExtrude for cylindrical connecting faces by @Roy-043.
    • Fix Face.UseSubstraction typo by @mangelozzi.
  • V0.2.50 09 Jul 2022: Moved 'Drawing' to 'TechDraw' for FC0.21 compatibility. Thank you!
  • V0.2.49 03 Jul 2021: Add SubShapeBinder as source by @s-light. Thank you!
  • V0.2.48 02 May 2021: Add context menu @jaisejames. Thank you!
  • V0.2.47 24 Feb 2021: Add translation support by @jaisejames. Thank you!
  • V0.2.46 31 Jan 2021: Small bug fixes and code clean by @jaisejames. Thank you!
  • V0.2.45 24 Dec 2020: Added punch tool feature by @jaisejames. Thank you!
  • V0.2.44 19 Dec 2020: Added extend feature by @jaisejames. Thank you!
  • V0.2.43 01 Dec 2020: Added corner feature and map sketch to cut openings by @jaisejames. Thank you!
  • V0.2.42 09 Jun 2020: Added Engineering UX Mode by @ceremcem. Thank you!
  • V0.2.41 01 Jun 2020: Added Drop down Menu
  • V0.2.40 24 May 2020: Added added tools for conversion of solid corners to sheetmetal by @jaisejames. Thank you!
  • V0.2.34 09 Mar 2020: Rename "my commands" context menu to sheet metal
  • V0.2.33 09 Mar 2020: Fix bend radius bug on sketch bends. Thank you Léo Flaventin!
  • V0.2.32 02 Jan 2020: Python 3.8 update by @looooo. Thank you!
  • V0.2.31 24 Apr 2019: Added better K factor control by @ceremcem. Thank you!
  • V0.2.30 30 Mar 2019: Added Fold-on-sketch-line tool by @jaisejames. Thank you!
  • V0.2.22 24 Jan 2019: Fix some typos, Issue [#54][54]
  • V0.2.21 20 Jan 2019: Fix some typos, Issue [#52][52]
  • V0.2.20 10 Jan 2019: Added sheetmetal generation from base wire by @jaisejames. Thank you!
  • V0.2.10 01 Nov 2018: Merge new features by @jaisejames. Thank you!
    • Added Edge based selection
    • Added Auto-mitering
    • Added Sketch based Wall
    • Added Sketch based Guided wall
    • Added Relief factor
    • Added Material Inside, thk inside, Offset options
  • V0.2.04 21 Sep 2018: Fix K-Factor bug
  • V0.2.03 20 Sep 2018: Merge @easyw PR: Add separate color for inner sketch lines. (issue [#46][46]). Change Gui layout
  • V0.2.02 15 Sep 2018: Add color selection for unfold sketches (issue [#41][41])
  • V0.2.01 15 Sep 2018:
    • Fix bug when not generating sketch (issue [#42][42])
    • Support separate color for bend lines (issue [#41][41])
  • V0.2.00 04 Sep 2018: Make SheetMetal compatible with Python 3 and QT 5
  • V0.1.40 20 Aug 2018: Merge Ulrich's V20 unfolder script - supports many more sheet metal cases and more robust
  • V0.1.32 25 Jun 2018: New feature: Option to separately unfold bends. Thank you @jaisejames!
  • V0.1.31 25 Jun 2018: Support ellipses and parabolas, Try standard sketch conversion first
  • V0.1.30 25 Jun 2018:
    • New feature: Generate unfold sketch with folding marks. Issue [#33][33]. Thank you @easyw!
    • New feature: K-Factor foe unfolding is now editable. Issue [#30][30]
  • V0.1.21 19 Jun 2018: Fixed back negative bend angles, restrict miter to +/- 80 degrees
  • V0.1.20 19 Jun 2018: (Thank you @jaisejames for all these new features!!)
    • Add bend extension to make the bended wall wider
    • Add relief shape selection (rounded or flat)
    • 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)
    • Setting miter angle now works with unfold command
  • V0.1.13 10 May 2018: Change unbending method so shape refinement can work.
  • V0.1.12 25 Mar 2018: Allow negative bend angles. Change XPM icons to SVG
  • 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
  • V0.1.10 11 Nov 2017: Add miter option to bends. By @jaisejames
  • V0.1.02 22 Jun 2017: Fix nesting bug, when saving and loading file
  • V0.1.01 03 Mar 2017: Support version 0.17 (starting from build 10423)
  • V0.0.13 07 Sep 2015: Add negative gaps for extrude function. (per deveee request)
  • V0.012 07 Sep 2015: Fix issue submitted by deveee
  • V0.010 13 Jun 2015: Add Ulrich's great unfolding tool. Thanks!!!
  • V0.002 12 Jun 2015: Fix Save/Load issues
  • V0.001 11 Jun 2015: Initial version

[adrianinsaval]https://github.com/adrianinsaval [robbeban]https://github.com/robbeban/FreeCAD_SheetMetal/tree/master [topic82482]: https://forum.freecad.org/viewtopic.php?t=82482 [30]: #30 [33]: #33 [41]: #41 [42]: #42 [46]: #46 [52]: #52 [54]: #54

License

GPLv3 (see LICENSE)