Display ResultMesh not Updated
Moderator: bernd
Forum rules
and Helpful information for the FEM forum
and Helpful information for the FEM forum
Display ResultMesh not Updated
Display of result mesh isn't updated correctly.
workflow:
load cantilever3D example from FreeCAD's start page
set ResultMesh Transparency to 50%
set checkbox: Edit->Preferences->FEM->General->Restore result dialog settings
open task panel "CCX_Results"
select radio button "Abs displacement"
view not updated
exit task panel and reopen
But updating view should work like it works if transparency is set to zero
i.e.: immediately
OS: Windows 10 (10.0)
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.19.19055 (Git)
Build type: Release
Branch: master
Hash: 0af2e760a154ceb08ac2b7230b8ab93e6a20e364
Python version: 3.7.3
Qt version: 5.12.5
Coin version: 4.0.0a
OCC version: 7.3.0
Locale: German/Germany (de_DE)
workflow:
load cantilever3D example from FreeCAD's start page
set ResultMesh Transparency to 50%
set checkbox: Edit->Preferences->FEM->General->Restore result dialog settings
open task panel "CCX_Results"
select radio button "Abs displacement"
view not updated
exit task panel and reopen
But updating view should work like it works if transparency is set to zero
i.e.: immediately
OS: Windows 10 (10.0)
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.19.19055 (Git)
Build type: Release
Branch: master
Hash: 0af2e760a154ceb08ac2b7230b8ab93e6a20e364
Python version: 3.7.3
Qt version: 5.12.5
Coin version: 4.0.0a
OCC version: 7.3.0
Locale: German/Germany (de_DE)
Re: Display ResultMesh not Updated
Hi bernd,bernd wrote:
any thoughts about this
Re: Display ResultMesh not Updated
no computer around, no FreeCAD on my mobil, but would be worth a try. Since it is sailfish it should be doable.
Re: Display ResultMesh not Updated
For me it is the other way around ...
load cantilever3D example from FreeCAD's start page
set ResultMesh Transparency to 50%
unset checkbox: Edit->Preferences->FEM->General->Restore result dialog settings
open task panel "CCX_Results"
select radio button "Abs displacement"
than the result view does not work as expected ... But this is even more strange ...
OS: Debian GNU/Linux 10 (buster) (KDE//usr/share/xsessions/plasma)
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.19.19129 (Git)
Build type: Unknown
Branch: master
Hash: 3c3e946f752c25d834e4d2d9aa3a057642a890be
Python version: 3.7.3
Qt version: 5.11.3
Coin version: 4.0.0a
OCC version: 7.3.0
Locale: German/Switzerland (de_CH)
Re: Display ResultMesh not Updated
Just to be sure it works at all ...
Code: Select all
# load file and get objects
import FreeCAD
app_home = FreeCAD.ConfigGet("AppHomePath")
doc = FreeCAD.open(app_home + "data/examples/FemCalculixCantilever3D.FCStd")
doc.Pipeline.Visibility = False
doc.WarpVector.Visibility = False
resdata = doc.CalculiX_static_results
resmesh = doc.Result_mesh
# reset result mesh, but use Transparency 50
resmesh.Visibility = True
resmesh.ViewObject.Transparency = 50
resmesh.ViewObject.applyDisplacement(0)
resmesh.ViewObject.NodeColor = {}
resmesh.ViewObject.ElementColor = {}
node_numbers = list(resmesh.FemMesh.Nodes.keys())
zero_values = [0] * len(node_numbers)
resmesh.ViewObject.setNodeColorByScalars(node_numbers, zero_values)
# set abs displacement color
resmesh.ViewObject.setNodeColorByScalars(resdata.NodeNumbers, resdata.DisplacementLengths)
Re: Display ResultMesh not Updated
means problem seams inside the Task Panel ... https://github.com/FreeCAD/FreeCAD/blob ... al.py#L119
Re: Display ResultMesh not Updated
found something strange ...
load example and set transparent result
set transparency and reset result
set transparency will get the abs displacement color back ...
load example and set transparent result
Code: Select all
# load file and get objects
import FreeCAD
app_home = FreeCAD.ConfigGet("AppHomePath")
doc = FreeCAD.open(app_home + "data/examples/FemCalculixCantilever3D.FCStd")
doc.Pipeline.Visibility = False
doc.WarpVector.Visibility = False
resdata = doc.CalculiX_static_results
resmesh = doc.Result_mesh
# reset result mesh, but use Transparency 50
resmesh.Visibility = True
resmesh.ViewObject.Transparency = 50
resmesh.ViewObject.applyDisplacement(0)
resmesh.ViewObject.NodeColor = {}
resmesh.ViewObject.ElementColor = {}
node_numbers = list(resmesh.FemMesh.Nodes.keys())
zero_values = [0] * len(node_numbers)
resmesh.ViewObject.setNodeColorByScalars(node_numbers, zero_values)
# set abs displacement color
resmesh.ViewObject.setNodeColorByScalars(resdata.NodeNumbers, resdata.DisplacementLengths)
Code: Select all
# reset result mesh, use Transparency 0
resmesh.Visibility = True
resmesh.ViewObject.Transparency = 0
resmesh.ViewObject.applyDisplacement(0)
resmesh.ViewObject.NodeColor = {}
resmesh.ViewObject.ElementColor = {}
node_numbers = list(resmesh.FemMesh.Nodes.keys())
zero_values = [0] * len(node_numbers)
resmesh.ViewObject.setNodeColorByScalars(node_numbers, zero_values)
Code: Select all
# set Transparency to 50
resmesh.ViewObject.Transparency = 50
Re: Display ResultMesh not Updated
it seams a real result mesh reset has to be done for transparency == 0 and transparency > 0
Code: Select all
# reset result mesh
resmesh.Visibility = True
resmesh.ViewObject.applyDisplacement(0)
# reset for some transparency
resmesh.ViewObject.Transparency = 1
resmesh.ViewObject.NodeColor = {}
resmesh.ViewObject.ElementColor = {}
node_numbers = list(resmesh.FemMesh.Nodes.keys())
zero_values = [0] * len(node_numbers)
resmesh.ViewObject.setNodeColorByScalars(node_numbers, zero_values)
# reset for no transparency
resmesh.ViewObject.Transparency = 0
resmesh.ViewObject.NodeColor = {}
resmesh.ViewObject.ElementColor = {}
node_numbers = list(resmesh.FemMesh.Nodes.keys())
zero_values = [0] * len(node_numbers)
resmesh.ViewObject.setNodeColorByScalars(node_numbers, zero_values)
Re: Display ResultMesh not Updated
Another strange one.
- start FreeCAD
- open FEM 3D canitlever example
- Make the result mesh visible (the child of result object !) --> the mesh is orange
- Double click on result object --> result task panel opens
- close result task panel
- setNodeColorByScalars has been run on zero values thus --> the mesh is green
- the above overwrites the ShapeColor
- it is more possible to change the Color of the mesh
OS: Debian GNU/Linux 10 (buster) (KDE//usr/share/xsessions/plasma)
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.19.19129 (Git)
Build type: Unknown
Branch: master
Hash: 3c3e946f752c25d834e4d2d9aa3a057642a890be
Python version: 3.7.3
Qt version: 5.11.3
Coin version: 4.0.0a
OCC version: 7.3.0
Locale: German/Switzerland (de_CH)
- start FreeCAD
- open FEM 3D canitlever example
- Make the result mesh visible (the child of result object !) --> the mesh is orange
- Double click on result object --> result task panel opens
- close result task panel
- setNodeColorByScalars has been run on zero values thus --> the mesh is green
- the above overwrites the ShapeColor
- it is more possible to change the Color of the mesh
OS: Debian GNU/Linux 10 (buster) (KDE//usr/share/xsessions/plasma)
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.19.19129 (Git)
Build type: Unknown
Branch: master
Hash: 3c3e946f752c25d834e4d2d9aa3a057642a890be
Python version: 3.7.3
Qt version: 5.11.3
Coin version: 4.0.0a
OCC version: 7.3.0
Locale: German/Switzerland (de_CH)
Re: Display ResultMesh not Updated
this https://github.com/FreeCAD/FreeCAD/blob ... al.py#L649 would solve the above, and should solve the problem with resetting transparent and non transparent too.bernd wrote: ↑Sun Jan 05, 2020 11:10 pm Another strange one.
- start FreeCAD
- open FEM 3D canitlever example
- Make the result mesh visible (the child of result object !) --> the mesh is orange
- Double click on result object --> result task panel opens
- close result task panel
- setNodeColorByScalars has been run on zero values thus --> the mesh is green
- the above overwrites the ShapeColor
- it is more possible to change the Color of the mesh