#-------关联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()