353 lines
11 KiB
Python
353 lines
11 KiB
Python
#-------关联C++库---------------
|
|
import ctypes
|
|
import platform
|
|
from ctypes import *
|
|
system = platform.system()
|
|
if system == "Windows":
|
|
pre = "./"
|
|
suff = ".dll"
|
|
else:
|
|
pre = "./lib"
|
|
suff = ".so"
|
|
|
|
libfile = ctypes.cdll.LoadLibrary
|
|
filename = pre+"MainWindow"+suff
|
|
|
|
mw = libfile(filename)
|
|
#---------------------------------
|
|
#--------------New_script_FilterClip---------
|
|
|
|
#-------定义函数------------------
|
|
|
|
def undo():
|
|
mw.undo()
|
|
pass
|
|
|
|
def redo():
|
|
mw.redo()
|
|
pass
|
|
|
|
def clearData():
|
|
mw.clearData()
|
|
pass
|
|
|
|
def updateInterface():
|
|
mw.updateInterface()
|
|
pass
|
|
|
|
def openProjectFile(filename):
|
|
str = bytes(filename,encoding='utf-8')
|
|
mw.openProjectFile(str)
|
|
pass
|
|
|
|
def saveProjectFile(filename):
|
|
str = bytes(filename,encoding='utf-8')
|
|
mw.saveProjectFile(str)
|
|
pass
|
|
|
|
def createProjectFile(filename):
|
|
str = bytes(filename,encoding='utf-8')
|
|
mw.createProjectFile(str)
|
|
pass
|
|
|
|
def renameProjectFile(newName):
|
|
str = bytes(newName,encoding="utf-8")
|
|
mw.renameProjectFile(str)
|
|
pass
|
|
|
|
def saveImage(w,h,id,win,file,autoSize):
|
|
wi = bytes(win,encoding='utf-8')
|
|
f = bytes(file,encoding='utf-8')
|
|
mw.saveImage(w,h,id,wi,f,autoSize)
|
|
pass
|
|
|
|
def setView(id,win,view):
|
|
wi = bytes(win,encoding='utf-8')
|
|
vi = bytes(view,encoding='utf-8')
|
|
mw.setView(id,wi,vi)
|
|
pass
|
|
|
|
def setViewRandValue(id,win,x1,x2,x3,y1,y2,y3,z1,z2,z3):
|
|
wi=bytes(win,encoding='utf-8')
|
|
mw.setViewRandValue(id,wi,x1,x2,x3,y1,y2,y3,z1,z2,z3)
|
|
pass
|
|
|
|
def openPointCloud():
|
|
mw.openPointCloud()
|
|
pass
|
|
|
|
def openPost3D():
|
|
mw.openPost3D()
|
|
pass
|
|
|
|
def openPost2D():
|
|
mw.openPost2D()
|
|
pass
|
|
|
|
def openPreWindow():
|
|
mw.openPreWindow()
|
|
pass
|
|
|
|
def solveCase():
|
|
mw.solveCase()
|
|
pass
|
|
|
|
def activeCase(caseID):
|
|
mw.activeCase(caseID)
|
|
pass
|
|
|
|
def script_openFile(id, type, file):
|
|
stype = bytes(type,encoding='utf-8')
|
|
sfile = bytes(file,encoding='utf-8')
|
|
mw.script_openFile(id, stype, sfile)
|
|
pass
|
|
|
|
def script_applyClicked(id, type):
|
|
stype=bytes(type,encoding='utf-8')
|
|
mw.script_applyClicked(id, stype)
|
|
pass
|
|
|
|
def createSet(name, type, idstring):
|
|
name = bytes(name,encoding='utf-8')
|
|
idstring = bytes(idstring,encoding='utf-8')
|
|
type = bytes(type,encoding='utf-8')
|
|
mw.createSet(name,type,idstring)
|
|
pass
|
|
|
|
def createGeoComponent(name, type, strgIDs, strItemIDs):
|
|
name = bytes(name,encoding='utf-8')
|
|
type = bytes(type,encoding='utf-8')
|
|
strgIDs = bytes(strgIDs,encoding='utf-8')
|
|
strItemIDs = bytes(strItemIDs,encoding='utf-8')
|
|
mw.createGeoComponent(name, type, strgIDs, strItemIDs)
|
|
pass
|
|
|
|
def createVTKTransform(componentIds, rotate, moveLocation, scale):
|
|
componentIds = bytes(componentIds,encoding='utf-8')
|
|
rotate = bytes(rotate,encoding='utf-8')
|
|
moveLocation = bytes(moveLocation,encoding='utf-8')
|
|
scale = bytes(scale,encoding='utf-8')
|
|
mw.createVTKTransform(componentIds, rotate, moveLocation, scale)
|
|
pass
|
|
|
|
def findConplanarPorC(seedType, seedId, minAngle, kernalId, setName):
|
|
seedType = bytes(seedType, encoding='utf-8')
|
|
setName = bytes(setName, encoding='utf-8')
|
|
minAngle = c_double(minAngle)
|
|
mw.findConplanarPorC(seedType, seedId, minAngle, kernalId, setName)
|
|
pass
|
|
|
|
def deleteGeometry(id):
|
|
idstr=bytes(id,encoding='utf-8')
|
|
mw.deleteGeometry(idstr)
|
|
pass
|
|
|
|
def createCase(name, typ):
|
|
sname = bytes(name,encoding='utf-8')
|
|
stype = bytes(typ,encoding='utf-8')
|
|
mw.createCase(sname, stype)
|
|
pass
|
|
|
|
def deleteCase(caseid):
|
|
mw.deleteCase(caseid)
|
|
pass
|
|
|
|
def caseRename(pid,newname):
|
|
newname = bytes(newname,encoding='utf-8')
|
|
mw.caseRename(pid,newname)
|
|
pass
|
|
|
|
def closeMainWindow():
|
|
mw.closeMainWindow()
|
|
pass
|
|
|
|
def deleteMesh(meshIndex):
|
|
smeshIndex = bytes(meshIndex,encoding="utf-8")
|
|
mw.deleteMesh(smeshIndex)
|
|
pass
|
|
|
|
def deleteBoundaryCondition(idList):
|
|
sIdList= bytes(idList,encoding='utf-8')
|
|
mw.deleteBoundaryCondition(sIdList)
|
|
pass
|
|
|
|
def deleteMOMWavePortData(idList):
|
|
sIdList= bytes(idList,encoding='utf-8')
|
|
mw.deleteMOMWavePortData(sIdList)
|
|
pass
|
|
|
|
def deleteMOMPlaneWaveData(idList):
|
|
sIdList= bytes(idList,encoding='utf-8')
|
|
mw.deleteMOMPlaneWaveData(sIdList)
|
|
pass
|
|
|
|
def deleteMOMLumpedPortData(idList):
|
|
sIdList= bytes(idList,encoding='utf-8')
|
|
mw.deleteMOMLumpedPortData(sIdList)
|
|
pass
|
|
|
|
|
|
def deleteFEMWavePortData(idList):
|
|
sIdList= bytes(idList,encoding='utf-8')
|
|
mw.deleteFEMWavePortData(sIdList)
|
|
pass
|
|
|
|
def deleteFEMPlaneWaveData(idList):
|
|
sIdList= bytes(idList,encoding='utf-8')
|
|
mw.deleteFEMPlaneWaveData(sIdList)
|
|
pass
|
|
|
|
def deleteFEMLumpedPortData(idList):
|
|
sIdList= bytes(idList,encoding='utf-8')
|
|
mw.deleteFEMLumpedPortData(sIdList)
|
|
pass
|
|
|
|
def deleteFEMVoltageSourceData(idList):
|
|
sIdList= bytes(idList,encoding='utf-8')
|
|
mw.deleteFEMVoltageSourceData(sIdList)
|
|
pass
|
|
|
|
def smartScriptSave(fileName):
|
|
sFileName= bytes(fileName,encoding='utf-8')
|
|
mw.smartScriptSave(sFileName)
|
|
pass
|
|
|
|
def smartScriptRun(fileName, isNoGui, listPara):
|
|
sFileName= bytes(fileName,encoding='utf-8')
|
|
sListPara = bytes(listPara,encoding='utf-8')
|
|
mw.smartScriptRun(sFileName,c_bool(isNoGui),sListPara)
|
|
pass
|
|
|
|
def setWorkingDir(workingDir):
|
|
sworkingDir = bytes(workingDir,encoding='utf-8')
|
|
mw.setWorkingDir(sworkingDir)
|
|
|
|
def createNewVariableParameter(newParameterName, newParameterValue):
|
|
sname = bytes(newParameterName,encoding='utf-8')
|
|
svalue = bytes(newParameterValue,encoding='utf-8')
|
|
mw.createNewVariableParameter(sname,svalue)
|
|
|
|
def modifyVariableParameterName(oldParameterName, newParameterName):
|
|
oldName = bytes(oldParameterName,encoding='utf-8')
|
|
newName = bytes(newParameterName,encoding='utf-8')
|
|
mw.modifyVariableParameterName(oldName,newName)
|
|
|
|
def modifyVariableParameter(modifyParameterName, modifyParameterValue):
|
|
sname = bytes(modifyParameterName,encoding='utf-8')
|
|
svalue = bytes(modifyParameterValue,encoding='utf-8')
|
|
mw.modifyVariableParameter(sname,svalue)
|
|
|
|
def deleteNewVariableParameter(oldParameterName):
|
|
sname = bytes(oldParameterName,encoding='utf-8')
|
|
mw.deleteNewVariableParameter(sname)
|
|
|
|
def setGeometryMaterial(geometry_id, material_id):
|
|
mw.setGeometryMaterial(geometry_id, material_id)
|
|
pass
|
|
|
|
def setMaterialByName(geometry_id, material_name):
|
|
mw.setMaterialByName(c_int(geometry_id),bytes(material_name,encoding='utf-8'))
|
|
|
|
def createSoftwareMaterial(name,nameEn, permittivity, permeability, conductivity, dielectricLossTangent,magneticLossTangent):
|
|
sname = bytes(name,encoding='utf-8')
|
|
snameEN = bytes(nameEn,encoding='utf-8')
|
|
spermittivity = bytes(permittivity,encoding='utf-8')
|
|
spermeability = bytes(permeability,encoding='utf-8')
|
|
sconductivity = bytes(conductivity,encoding='utf-8')
|
|
sdielectricLossTangent = bytes(dielectricLossTangent,encoding='utf-8')
|
|
smagneticLossTangent = bytes(magneticLossTangent,encoding='utf-8')
|
|
mw.createMaterial(c_int(0),sname,snameEN,spermittivity,spermeability,sconductivity,sdielectricLossTangent,smagneticLossTangent)
|
|
|
|
def createProjectMaterial(name,nameEN, permittivity, permeability, conductivity, dielectricLossTangent,magneticLossTangent):
|
|
sname = bytes(name,encoding='utf-8')
|
|
snameEN = bytes(nameEN,encoding='utf-8')
|
|
spermittivity = bytes(permittivity,encoding='utf-8')
|
|
spermeability = bytes(permeability,encoding='utf-8')
|
|
sconductivity = bytes(conductivity,encoding='utf-8')
|
|
sdielectricLossTangent = bytes(dielectricLossTangent,encoding='utf-8')
|
|
smagneticLossTangent = bytes(magneticLossTangent,encoding='utf-8')
|
|
mw.createMaterial(c_int(1),sname,snameEN,spermittivity,spermeability,sconductivity,sdielectricLossTangent,smagneticLossTangent)
|
|
|
|
def deleteSoftwareMaterial(id):
|
|
mw.deleteMaterial(c_int(0),c_int(id))
|
|
|
|
def deleteProjectMaterial(id):
|
|
mw.deleteMaterial(c_int(1),c_int(id))
|
|
|
|
def modifySoftwareMaterial(id,name,nameEN, permittivity, permeability, conductivity, dielectricLossTangent,magneticLossTangent):
|
|
sname = bytes(name,encoding='utf-8')
|
|
snameEN = bytes(nameEN,encoding='utf-8')
|
|
spermittivity = bytes(permittivity,encoding='utf-8')
|
|
spermeability = bytes(permeability,encoding='utf-8')
|
|
sconductivity = bytes(conductivity,encoding='utf-8')
|
|
sdielectricLossTangent = bytes(dielectricLossTangent,encoding='utf-8')
|
|
smagneticLossTangent = bytes(magneticLossTangent,encoding='utf-8')
|
|
mw.modifyMaterial(c_int(0),c_int(id),sname,snameEN,spermittivity,spermeability,sconductivity,sdielectricLossTangent,smagneticLossTangent)
|
|
|
|
def modifyProjectMaterial(id,name, nameEN,permittivity, permeability, conductivity, dielectricLossTangent,magneticLossTangent):
|
|
sname = bytes(name,encoding='utf-8')
|
|
snameEN = bytes(nameEN,encoding='utf-8')
|
|
spermittivity = bytes(permittivity,encoding='utf-8')
|
|
spermeability = bytes(permeability,encoding='utf-8')
|
|
sconductivity = bytes(conductivity,encoding='utf-8')
|
|
sdielectricLossTangent = bytes(dielectricLossTangent,encoding='utf-8')
|
|
smagneticLossTangent = bytes(magneticLossTangent,encoding='utf-8')
|
|
mw.modifyMaterial(c_int(1),c_int(id),sname,snameEN,spermittivity,spermeability,sconductivity,sdielectricLossTangent,smagneticLossTangent)
|
|
|
|
def importAllMaterialFromSoftware():
|
|
mw.importAllMaterial(c_int(0))
|
|
|
|
def importAllMaterialFromProject():
|
|
mw.importAllMaterial(c_int(1))
|
|
|
|
def importMaterialFromSoftware(ids):
|
|
mw.importMaterial(c_int(0),bytes(ids,encoding='utf-8'))
|
|
|
|
def importMaterialFromProject(ids):
|
|
mw.importMaterial(c_int(1),bytes(ids,encoding='utf-8'))
|
|
|
|
def geometryRename(geometryIDs,newName):
|
|
sgeometryIDs = bytes(geometryIDs,encoding='utf-8')
|
|
snewName = bytes(newName,encoding='utf-8')
|
|
mw.geometryRename(sgeometryIDs,snewName)
|
|
|
|
def addViewResult(resultType,fileNames,nodeName,selectedString=""):
|
|
sfileNames = bytes(fileNames,encoding='utf-8')
|
|
snodeName = bytes(nodeName,encoding='utf-8')
|
|
sselectedString = bytes(selectedString,encoding='utf-8')
|
|
mw.addViewResult(c_int(resultType),sfileNames,snodeName,sselectedString)
|
|
|
|
def removeViewResult(ids):
|
|
mw.removeViewResult(bytes(ids,encoding='utf-8'))
|
|
|
|
def renameViewResult(id,newName):
|
|
snewName = bytes(newName,encoding='utf-8')
|
|
mw.renameViewResult(c_int(id),snewName)
|
|
|
|
def openViewResult(id):
|
|
mw.openViewResult(c_int(id))
|
|
|
|
def setWavePortIntensity(portID,motivationID,magnitude,unitType,phase,phaseUnitType):
|
|
mw.setWavePortIntensity(c_int(portID),c_int(motivationID),c_double(magnitude),c_int(unitType),c_int(phase),c_int(phaseUnitType))
|
|
|
|
def setPlaneWaveIntensity(id,magnitude,unitType):
|
|
mw.setPlaneWaveIntensity(c_int(id),c_double(magnitude),c_int(unitType))
|
|
|
|
def setLumpedPortIntensity(id,magnitude,unitType,phase,phaseUnitType):
|
|
mw.setLumpedPortIntensity(c_int(id),c_double(magnitude),c_int(unitType),c_int(phase),c_int(phaseUnitType))
|
|
|
|
def setVoltageSourceIntensity(id,magnitude,unitType):
|
|
mw.setVoltageSourceIntensity(c_int(id),c_double(magnitude),c_int(unitType))
|
|
|
|
def setPythonDebug(isDebug):
|
|
mw.setPythonDebug(c_bool(isDebug))
|
|
|
|
def importExample(id,paramConfig):
|
|
mw.importExample(c_int(id),bytes(paramConfig,encoding='utf-8'))
|
|
|
|
def generateMesh():
|
|
mw.generateMesh()
|
|
|
|
def saveConfig():
|
|
mw.saveConfig()
|