-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathD3D_AddPvcFrame.py
63 lines (56 loc) · 3.26 KB
/
D3D_AddPvcFrame.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
#***************************************************************************
#* *
#* This file is part of the Open Source Ecology D3D 3D Printer Workbench *
#* for FreeCAD. *
#* *
#* Copyright (C) 2017 *
#* Open Source Ecology <info|at|opensourceecology.org> *
#* *
#* This library is free software; you can redistribute it and/or *
#* modify it under the terms of the GNU Lesser General Public *
#* License as published by the Free Software Foundation; either *
#* version 2 of the License, or (at your option) any later version. *
#* *
#* This library is distributed in the hope that it will be useful, *
#* but WITHOUT ANY WARRANTY; without even the implied warranty of *
#* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
#* Lesser General Public License for more details. *
#* *
#* You should have received a copy of the GNU Lesser General Public *
#* License along with this library; if not, If not, see *
#* <http://www.gnu.org/licenses/>. *
#* *
#* *
#***************************************************************************
import ImportGui
import FreeCAD as App
import FreeCADGui as Gui
import D3DInit
from PySide import QtGui#, QtCore # https://www.freecadweb.org/wiki/PySide
import OsePiping.PipeGui as PipeGui
import OsePiping.CornerGui as CornerGui
import PvcFrameGui
class D3D_AddPvcFrameClass():
"""Command to add the printer frame"""
def GetResources(self):
#App.ConfigGet('UserAppData') + '/Mod'
return {'Pixmap' : D3DInit.ICON_PATH + '/AddFrame.svg', # the name of a svg file available in the resources
'Accel' : "Shift+S", # a default shortcut (optional)
'MenuText': "Add a PVC frame",
'ToolTip' : "Adds a D3D printer frame built from PVC pipes and fittings"}
def Activated(self):
if not(App.ActiveDocument):
App.newDocument()
doc = App.activeDocument()
pipeTable = PipeGui.GuiCheckTable() # Open a CSV file, check its content, and return it as a CsvTable object.
cornerTable = CornerGui.GuiCheckTable() # Open a CSV file, check its content, and return it as a CsvTable object.
form = PvcFrameGui.MainDialog(doc, pipeTable, cornerTable)
form.exec_()
Gui.ActiveDocument.ActiveView.fitAll()
doc.recompute()
return
def IsActive(self):
"""Here you can define if the command must be active or not (greyed) if certain conditions
are met or not. This function is optional."""
return True
Gui.addCommand('D3D_AddPvcFrame', D3D_AddPvcFrameClass())