def PsimSetElmValue(self, SchematicObj, psimElm, varName, varValue):
if not self.IsValid():
print("PSIM object was not loaded.")
return None;
schHandle = 0
if isinstance(SchematicObj, PSIM_schematic):
schHandle = SchematicObj.value
else:
return False
PsimSetEV = getattr(self.psimHandle, "PsimSetElmValueW")
if not PsimSetEV:
raise AttributeError(self.VersionErrorMessage)
PsimSetEV.argtypes = [ctypes.c_int, ctypes.c_wchar_p, ctypes.c_wchar_p, ctypes.c_int, ctypes.c_wchar_p, ctypes.c_wchar_p]
PsimSetEV.restype = ctypes.c_int
if psimElm is None:
res = PsimSetEV(ctypes.c_int(schHandle), None, None, -1, ctypes.c_wchar_p(varName), ctypes.c_wchar_p(varValue));
else:
res = PsimSetEV(ctypes.c_int(schHandle), ctypes.c_wchar_p(psimElm.Type), ctypes.c_wchar_p(psimElm.Name), ctypes.c_int(psimElm.Index), ctypes.c_wchar_p(varName), ctypes.c_wchar_p(varValue));
if res == False:
if psimElm != None:
print("Unable to update element. Type:" + psimElm.Type + " Name:" + psimElm.Name + " VarName:" + varName + " varValue:" + varValue + "\n")
else:
print("Unable to update element: varValue:" + varValue + "\n")
return False;
return True;