HB[+]_HBSurface_'module' object has no attribute 'isplus'

Hi everyone,

In the recent two days, there is an issue I have when using HB[+]:
Whatever geometry input gets connected with HBSurface, there is an error: 1. Solution exception:‘module’ object has no attribute ‘isplus’
(related topic can be found here: Geo connecting with HBSurface shows error in HB[+])

Then I checked HBSurface code:

But hbsurface.py is in the folder mentioned in the above screenshot:

The versions of HB, LB, HB[+] that I have are up to the latest ones: Ladybug 0.0.68 and Honeybee 0.0.65 [Legacy Plugins], Honeybee[+] 0.0.04.

It seems my situation is very similar to this one:


So I am trying to follow this post to create a python component on the canvas with:
import honeybee
from honeybee.hbsurface import HBSurface

However, I am not quite familiar with python in grasshopper.
So I appreciate any suggestions, solutions, or directions to the similar problem which happened before.

I created a python component on canvas and connect to HBSurface, error still exists:

Execute hbsurface.py, and show error: ModuleNotFoundError: No module named ‘_materialbase’:

However, _materialbase.py can be found in: \AppData\Roaming\McNeel\Rhinoceros\6.0\scripts\honeybee\radiance\material

It also comes out with below problems:

This error is solved by following below steps:

Completely remove LB, HB and HB[+] then reinstall.

1.1 Instruction of COMPLETELY removing HB, LB, HB[+], LB[+]
1.1.1. Open and enable this remove script first: https://github.com/mostaphaRoudsari/hydra_1/commit/3e81136e7c17b8823f945cbd32cff582bd0e6c3a
Successfully removed HB and LB, but HB[+] and LB[+] are still there.
1.1.2. Go to: C:\Users<useer name>\AppData\Roaming\Grasshopper\ check Libraries and UserObjects folders, and manually remove all related HB, LB, HB[+], LB[+] files.
1.1.3. Go to C:\Users<useer name>\AppData\Roaming\McNeel\Rhinoceros\6.0\scripts manually remove all folders related HB and LB.
1.1.4. Open Rhino-Grasshopper, there is no HB[+] and LB[+] in Grasshopper ribbon. HB only has Item-Selector left. LB only has Image-Viewer left.

1.2. Instruction of installing HB, LB, HB[+], LB[+]
1.2.1. Make sure Radiance (require 5.1.0 or higher), DAYSIM, OpenStudio, Therm, and EnergyPlus have been installed.
1.2.2. To install LB and HB Legacy, go to: https://www.food4rhino.com/app/ladybug-tools# also follow the instructions: https://github.com/ladybug-tools/ladybug-legacy/wiki/Installation-Instructions . After installation, check if there is error free by add HB and LB components on the canvas.
1.2.3. To install HB[+], go to :https://www.food4rhino.com/app/ladybug-tools# install HB[+] by using installer.gh. HB[+] is installed in C:\Users\Di Liu\AppData\Roaming\McNeel\Rhinoceros\6.0\scripts

Attribute errors in Python are generally raised when you try to access or call an attribute that a particular object type doesn’t possess. It’s simply because there is no attribute with the name you called, for that Object. This means that you got the error when the “module” does not contain the method you are calling. But it is evident that the method is there, which leads to believe that may be the method was added by you in the source code after you had already imported the file (module). Or, some times packages get deprecated and they rename some functions. If that is true, then you may want to exit and reimport the module once again to be able to access the new method .

You can do it in another way to reimport the module with changes without having to exit the interpreter is to do the following:

reload(myModule)

If you are using python 3.2 or 3.3 you should:

import imp
imp.reload(myModule)

If running Python 3.4 and up, do import importlib, then do:

import importlib
importlib.reload(myModule)

The importlib.reload() method reload a previously imported module. The argument must be a module object, so it must have been successfully imported before .