-
-
Notifications
You must be signed in to change notification settings - Fork 2
/
hfcMystranOpenDat.py
71 lines (54 loc) · 1.62 KB
/
hfcMystranOpenDat.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
import FreeCAD,FreeCADGui
import FreeCAD,FreeCADGui
import Fem
import os
import subprocess
import PySide
from PySide import QtGui ,QtCore
from PySide.QtGui import *
from PySide.QtCore import *
class hfcMystranOpenDat:
"Mystran result object"
def GetResources(self):
return {"MenuText": "Log In",
"Accel": "Ctrl+t",
"ToolTip": "Input log file",
"Pixmap": os.path.dirname(__file__)+"./resources/dat.svg"
}
def IsActive(self):
#if FreeCAD.ActiveDocument == None:
# return False
#else:
# return True
return True
def Activated(self):
import FreeCADGui
iHfc =FreeCAD.ActiveDocument.getObject('hfc')
if iHfc==None:
ininame="Mod/hfcMystran/hfcMystran.ini"
inifile = FreeCAD.getHomePath()+ininame
if os.path.exists(inifile):
iniF = open(inifile,"r")
path=iniF.readline()
iniF.close()
else:
inipath=FreeCAD.getHomePath()
try:
filename = QFileDialog.getOpenFileName(None,QString.fromLocal8Bit("Read a Mystarn's dat file"),path, "*.dat *.dbf") # PyQt4
except Exception:
filename, Filter = PySide.QtGui.QFileDialog.getOpenFileName(None, "Read a Mystran's dat file", path, "*.dat *.dbf") #PySide
data=filename.split("/")
n=len(data)
path=""
for i in range(n-1):
path=path+data[i]+"/"
inifileOut = FreeCAD.getHomePath()+ininame
iniFout = open(inifileOut,"w")
iniFout.writelines(path)
iniFout.close()
else:
path=iHfc.DatPath
filenameDat=iHfc.DatFile
filename=filenameDat[:len(filenameDat)-3]+'dat'
process=subprocess.Popen(["notepad",filename])
FreeCADGui.addCommand('hfcMystranOpenDat',hfcMystranOpenDat())