예제 #1
0
파일: singlerun.py 프로젝트: AxnNxs/MBSN
#!/usr/bin/env python3

import os
import sys
#runnato il comando python3 -m pip install -U https://github.com/OpenModelica/OMPython/archive/master.zip

import OMPython
from OMPython import OMCSessionZMQ

#carica un file dato un path preso dagli argomenti della chiamata
omc = OMCSessionZMQ()
path = sys.argv[1]
omc.execute('loadFile("' + path + '")')  # caricamento del file modelica

# className = os.path.basename(path)[:-3]
classes = omc.execute('getClassNames()')
className = classes["SET1"]["Set1"][
    0]  # estazione del nome della classe appena caricata
print("\n#", className, "loaded.")

# Parametri e costanti:
params = {}  # dizionario dei parametri e delle costanti
try:
    # print(omc.execute("getInstantiatedParametersAndValues(" + className + ")"))
    instantiatedParams = omc.execute(
        "getInstantiatedParametersAndValues(" +
        className + ")")["SET2"]["Values"][0].replace('"', '').replace(
            ' ', '').split(",")  # estrazione dei/delle parametri/costanti
    for i in range(len(instantiatedParams)
                   ):  # inserimento nel dizionario di ogni valore ottenuto
        instantiatedParams[i] = instantiatedParams[i].split("=")
예제 #2
0
#!/usr/bin/env python3

import os
import sys
import xmltodict

from OMPython import OMCSessionZMQ
omc = OMCSessionZMQ()
omc.execute('loadModel(Modelica)')

for file in os.listdir('.'):  #elenco elementi in directory
    if os.path.isfile(file):  #controllo se elemento e' file
        if file.endswith('.mo'):  #prendo solo i .mo
            omc.execute('loadFile("' + file + '")')

if (len(sys.argv) > 2):
    className = sys.argv[2] + '.' + sys.argv[1]
else:
    className = sys.argv[1]

omc.execute('dumpXMLDAE(' + className +
            ', translationLevel="backEnd", addMathMLCode=true)')

with open(className + '.xml') as fd:
    doc = xmltodict.parse(fd.read())
print(doc)
예제 #3
0
파일: xmlscript.py 프로젝트: Nikpick/MBSN
#!/usr/bin/env python3

import os
import sys
import xmltodict

from OMPython import OMCSessionZMQ
omc = OMCSessionZMQ()
omc.execute('loadModel(Modelica)')

for file in os.listdir('.'):  #elenco elementi in directory
    if os.path.isfile(file):  #controllo se elemento e' file
        if file.endswith('.mo'):  #prendo solo i .mo
            omc.execute('loadFile("' + file + '")')

omc.execute('dumpXMLDAE(TestModel.MyModel, translationLevel="backEnd")')

with open('TestModel.MyModel.xml') as fd:
    doc = xmltodict.parse(fd.read())
print(doc)