Open frame3DD result file (*.OUT)
Moderator: bernd
Forum rules
and Helpful information for the FEM forum
and Helpful information for the FEM forum
Open frame3DD result file (*.OUT)
Hi,
I have written a frame3DD result file (*.OUT) importer followed this: https://github.com/FreeCAD/FreeCAD/blob ... Results.py
Since OUT file extension is not supported by fc at the moment, when you try to open it, fc will show a message saying not supported.
To try this new open:
1. Rename the original importCcxFrdResults.py to other name, which is located at Freecad\Mod\Fem\feminout to save it
2. Copy my one into this folder
3. Rename frame3DD's OUT file to FRD file, that is exA.OUT-->exA.Frd
4. Use fc to open that exA.Frd
If fc support OUT later, my one could be named importFrame3DDResults.py
Regards,
John
I have written a frame3DD result file (*.OUT) importer followed this: https://github.com/FreeCAD/FreeCAD/blob ... Results.py
Since OUT file extension is not supported by fc at the moment, when you try to open it, fc will show a message saying not supported.
To try this new open:
1. Rename the original importCcxFrdResults.py to other name, which is located at Freecad\Mod\Fem\feminout to save it
2. Copy my one into this folder
3. Rename frame3DD's OUT file to FRD file, that is exA.OUT-->exA.Frd
4. Use fc to open that exA.Frd
If fc support OUT later, my one could be named importFrame3DDResults.py
Regards,
John
Last edited by johnwang on Wed Mar 04, 2020 5:46 am, edited 1 time in total.
Re: Open frame3DD result file (*.OUT)
would you post an example out file?
Re: Open frame3DD result file (*.OUT)
Re: Open frame3DD result file (*.OUT)
name your module "importFrame3DDResults" and place it in "feminout"
place following line in init.py in Fem above this line:
https://github.com/FreeCAD/FreeCAD/blob ... nit.py#L51
Start FreeCAD --> open an out file --> enjoy
exA.out from the link you provided ...
place following line in init.py in Fem above this line:
https://github.com/FreeCAD/FreeCAD/blob ... nit.py#L51
Code: Select all
FreeCAD.addImportType("FEM result Frame3DD (*.out)", "feminout.importFrame3DDResults")
exA.out from the link you provided ...
Re: Open frame3DD result file (*.OUT)
if you use github, you could make a PR and we will include it in the main repo
Re: Open frame3DD result file (*.OUT)
on example exH.out I get this error:
Code: Select all
F R A M E E L E M E N T E N D F O R C E S (local)
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "C:\0_BHA_privat\progr\FreeCAD_0.19.xxxxx_Py3Qt5\Mod\Fem\feminout\importFrame3DDResults.py", line 27, in open
insert(filename, docname)
File "C:\0_BHA_privat\progr\FreeCAD_0.19.xxxxx_Py3Qt5\Mod\Fem\feminout\importFrame3DDResults.py", line 40, in insert
importFrame3DD(filename)
File "C:\0_BHA_privat\progr\FreeCAD_0.19.xxxxx_Py3Qt5\Mod\Fem\feminout\importFrame3DDResults.py", line 51, in importFrame3DD
m = read_Frame3DD_result(filename)
File "C:\0_BHA_privat\progr\FreeCAD_0.19.xxxxx_Py3Qt5\Mod\Fem\feminout\importFrame3DDResults.py", line 317, in read_Frame3DD_result
elem = int(dataNode[0])
<class 'ValueError'>: invalid literal for int() with base 10: 'F'
Re: Open frame3DD result file (*.OUT)
ahh forgot to write cool stuff
Re: Open frame3DD result file (*.OUT)
in your module is still a lot commented calculix specific (eigenvslue, flow, etc) code. Have a look here on Z88 result importer what is really needed and what not. https://github.com/FreeCAD/FreeCAD/blob ... Results.py
Re: Open frame3DD result file (*.OUT)
Frame3DD sometimes doesn't write displacement for all nodes. Have to deal with this.
Double click the result node, one can drag to view the result animation. So cool.
One thing I noticed, fc fem result obj only defined one load case. For displacement is like this:
Code: Select all
mode_results["disp"] = mode_disp
Code: Select all
mode_results["disp"+str(LCnum)] = mode_disp
I got an error message from the compact mesh tool.
For frame3DD, most time needs load case more than one. Hope fc fea could support multi load case.
Re: Open frame3DD result file (*.OUT)
simplest workround, create one resultobject for each loadcase. Like in a frequecy analysis we create one result object for each mode shape. But you can use the same result mesh object for all result objects.