rep1/bin/pyScripts/MainWindow.py

353 lines
11 KiB
Python
Raw Normal View History

2024-11-21 09:00:42 +08:00
#-------关联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()