Two bugs fixed in VI-Suite 07 beta8 on Windows 11

5 views
Skip to first unread message

武政孝治

unread,
Mar 21, 2026, 10:34:55 PM (13 days ago) Mar 21
to VI-Suite
Hi.

Claude and I found and fixed two bugs in VI-Suite 07 beta8 on Windows 11 with Blender 4.4. I would like to share the fixes with you.

  ---
Bug 1: Weather directory specified in Preferences is not reflected in the Weather dropdown of VI Location node.

Root Cause: The retentries() function in vi_node.py prioritizes self['entries'] cache, so the EPW files in the directory specified in Preferences are not loaded.

Fix (vi_node.py): 
Replace the retentries() function with the following:

    def retentries(self, context):
        entries = []
        try:
            addonfolder = os.path.basename(os.path.dirname(os.path.abspath(__file__)))
            vi_prefs = bpy.context.preferences.addons['{}'.format(addonfolder)].preferences
            if vi_prefs and os.path.isdir(bpy.path.abspath(vi_prefs.epweath)):
                epwpath = bpy.path.abspath(vi_prefs.epweath)
            else:
                epwpath = os.path.dirname(os.path.abspath(__file__)) + '/EPFiles/Weather/'
            for wfile in glob.glob(epwpath + '/*.epw'):
                if wfile.isascii():
                    with open(wfile, 'r') as wf:
                        for wfl in wf.readlines():
                            if wfl.split(',')[0].upper() == 'LOCATION':
                                entries.append((wfile, '{} - {}'.format(wfl.split(',')[3], wfl.split(',')[1]), 'Weather Location'))
                                break
        except Exception as e:
            print('retentries error:', e)
        if not entries:
            return [('None', 'None', 'None')]
        self['entries'] = entries
        return entries
--- 
Bug 2: FloVi NetGen node shows "No docker container running"
even though dicehub/openfoam:12 image is installed.

Root Cause:
The output format of "docker images" command has changed in newer versions
of Docker Desktop on Windows.
The old format was:
    REPOSITORY         TAG   IMAGE ID ...
    dicehub/openfoam   12    d7bbd9e71057 ...

The new format is:
    IMAGE                 ID
    dicehub/openfoam:12   d7bbd9e71057 ...

So the condition "lds[0] == 'dicehub/openfoam' and lds[1] == '12'"
never becomes True.

Fix (vi_node.py):
Change:
    if lds[0] == 'dicehub/openfoam' and lds[1] == '12':
        ofoam = 1

To:
    if 'dicehub/openfoam' in lds[0] and ('12' in lds[0] or lds[1] == '12'):
        ofoam = 1

Environment: - OS: Windows 11 - Blender: 4.4 - VI-Suite: 07 beta8 - Docker Desktop: v4.65.0 - Docker image: dicehub/openfoam:12 I hope these fixes help improve VI-Suite. Thank you for your excellent work. 

Best regards,
   
Reply all
Reply to author
Forward
0 new messages