Sheet Metal Workbench
Forum rules
and Helpful information
and Helpful information
IMPORTANT: Please click here and read this first, before asking for help
Also, be nice to others! Read the FreeCAD code of conduct!
Also, be nice to others! Read the FreeCAD code of conduct!
What can Sheetmetal unfold ?
Is there a kind of geometry that SM is more likely to manage to unfold ? I’m talking about an object that is not generated from a simple padded sketch + bend / extend tools in SM.
For example, could it unfold somehow a platonic solid ?
For example, could it unfold somehow a platonic solid ?
Re: What can Sheetmetal unfold ?
Merged the above question in to the main SheetMetal thread.
Alone you go faster. Together we go farther
Please mark thread [Solved]
Want to contribute back to FC? Checkout:
'good first issues' | Open TODOs and FIXMEs | How to Help FreeCAD | How to report Bugs
Please mark thread [Solved]
Want to contribute back to FC? Checkout:
'good first issues' | Open TODOs and FIXMEs | How to Help FreeCAD | How to report Bugs
Re: Sheet Metal Workbench
Hi guys, I've opened a topic some times ago about a square-round part: https://forum.freecadweb.org/viewtopic. ... 93#p290885
Now, thanks to the new behavior of SubShapeBinder introduced recently by @realthunder on this LinkStage3 branch (https://forum.freecadweb.org/viewtopic. ... 54#p439205) it is possible to get a workflow 100% parametric for such a part ("tesselated parts", I mean sheetmetal parts modelized from 2D shell).
I get an error "failed to unfold". Sorry, I can't paste error messages from report view because I can't access FC right now. I can't share the 100% parametric square-round part neither for now, but I will.
Please donwload the "rondcarre" file following the link above then try to unfold the "Cut" feature with LinkStage3 branch, you will get the error. If you make a Part_SimpleCopy from "Cut" the issue remaine.
But there is a workaround: export the "Cut" feature as step format then import it, then unfold works like a charm.
If you consider this issue offtopic because it is related to LinkStage3 branche please let me know, I will open a new topic.
FC 0.19 LinkStage3 branch daily 2020-10-22
Win7
I will post more informations about code error and the parametric squarre-round when I will acces FC...
Thanks for your attention.
Now, thanks to the new behavior of SubShapeBinder introduced recently by @realthunder on this LinkStage3 branch (https://forum.freecadweb.org/viewtopic. ... 54#p439205) it is possible to get a workflow 100% parametric for such a part ("tesselated parts", I mean sheetmetal parts modelized from 2D shell).
realthunder wrote:ping
But I fail to unfold it, I assume that's due to the non standard of LinkStage3 branch maybe ?...jaisejames wrote:ping
I get an error "failed to unfold". Sorry, I can't paste error messages from report view because I can't access FC right now. I can't share the 100% parametric square-round part neither for now, but I will.
Please donwload the "rondcarre" file following the link above then try to unfold the "Cut" feature with LinkStage3 branch, you will get the error. If you make a Part_SimpleCopy from "Cut" the issue remaine.
But there is a workaround: export the "Cut" feature as step format then import it, then unfold works like a charm.
If you consider this issue offtopic because it is related to LinkStage3 branche please let me know, I will open a new topic.
FC 0.19 LinkStage3 branch daily 2020-10-22
Win7
I will post more informations about code error and the parametric squarre-round when I will acces FC...
Thanks for your attention.
-
- Veteran
- Posts: 2190
- Joined: Tue Jan 03, 2017 10:55 am
Re: Sheet Metal Workbench
Can you please post a sample file here. I'll take a look
Re: Sheet Metal Workbench
Sure, as soon I can access a computer and FC-Link I will send the file (today I hope...).realthunder wrote: ↑Tue Nov 03, 2020 1:06 pm Can you please post a sample file here. I'll take a look
Thanks for your attention.
Stay tuned!
Edit: ahh, I'm definitely not lucky, my old x86 computer (with your linkstage3 branch compiled on it) fails today: Debian is out of order (BIOS corrupted maybe, anyway...)
I will backup the file tomorrow, I'm not sure to be able to paste the error message though
See you tomorrow.
Re: Sheet Metal Workbench
Ok I'm back, thanks to you @realthunder I'm now able to open the file again by using your Linkstage3 branch on my cute n tiny RPI4
Here is the sheetmetal square-round part with full parametrical workflow, but which fail to unfold with Sheetmetal WB. Maybe my workflow is too much fancy?...
Here is stdout:
The error occurs on system below (Raspberry PI4) and on Win7 as well.
Thank you for your attention.
Sheetmetal WB V0.2.43
OS: Debian GNU/Linux 10 (buster) (LXDE/LXDE-pi)
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.19.25467 (Git)
Build type: Unknown
Branch: LinkStage3
Hash: 153b298a1cb52f5040fdc0ac371173586d2a2686
Python version: 3.7.3
Qt version: 5.11.3
Coin version: 4.0.0a
OCC version: 7.3.0
Locale: French/France (fr_FR)
Here is the sheetmetal square-round part with full parametrical workflow, but which fail to unfold with Sheetmetal WB. Maybe my workflow is too much fancy?...
Here is stdout:
Code: Select all
pi@raspberrypi:~/freecadlink-build/bin $ ./FreeCAD
FreeCAD 0.19, Libs: 0.19R25467 (Git)
�� Juergen Riegel, Werner Mayer, Yorik van Havre and others 2001-2020
FreeCAD is free and open-source software licensed under the terms of LGPL2+ license.
FreeCAD wouldn't be possible without FreeCAD community.
##### #### ### ####
# # # # # #
# ## #### #### # # # # #
#### # # # # # # # ##### # #
# # #### #### # # # # #
# # # # # # # # # ## ## ##
# # #### #### ### # # #### ## ## ##
Loading Assembly4 WorkBench
Sheet Metal workbench loaded
(process:31576): Gtk-WARNING **: 00:37:17.213: Locale not supported by C library.
Using the fallback 'C' locale.
<Command> Command.cpp(1839): duplicate command Std_TreePreSelection
<Command> Command.cpp(1839): duplicate command Std_TreeSelectAllInstances
connect failed: No such file or directory
Engineering mode is enabled.
Manual K-factor is being used: 0.30 (din)
exception at line 2876('list indices must be integers or slices, not NoneType',)
('list indices must be integers or slices, not NoneType',)
Traceback (most recent call last):
File "/home/pi/.FreeCAD/Mod/sheetmetal/SheetMetalUnfolder.py", line 2876, in accept
s, foldComp, norm, thename, err_cd, fSel, obN = getUnfold(k_factor_lookup)
File "/home/pi/.FreeCAD/Mod/sheetmetal/SheetMetalUnfolder.py", line 2174, in getUnfold
TheTree.Bend_analysis(f_number, None) # traverses the shape and builds the tree-structure
File "/home/pi/.FreeCAD/Mod/sheetmetal/SheetMetalUnfolder.py", line 1329, in Bend_analysis
self.Bend_analysis(child_info[0], t_node, child_info[1])
File "/home/pi/.FreeCAD/Mod/sheetmetal/SheetMetalUnfolder.py", line 1329, in Bend_analysis
self.Bend_analysis(child_info[0], t_node, child_info[1])
File "/home/pi/.FreeCAD/Mod/sheetmetal/SheetMetalUnfolder.py", line 1329, in Bend_analysis
self.Bend_analysis(child_info[0], t_node, child_info[1])
[Previous line repeated 9 more times]
File "/home/pi/.FreeCAD/Mod/sheetmetal/SheetMetalUnfolder.py", line 1320, in Bend_analysis
t_node = self.make_new_face_node(face_idx, parent_node, parent_edge, wires_edge_lists)
File "/home/pi/.FreeCAD/Mod/sheetmetal/SheetMetalUnfolder.py", line 1103, in make_new_face_node
oppVertIndexes = range(len(self.__Shape.Faces[newNode.c_face_idx].Vertexes))
TypeError: list indices must be integers or slices, not NoneType
Thank you for your attention.
Sheetmetal WB V0.2.43
OS: Debian GNU/Linux 10 (buster) (LXDE/LXDE-pi)
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.19.25467 (Git)
Build type: Unknown
Branch: LinkStage3
Hash: 153b298a1cb52f5040fdc0ac371173586d2a2686
Python version: 3.7.3
Qt version: 5.11.3
Coin version: 4.0.0a
OCC version: 7.3.0
Locale: French/France (fr_FR)
Re: Sheet Metal Workbench
it does seem to work if you export and re-import the model as step and then unfold it
Re: Sheet Metal Workbench
Yes correct, this workarround worked also for me on Win7 system but does not work on my RPI4 system .
That's why I didn't mentioned about it.
I've got the same error when trying to unfold a reimported step on RPI4
- papyblaise
- Veteran
- Posts: 8015
- Joined: Thu Jun 13, 2019 4:28 pm
- Location: France
Re: Sheet Metal Workbench
on this French site I have proposed a method to make this hood, which unfolds perfectly
https://forum.freecadweb.org/viewtopic.php?f=12&t=51691
I can't unfold if I make a hole in the side, I know why; SheetMetal does not unfold if a bend radius is cut
I also noticed that if I make a hole after folding, as for example in the large central triangle, does not work either
the solution is to make the hole immediately after the fold concerned, then continue to make the following folds
https://forum.freecadweb.org/viewtopic.php?f=12&t=51691
I can't unfold if I make a hole in the side, I know why; SheetMetal does not unfold if a bend radius is cut
I also noticed that if I make a hole after folding, as for example in the large central triangle, does not work either
the solution is to make the hole immediately after the fold concerned, then continue to make the following folds
Re: Sheet Metal Workbench
So, I downloaded your unfolded model, but I fail to unfold re-imported Cut001 object, on RPI4 I get:
Code: Select all
3:15:38 <PropShape> PropertyTopoShape.cpp(393): Pending recompute for generating element map: FC_Link_sheetmetal_parametric_square_round_unfolded#Body
23:15:38 <PropShape> PropertyTopoShape.cpp(393): Pending recompute for generating element map: FC_Link_sheetmetal_parametric_square_round_unfolded#Sketch
23:15:38 <PropShape> PropertyTopoShape.cpp(393): Pending recompute for generating element map: FC_Link_sheetmetal_parametric_square_round_unfolded#Sketch001
23:15:38 <PropShape> PropertyTopoShape.cpp(393): Pending recompute for generating element map: FC_Link_sheetmetal_parametric_square_round_unfolded#Binder
23:15:38 <PropShape> PropertyTopoShape.cpp(393): Pending recompute for generating element map: FC_Link_sheetmetal_parametric_square_round_unfolded#Binder001
23:15:38 <PropShape> PropertyTopoShape.cpp(393): Pending recompute for generating element map: FC_Link_sheetmetal_parametric_square_round_unfolded#Binder002
23:15:38 <PropShape> PropertyTopoShape.cpp(393): Pending recompute for generating element map: FC_Link_sheetmetal_parametric_square_round_unfolded#Binder003
23:15:38 <PropShape> PropertyTopoShape.cpp(393): Pending recompute for generating element map: FC_Link_sheetmetal_parametric_square_round_unfolded#Binder004
23:15:38 <PropShape> PropertyTopoShape.cpp(393): Pending recompute for generating element map: FC_Link_sheetmetal_parametric_square_round_unfolded#Binder005
23:15:38 <PropShape> PropertyTopoShape.cpp(393): Pending recompute for generating element map: FC_Link_sheetmetal_parametric_square_round_unfolded#Facebinder
23:15:38 <PropShape> PropertyTopoShape.cpp(393): Pending recompute for generating element map: FC_Link_sheetmetal_parametric_square_round_unfolded#Part__Mirroring
23:15:38 <PropShape> PropertyTopoShape.cpp(393): Pending recompute for generating element map: FC_Link_sheetmetal_parametric_square_round_unfolded#Facebinder001
23:15:38 <PropShape> PropertyTopoShape.cpp(393): Pending recompute for generating element map: FC_Link_sheetmetal_parametric_square_round_unfolded#Offset
23:15:38 <PropShape> PropertyTopoShape.cpp(393): Pending recompute for generating element map: FC_Link_sheetmetal_parametric_square_round_unfolded#Offset001
23:15:38 <PropShape> PropertyTopoShape.cpp(393): Pending recompute for generating element map: FC_Link_sheetmetal_parametric_square_round_unfolded#Cylinder
23:15:38 <PropShape> PropertyTopoShape.cpp(393): Pending recompute for generating element map: FC_Link_sheetmetal_parametric_square_round_unfolded#Cut
23:15:38 <PropShape> PropertyTopoShape.cpp(393): Pending recompute for generating element map: FC_Link_sheetmetal_parametric_square_round_unfolded#Cut_material_0_30din_sc
23:15:38 <PropShape> PropertyTopoShape.cpp(393): Pending recompute for generating element map: FC_Link_sheetmetal_parametric_square_round_unfolded#Part__Feature
23:15:38 <PropShape> PropertyTopoShape.cpp(393): Pending recompute for generating element map: FC_Link_sheetmetal_parametric_square_round_unfolded#Unfold
23:15:38 <PropShape> PropertyTopoShape.cpp(393): Pending recompute for generating element map: FC_Link_sheetmetal_parametric_square_round_unfolded#Unfold_Sketch
23:15:38 <PropShape> PropertyTopoShape.cpp(393): Pending recompute for generating element map: FC_Link_sheetmetal_parametric_square_round_unfolded#Unfold_Sketch_Outline
23:15:38 <PropShape> PropertyTopoShape.cpp(393): Pending recompute for generating element map: FC_Link_sheetmetal_parametric_square_round_unfolded#Unfold_Sketch_bends
23:15:50 <App> GeoFeatureGroupExtension.cpp(571): FC_Link_sheetmetal_parametric_square_round_unfolded#Facebinder.Faces(links to FC_Link_sheetmetal_parametric_square_round_unfolded#Binder) is out of scope:FC_Link_sheetmetal_parametric_square_round_unfolded#Body vs. <global>
23:16:35 Engineering mode is enabled.
23:16:45 Manual K-factor is being used: 0.30 (din)
23:16:45 15StdFail_NotDone BRep_API: command not done
23:16:45 exception at line 2876('15StdFail_NotDone BRep_API: command not done',)
23:16:45 ('15StdFail_NotDone BRep_API: command not done',)
23:16:45 Traceback (most recent call last):
23:16:45 File "/home/pi/.FreeCAD/Mod/sheetmetal/SheetMetalUnfolder.py", line 1688, in unbendFace
theFace = Part.Face(myWire)
23:16:45 Part.OCCError: Failed to create face from wire
23:16:45
During handling of the above exception, another exception occurred:
23:16:45 Traceback (most recent call last):
23:16:45 File "/home/pi/.FreeCAD/Mod/sheetmetal/SheetMetalUnfolder.py", line 2876, in accept
s, foldComp, norm, thename, err_cd, fSel, obN = getUnfold(k_factor_lookup)
23:16:45 File "/home/pi/.FreeCAD/Mod/sheetmetal/SheetMetalUnfolder.py", line 2180, in getUnfold
theFaceList, foldLines = TheTree.unfold_tree2(TheTree.root) # traverses the tree-structure
23:16:45 File "/home/pi/.FreeCAD/Mod/sheetmetal/SheetMetalUnfolder.py", line 2049, in unfold_tree2
shell, foldLines = self.unfold_tree2(n_node)
23:16:45 File "/home/pi/.FreeCAD/Mod/sheetmetal/SheetMetalUnfolder.py", line 2049, in unfold_tree2
shell, foldLines = self.unfold_tree2(n_node)
23:16:45 File "/home/pi/.FreeCAD/Mod/sheetmetal/SheetMetalUnfolder.py", line 2049, in unfold_tree2
shell, foldLines = self.unfold_tree2(n_node)
23:16:45 [Previous line repeated 8 more times]
23:16:45 File "/home/pi/.FreeCAD/Mod/sheetmetal/SheetMetalUnfolder.py", line 2062, in unfold_tree2
nodeShell, nodeFoldLines = self.generateBendShell2(node)
23:16:45 File "/home/pi/.FreeCAD/Mod/sheetmetal/SheetMetalUnfolder.py", line 1938, in generateBendShell2
bFace = self.unbendFace(i, bend_node, nullVec)
23:16:45 File "/home/pi/.FreeCAD/Mod/sheetmetal/SheetMetalUnfolder.py", line 1699, in unbendFace
theFace = Part.makeFilledFace(thirdWireList)
23:16:45 Part.OCCError: 15StdFail_NotDone BRep_API: command not done
23:16:45
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.19.25467 (Git)
Build type: Unknown
Branch: LinkStage3
Hash: 153b298a1cb52f5040fdc0ac371173586d2a2686
Python version: 3.7.3
Qt version: 5.11.3
Coin version: 4.0.0a
OCC version: 7.3.0
Locale: French/France (fr_FR)
However I success to unfold re-imported Cut001 object from step format on RPI4 but with FC master:
OS: Debian GNU/Linux 10 (buster) (LXDE/LXDE-pi)
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.19.21804 (Git)
Build type: Unknown
Branch: master
Hash: 8b2044aa13807709989fe08a2b5c3394f5a04941
Python version: 3.7.3
Qt version: 5.11.3
Coin version: 4.0.0a
OCC version: 7.3.0
Locale: French/France (fr_FR)
So, IMHO the issue seems related to Linkstage3 branch
Somehow I don't success to unfold the original parametric Cut object with master branch neither with Linkstage3 branch.realthunder wrote:ping