Example #1
0
    def testHandler(self):
        import __main__

        class UnitWorkbench(__main__.Workbench):
            MenuText = "Unittest"
            ToolTip = "Unittest"

            def Initialize(self):
                list = ["Test_Test"]
                self.appendToolbar("My Unittest", list)

            def GetClassName(self):
                return "Gui::PythonWorkbench"

        FreeCADGui.addWorkbench(UnitWorkbench())
        list = FreeCADGui.listWorkbenches()
        self.failUnless(
            list.has_key("UnitWorkbench") == True,
            "Test on adding workbench handler failed")
        FreeCADGui.activateWorkbench("UnitWorkbench")
        FreeCADGui.updateGui()
        self.failUnless(FreeCADGui.activeWorkbench().name() == "UnitWorkbench",
                        "Test on loading workbench 'Unittest' failed")
        FreeCADGui.removeWorkbench("UnitWorkbench")
        list = FreeCADGui.listWorkbenches()
        self.failUnless(
            list.has_key("UnitWorkbench") == False,
            "Test on removing workbench handler failed")
Example #2
0
    def createWorkbench(self):
        self.cls = type(self.module.__name__ + "Workbench", (Workbench, ),
                        {"Initialize": self.Initialize})
        self.instance = self.cls()
        self.instance.MenuText = self.module.__name__
        self.instance.ToolTip = "testing..."
        self.instance.Icon = self.getModuleIcon()

        FreeCADGui.addWorkbench(self.instance)
Example #3
0
    def testInvalidType(self):
        class MyExtWorkbench(FreeCADGui.Workbench):
            def Initialize(self):
                pass

            def GetClassName(self):
                return "App::Extension"

        FreeCADGui.addWorkbench(MyExtWorkbench())
        with self.assertRaises(TypeError):
            FreeCADGui.activateWorkbench("MyExtWorkbench")
        FreeCADGui.removeWorkbench("MyExtWorkbench")
    def showEvent(self, event):
        FreeCADGui.showMainWindow()
        self.setCentralWidget(FreeCADGui.getMainWindow())

        # Need version >= 0.16.5949
        class BlankWorkbench(FreeCADGui.Workbench):
            MenuText = "Blank"
            ToolTip = "Blank workbench"

            def Initialize(self):
                return

            def GetClassName(self):
                return "Gui::BlankWorkbench"

        FreeCADGui.addWorkbench(BlankWorkbench)
        FreeCADGui.activateWorkbench("BlankWorkbench")
Example #5
0
    def testHandler(self):
        import __main__
        class UnitWorkbench(__main__.Workbench):
            MenuText = "Unittest"
            ToolTip = "Unittest"
            def Initialize(self):
                list = ["Test_Test"]
                self.appendToolbar("My Unittest",list)
            def GetClassName(self):
                return "Gui::PythonWorkbench"

        FreeCADGui.addWorkbench(UnitWorkbench())
        list=FreeCADGui.listWorkbenches()
        self.failUnless(list.has_key("UnitWorkbench")==True, "Test on adding workbench handler failed")
        FreeCADGui.activateWorkbench("UnitWorkbench")
        FreeCADGui.updateGui()
        self.failUnless(FreeCADGui.activeWorkbench().name()=="UnitWorkbench", "Test on loading workbench 'Unittest' failed")
        FreeCADGui.removeWorkbench("UnitWorkbench")
        list=FreeCADGui.listWorkbenches()
        self.failUnless(list.has_key("UnitWorkbench")==False, "Test on removing workbench handler failed")
    def on_actionEmbed_triggered(self):
        FreeCADGui.showMainWindow()
        hwnd = self.winId()
        PyCObject_AsVoidPtr = ctypes.PYFUNCTYPE(ctypes.c_void_p,
                                                ctypes.py_object)(
                                                    ('PyCObject_AsVoidPtr',
                                                     ctypes.pythonapi))
        addr = PyCObject_AsVoidPtr(hwnd)
        FreeCADGui.embedToWindow(hex(addr))

        # Need version >= 0.16.5949
        class BlankWorkbench(FreeCADGui.Workbench):
            MenuText = "Blank"
            ToolTip = "Blank workbench"

            def Initialize(self):
                return

            def GetClassName(self):
                return "Gui::BlankWorkbench"

        FreeCADGui.addWorkbench(BlankWorkbench)
        FreeCADGui.activateWorkbench("BlankWorkbench")
Example #7
0
	"................",
	"................",
	"......####......",
	"......####......",
	"......####......",
	"......####......",
	"......####......",
	"......####......",
	"......####......",
	"......####......",
	"......####......",
	"................",
	"................"};
	"""
	MenuText = "Polyedre"
	ToolTip = "Polyedre workbench"

	def GetClassName(self):
		return "Gui::PythonWorkbench"

	def Initialize(self):
		import core
		self.appendToolbar("My Tools", ["IcosahedronTool","DodecahedronTool","TetrahedronTool"])
		self.appendMenu("My Tools", ["IcosahedronTool","DodecahedronTool","TetrahedronTool"])
		#self.appendToolbar("My Tools", ["DodecahedronTool"])
		#self.appendMenu("My Tools", ["DodecahedronTool"])



FreeCADGui.addWorkbench(PolyedreWorkbench)
Example #8
0
". % 8 8 8 8 8 8 8 8 9 C.h$/ / / / / / i$$.j$c.. .                             . $ k$s l$* * * * * * * * * * * * * * * * * C#+$. ",
". % 8 8 8 8 8 8 8 8 8 8 m$n$/ / / / / o$! p$. .                               . . S.s q$r$* * * * * * * * * * * * * * * * s$+$. ",
". % 8 8 8 8 8 8 8 8 8 8 8 8 /$p+/ / t$u$v$l..                                   . . O s w$* * * * * * * * * * * * * * * * s$+$. ",
". % 8 8 8 8 8 8 8 8 8 8 8 8 8 a+:$x$y$! z$. .                                     . L 8@A$& * * * * * * * * * * * * * * * .@+$. ",
". % 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 B$C$Y # .                                       . . D$s E$* * * * * * * * * * * * * * * s$+$. ",
". % 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 F$! G$. .                                       . . H$s I$* * * * * * * * * * * * * * * .@+$. ",
". % 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 J$! K$. .                                         . . =.=.L$* * * * * * * * * * * * * * .@+$. ",
". % `@/$/$/$/$/[email protected]$]+]+x.! N$.                                           . . O$s P$* * * * * * * * * * * * * * .@Q$. ",
". % /+/ / / / / / / / / / / / / / R$! $ .                                           . . S$s T$* * * * * * * * * * * * * * .@Q$. ",
". % H / / / / / / / / / / / / / U$! ! . .                                           . . V$s r.* * * * * * * * * * * * * * .@Q$. ",
". % ^ / / / / / / / / / / / / / y.! ! . .                                             . W$s X$* * * * * * * * * * * * * * .@Q$. ",
". % D./ / / / / / / / / / / / / / Y$! l..                                           . . Z$s `$* * * * * * * * * * * * * * .@Q$. ",
". % ../ / / / / / / / / / / / / /  %! V+.                                           . . .%s f+* * * * * * * * * * * * * * .@Q$. ",
". % +%/ / / / / / / / / / / / / / @%! #%. .                                         . . $%s M.* * * * * * * * * * * * * * .@Q$. ",
". % B@/ / %%%%%%%%%%^+Z.Z.Z.Z.Z.q+&%! *%. .                                         . $ 8#=.1+* * * * * * * * * * * * * * .@Q$. ",
". % 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 j ! 3+.                                       . . =%s -%* * * * * * * * * * * * * * * .@Q$. ",
". % 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 ;%! w.. .                                     . . >%s R#* * * * * * * * * * * * * * * .@Q$. ",
". % 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 ) X@,%.                                     . N$s '%* * * * * * * * * * * * * * * * .@Q$. ",
". % 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 )%!%#+~%. .                                 . . O s c#* * * * * * * * * * * * * * * * .@Q$. ",
". % 8 8 8 8 8 8 8 8 8 8 8 8 8 F {%8+a a ]%! ^%. .                             . . /%s - * * * * * * * * * * * * * * * * * .@Q$. ",
". % 8 8 8 8 8 8 8 8 8 8 8 )%(%..a a a a _%:%<%Z#.                             . l.8 s [%* * * * * * * * * * * * * * * * * .@Q$. ",
". % 8 8 8 8 8 8 8 8 l#}%p+a a a a a a a a |%! 1%. .                         . . 2%s 3%* * * * * * * * * * * * * * * * * * .@Q$. ",
". % 8 8 8 8 8 a+4%5%6%a a a a a a a a a a 7%8%! 9%. .                     . . 0%8@f * * * * * * * * * * * * * * * * * * * .@Q$. ",
". % 8 8 8 _.a%b%a a a a a a a a a a a a a a c%! d%l.. .                 . . :@e%8#: * * * * * * * * * * * * * * * * * * * .@Q$. ",
". % E+4%5%^ a a a a a a a a a a a a a a a a a f%! g%. .                 . $ !.s h%* * * * * * * * * * * * * * * * * * * * .@Q$. ",
". . + + + + + + + + + + + + + + + % % % % % % % % + . . . . . . . . . . . l.+ + + + + + + + + + + + + + + + + + + + + + + + . . ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . "};
"""

Gui.addWorkbench(TransportationWorkbench(__vers__))
Example #9
0
                              'PlaceBeforeSelectedTrajectory',
                              'GoToSelectedTrajectory',
                              'GoToStart',
                              'PlayBackward',
                              'StopAnimation',
                              'PlayForward',
                              'GoToEnd',
                              'ToggleTrajectoryVisibility',
                              'AlignToEdge',
                              'Rotate15',
                              'PointToPoint',
                              'PlaceConcentric',
                              'LoadExampleFile']

        self.appendToolbar('ExplodedAssemblyCreationTools', self.CreationTools)
        #self.appendToolbar('ExplodedAssemblyCameraTools', self.CameraAnimation)
        self.appendToolbar('ExplodedAssemblyAnimationControlTools', self.AnimationControlTools)
        self.appendToolbar('ExplodedAssemblyAuxiliarAssemblyTools', self.AuxiliaryAssemblyTools)
        self.appendMenu('ExplodedAssembly', self.Menu_tools)

    def Activated(self):
        import ExplodedAssembly as ea
        if not(FreeCAD.ActiveDocument):
            FreeCAD.newDocument()

        ea.checkDocumentStructure()
        FreeCAD.Console.PrintMessage('Exploded Assembly workbench loaded\n')


FreeCADGui.addWorkbench(ExplodedAssembly)
Example #10
0
                            translate("draft", "CubicBezCurve")):
                        self.appendContextMenu("", self.line_commands)
            else:
                if Gui.Selection.getSelection():
                    self.appendContextMenu("Utilities", self.context_commands)
            # END DRAFT
        except Exception as exc:
            App.Console.PrintError(exc)
            App.Console.PrintError("Error: Draft ContexMenu "
                                   "failed, "
                                   "Draft will not work as expected.\n")

    def GetClassName(self):
        return "Gui::PythonWorkbench"


Gui.addWorkbench(Design456_Workbench())
# FROM DRAFT
# Preference pages for importing and exporting various file formats
# are independent of the loading of the workbench and can be loaded at startup
Gui.addPreferencePage(":/ui/preferences-dxf.ui",
                      QT_TRANSLATE_NOOP("Draft", "Import-Export"))
Gui.addPreferencePage(":/ui/preferences-dwg.ui",
                      QT_TRANSLATE_NOOP("Draft", "Import-Export"))
Gui.addPreferencePage(":/ui/preferences-svg.ui",
                      QT_TRANSLATE_NOOP("Draft", "Import-Export"))
Gui.addPreferencePage(":/ui/preferences-oca.ui",
                      QT_TRANSLATE_NOOP("Draft", "Import-Export"))

App.__unit_test__ += ["TestDraftGui"]
Example #11
0

    Icon= '''
/* XPM */
static char * nurbs_xpm[] = {
"16 16 2 1",
".  c #FF0FFF",
"+  c #00FF00",
"................",
"....+...........",
".....+..........",
".....+..........",
".....+...+++++..",
"......+..+++++..",
".....+++++++++..",
".........+++++..",
"..+......+++++..",
"..++++...+++++..",
"................",
"................",
"..++++++++++++..",
"..+++++++++++...",
"..+++++++++.....",
"................"};'''



FreeCADGui.addWorkbench(PyFlow(toolbars, __vers__))


Example #12
0
"(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.-._.:.[ a a a a a a a a a a a a a a a a a a a a a a a a | { <.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.",
"(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.[.}.q a a a a a a a a a a a a a a a a a a a a a a a a | |.1.2.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.",
"(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.3.4.5.a a a a a a a a a a a a a a a a a a a a a a a a a a | 6.7.B (.(.(.(.(.(.(.(.(.(.(.(.(.(.(.",
"8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.9.9 0.a a a a a a a a a a a a a a a a a a a a a a a a a a a.b.c.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.",
"8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.d.e.f.a a a a a a a a a a a a a a a a a a a a a a a a a a g.h.i.j.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.",
"8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.k.l.m.[ a a a a a a a a a a a a a a a a a a a a a a a a a n.o.>.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.",
"8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.p.q.r.a a a a a a a a a a a a a a a a a a a a a a a a a [ s.t.u.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.",
"8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.v.w.[ a a a a a a a a a a a a a a a a a a a a a a a a a [ x.y.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.",
"8.8.8.8.8.8.8.8.8.8.8.8.8.8.z.A.B.a a a a a a a a a a a a a a a a a a a a a a a a a a C.D.E.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.",
"F.F.F.F.F.F.F.F.F.F.F.F.F.F.E.G.H.a a a a a a a a a a a a a a a a a a a a a a a a a [ I.N J.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.",
"F.F.F.F.F.F.F.F.F.F.F.F.F.J.N K.[ a a a a a a a a a a a a a a a a a a a a a a a a a r.L.9.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.",
"F.F.F.F.F.F.F.F.F.F.F.F.F.M.N.O.a a a a a a a a a a a a a a a a a a a a a a a a a q z P.Q.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.",
"F.F.F.F.F.F.F.F.F.F.F.F.F.R.S.a T.&.a a a a a a a a a a a a a a a a a a a a a a a [ S U.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.",
"F.F.F.F.F.F.F.F.F.F.F.F.F.V.W.X.Y.Z.`. +r [ [ q a a a a a a a a a a a a a a a a a 0 .+++F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.",
"F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.@+#+++$+%+&+m.*+[ [ q a a a a a a a a a a a a a a [ u =+Q.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.",
"-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+;+>+,+'+)+!+~+{+]+[ a a a a a a a a a a a a ^+/+(+_+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+",
"-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+Q._+-+:+<+[+}+|+1+[ q a a a a a a a a a 2+3+>+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+",
"-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+>+4+5+6+7+]+8+a a a a a a a a 9+0+a+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+",
"b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+c+d+V.e+f+g+h+i+[ [ a a q [ j+k+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+",
"b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+l+m+n+o+p+q+[ a [ r+s+k.b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+",
"b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+M.t+e.u+v+w+x+e y+k.b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+",
"z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+_+A+B+C+D+E+F+G+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+",
"z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+>+H+I+;+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+",
"z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+J+K+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+",
"z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+",
"z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+",
"_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+"};
"""

FreeCADGui.addWorkbench(Reconstruction)
Example #13
0
    def GetClassName(self):
        return 'Gui::PythonWorkbench'

    def Initialize(self):

        from freecad.frametools import commands
        Gui.addCommand('Beam', commands.Beam())
        Gui.addCommand('CutMiter', commands.CutMiter())
        Gui.addCommand('CutPlane', commands.CutPlane())
        Gui.addCommand('CutShape', commands.CutShape())
        Gui.addCommand('Reload', commands.Reload())
        Gui.addCommand('LinkedFace', commands.LinkedFace())
        Gui.addCommand('ExtrudedFace', commands.ExtrudedFace())
        Gui.addCommand('FlatFace', commands.FlatFace())
        Gui.addCommand('FlatFace', commands.NurbsConnection())
        Gui.addCommand('FemSolver', commands.FemSolver())

        self.appendToolbar('Frame', self.toolbox)
        self.appendMenu('Frame', self.toolbox)
        self.appendToolbar('Box', self.boxbox)
        self.appendMenu('Box', self.boxbox)

    def Activated(self):
        pass

    def Deactivated(self):
        pass


Gui.addWorkbench(frame_workbench())
Example #14
0
        Manfold Design workbench Initialize
        '''
        try:
            # disabling wrong-import-position pylint warning
            # pylint: disable=C0413
            import Manifold
        except ImportError:
            App.Console.PrintMessage('workbench cannot be loaded')

    def Activated(self):
        '''
        this executes when workbench is activated
        '''
        App.Console.PrintMessage('ManfoldWorkbench.Activated')

    def Deactivated(self):
        '''
        this executes when workbench is deactivated
        '''
        App.Console.PrintMessage('ManfoldWorkbench.Deactivated')

    def GetClassName(self):
        '''
        Manfold Design workbench GetClassName
        '''
        return 'Gui::PythonWorkbench'

# disabling undefined-variable pylint warning
# pylint: disable=E0602
Gui.addWorkbench(ManfoldWorkbench())
Example #15
0
"(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.-._.:.[ a a a a a a a a a a a a a a a a a a a a a a a a | { <.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.",
"(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.[.}.q a a a a a a a a a a a a a a a a a a a a a a a a | |.1.2.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.",
"(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.3.4.5.a a a a a a a a a a a a a a a a a a a a a a a a a a | 6.7.B (.(.(.(.(.(.(.(.(.(.(.(.(.(.(.",
"8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.9.9 0.a a a a a a a a a a a a a a a a a a a a a a a a a a a.b.c.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.",
"8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.d.e.f.a a a a a a a a a a a a a a a a a a a a a a a a a a g.h.i.j.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.",
"8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.k.l.m.[ a a a a a a a a a a a a a a a a a a a a a a a a a n.o.>.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.",
"8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.p.q.r.a a a a a a a a a a a a a a a a a a a a a a a a a [ s.t.u.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.",
"8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.v.w.[ a a a a a a a a a a a a a a a a a a a a a a a a a [ x.y.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.",
"8.8.8.8.8.8.8.8.8.8.8.8.8.8.z.A.B.a a a a a a a a a a a a a a a a a a a a a a a a a a C.D.E.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.",
"F.F.F.F.F.F.F.F.F.F.F.F.F.F.E.G.H.a a a a a a a a a a a a a a a a a a a a a a a a a [ I.N J.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.",
"F.F.F.F.F.F.F.F.F.F.F.F.F.J.N K.[ a a a a a a a a a a a a a a a a a a a a a a a a a r.L.9.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.",
"F.F.F.F.F.F.F.F.F.F.F.F.F.M.N.O.a a a a a a a a a a a a a a a a a a a a a a a a a q z P.Q.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.",
"F.F.F.F.F.F.F.F.F.F.F.F.F.R.S.a T.&.a a a a a a a a a a a a a a a a a a a a a a a [ S U.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.",
"F.F.F.F.F.F.F.F.F.F.F.F.F.V.W.X.Y.Z.`. +r [ [ q a a a a a a a a a a a a a a a a a 0 .+++F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.",
"F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.@+#+++$+%+&+m.*+[ [ q a a a a a a a a a a a a a a [ u =+Q.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.",
"-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+;+>+,+'+)+!+~+{+]+[ a a a a a a a a a a a a ^+/+(+_+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+",
"-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+Q._+-+:+<+[+}+|+1+[ q a a a a a a a a a 2+3+>+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+",
"-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+>+4+5+6+7+]+8+a a a a a a a a 9+0+a+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+",
"b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+c+d+V.e+f+g+h+i+[ [ a a q [ j+k+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+",
"b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+l+m+n+o+p+q+[ a [ r+s+k.b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+",
"b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+M.t+e.u+v+w+x+e y+k.b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+",
"z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+_+A+B+C+D+E+F+G+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+",
"z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+>+H+I+;+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+",
"z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+J+K+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+",
"z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+",
"z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+",
"_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+"};
"""

FreeCADGui.addWorkbench(Geodat)
Example #16
0
File: InitGui.py Project: JMG1/NiCr

class NiCrWorkbench(Workbench):
    import NiCrInit  # this is needed to load the workbench icon
    # __dir__ = os.path.dirname( __file__ ) # __file__ is not working
    Icon = NiCrInit.__dir__ + '/icons/WorkbenchIcon.svg'
    MenuText = 'NiCr'
    ToolTip = 'Workbench for the NiCr foam cutter machine'

    def GetClassName(self):
        return 'Gui::PythonWorkbench'

    def Initialize(self):
        import NiCrInit
        self.tools = ['CreateNiCrMachine',
                      'CreateToolPath',
                      'CreatePathLink',
                      'SaveWirePath',
                      'ImportWirePath',
                      'RunPathSimulation']

        FreeCAD.t = self.appendToolbar('NiCrWorkbench', self.tools)
        self.appendMenu('NiCrWorkbench', self.tools)
        FreeCAD.Console.PrintMessage('NiCr workbench loaded\n')

    def Activated(self):
        pass


FreeCADGui.addWorkbench(NiCrWorkbench)
Example #17
0
            """
    #import os
    #Icon = (open(
            #os.path.join(
                #__file__, 'resources', 'menger.xpm'), 'r')
            #.read())
    MenuText = "ArmyOfEvilRobots"
    ToolTip = "Rapid prototyping workbench."

    def GetClassName(self):
        """This is the Class name used in freecad mapping"""
        return "Gui::PythonWorkbench"

    def Initialize(self):
        """Setup"""
        from geometry import menger
        self.appendToolbar("AOER Tools", ["Menger",])
        self.appendMenu("AOER Tools", ["Menger",])
        FreeCADGui.addCommand('Menger', menger.MengerCommand())
        Log ("Loading MyModule... done\n")

    def Activated(self):
        """do something here if needed..."""
        Msg ("AOERBench.Activated()\n")

    def Deactivated(self):
        """do something here if needed..."""
        Msg ("AOERBench.Deactivated()\n")

FreeCADGui.addWorkbench(AOERBench)
Example #18
0
# *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  *
# *   USA                                                                   *
# *                                                                         *
# *   Juergen Riegel 2002                                                   *
# ***************************************************************************/

import FreeCAD
import FreeCADGui


class FemWorkbench(Workbench):
    "Fem workbench object"

    def __init__(self):
        self.__class__.Icon = FreeCAD.getResourceDir(
        ) + "Mod/Fem/Resources/icons/FemWorkbench.svg"
        self.__class__.MenuText = "FEM"
        self.__class__.ToolTip = "FEM workbench"

    def Initialize(self):
        # load the module
        import Fem
        import FemGui
        import femcommands.commands

    def GetClassName(self):
        return "FemGui::Workbench"


FreeCADGui.addWorkbench(FemWorkbench())
Example #19
0
                    self.appendContextMenu("Draft", self.drawing_commands)
            else:
                if FreeCAD.activeDraftCommand.featureName == translate(
                        "draft", "Line"):
                    # BUG: line subcommands are not usable while another command is active
                    self.appendContextMenu("", self.line_commands)
        else:
            if FreeCADGui.Selection.getSelection():
                self.appendContextMenu("Utilities", self.context_commands)

    def GetClassName(self):
        """Type of workbench."""
        return "Gui::PythonWorkbench"


FreeCADGui.addWorkbench(DraftWorkbench)

# Preference pages for importing and exporting various file formats
# are independent of the loading of the workbench and can be loaded at startup
import Draft_rc
from PySide.QtCore import QT_TRANSLATE_NOOP
FreeCADGui.addPreferencePage(":/ui/preferences-dxf.ui",
                             QT_TRANSLATE_NOOP("Draft", "Import-Export"))
FreeCADGui.addPreferencePage(":/ui/preferences-dwg.ui",
                             QT_TRANSLATE_NOOP("Draft", "Import-Export"))
FreeCADGui.addPreferencePage(":/ui/preferences-svg.ui",
                             QT_TRANSLATE_NOOP("Draft", "Import-Export"))
FreeCADGui.addPreferencePage(":/ui/preferences-oca.ui",
                             QT_TRANSLATE_NOOP("Draft", "Import-Export"))

FreeCAD.__unit_test__ += ["TestDraft"]
Example #20
0
        try:
            import freecad.plot
        except ImportError:
            msg = QtGui.QApplication.translate(
                "ship_console",
                "freecad.plot is disabled, tools cannot graph output curves, install freecad.plot with addon-manager",
                None)
            App.Console.PrintMessage(msg + '\n')
        # ToolBar
        shiplist = [
            "Ship_LoadExample", "Ship_CreateShip", "Ship_OutlineDraw",
            "Ship_AreasCurve", "Ship_Hydrostatics"
        ]
        weightslist = [
            "Ship_Weight", "Ship_Tank", "Ship_Capacity", "Ship_LoadCondition",
            "Ship_GZ"
        ]

        self.appendToolbar(
            str(QtCore.QT_TRANSLATE_NOOP("Ship", "Ship design")), shiplist)
        self.appendToolbar(str(QtCore.QT_TRANSLATE_NOOP("Ship", "Weights")),
                           weightslist)
        self.appendMenu(str(QtCore.QT_TRANSLATE_NOOP("Ship", "Ship design")),
                        shiplist)
        self.appendMenu(str(QtCore.QT_TRANSLATE_NOOP("Ship", "Weights")),
                        weightslist)


Gui.addWorkbench(ShipWorkbench())
Example #21
0
import FreeCAD
import FreeCADGui


class ToolboxWorkbench(FreeCADGui.Workbench):
    "Collection of different useful tools for FreeCAD"

    MenuText = "Toolbox"
    ToolTip = "Collection of useful Tools"

    # TODO: Add icon self.__class__.Icon = "path/to/icon"

    def Initialize(self):
        # Initialize the module
        import gui.toolbar_manager as toolbar_manager

        for name, commands in toolbar_manager.toolbarManager.Toolbars.items():
            self.appendToolbar(name,
                               [command.commandName for command in commands])


#    def Activated(self):

#   def Deactivated(self):

FreeCADGui.addWorkbench(ToolboxWorkbench())
Example #22
0
    def GetClassName(self):
        return "Gui::PythonWorkbench"

    def Initialize(self):

        from .gearfunc import CreateCycloideGear, CreateInvoluteGear, CreateBevelGear, CreateInvoluteRack

        self.appendToolbar("Gear", [
            "CreateInvoluteGear", "CreateInvoluteRack", "CreateCycloideGear",
            "CreateBevelGear"
        ])
        self.appendMenu("Gear", [
            "CreateInvoluteGear", "CreateInvoluteRack", "CreateCycloideGear",
            "CreateBevelGear"
        ])
        Gui.addIconPath(App.getHomePath() + "Mod/gear/icons/")
        Gui.addCommand('CreateInvoluteGear', CreateInvoluteGear())
        Gui.addCommand('CreateCycloideGear', CreateCycloideGear())
        Gui.addCommand('CreateBevelGear', CreateBevelGear())
        Gui.addCommand('CreateInvoluteRack', CreateInvoluteRack())

    def Activated(self):
        pass

    def Deactivated(self):
        pass


Gui.addWorkbench(gearWorkbench())
Example #23
0
			"...........................             ........................",
			"............................           .........................",
			".............................          .........................",
			"................................................................",
			"................................................................",
			".............................           ........................",
			".............................          .........................",
			".............................          .........................",
			"................................................................",
			"................................................................"
			};
			"""
	MenuText = "3D Guitar Design"
	ToolTip = "In development"

	def GetClassName(self):
		return "Gui::PythonWorkbench"

	def Initialize(self):
		self.appendToolbar("3D Guitar Design", ["3D_NewGuitar"])
		self.appendMenu("My Tools", ["3D_NewGuitar"])
		Log ("Loading MyModule... done\n")

	#def Activated(self):
	#	Msg ("TGD.Activated()\n")

	#def Deactivated(self):
	#	Msg ("TGD.Deactivated()\n")
	
FreeCADGui.addWorkbench(TGD)
Example #24
0
    #Icon = ":Resources/icons/kicad-StepUp-tools-WB.svg"
    MenuText = "DatumTools"
    ToolTip = "DatumTools workbench"
 
    def GetClassName(self):
        return "Gui::PythonWorkbench"
    
    def Initialize(self):
        
        self.appendToolbar("Datum Tools", ["DatumPoint","DatumLine","DatumPlane","DatumLCS","AltLCS","Plane","AnnoLbl"])  #"Point","Line",
        
        #self.appendMenu("ksu Tools", ["ksuTools","ksuToolsEdit"])
        self.appendMenu("Datum Tools", ["DatumPoint","DatumLine","DatumPlane","DatumLCS","AltLCS","Plane","AnnoLbl"])
        
        Log ("Loading DatumTools Module... done\n")
 
    def Activated(self):
                # do something here if needed...
        Msg ("DatumTools WB Activated("+DT_wb_version+")\n")
        from PySide import QtGui
        import time
        

    def Deactivated(self):
                # do something here if needed...
        Msg ("DatumTools WB Deactivated()\n")
    
###

FreeCADGui.addWorkbench(DatumToolsWB)
Example #25
0
    commands = [
                "CreateInvoluteGear",
                "CreateInvoluteRack",
                "CreateCycloideGear",
                "CreateBevelGear",
                "CreateCrownGear"]

    def GetClassName(self):
        return "Gui::PythonWorkbench"

    def Initialize(self):
        from .commands import CreateCycloideGear, CreateInvoluteGear
        from .commands import CreateBevelGear, CreateInvoluteRack, CreateCrownGear
        self.appendToolbar("Gear", self.commands)
        self.appendMenu("Gear", self.commands)
        Gui.addIconPath(App.getHomePath()+"Mod/gear/icons/")
        Gui.addCommand('CreateInvoluteGear', CreateInvoluteGear())
        Gui.addCommand('CreateCycloideGear', CreateCycloideGear())
        Gui.addCommand('CreateBevelGear', CreateBevelGear())
        Gui.addCommand('CreateInvoluteRack', CreateInvoluteRack())
        Gui.addCommand('CreateCrownGear', CreateCrownGear())

    def Activated(self):
        pass


    def Deactivated(self):
        pass

Gui.addWorkbench(gearWorkbench())
Example #26
0
        ]
        cmds4 = [
            'Nurbs_pta', 'Nurbs_ptb', 'Nurbs_ptc', 'Nurbs_ptd', 'Nurbs_pte'
        ]
        cmds5 = ['Nurbs_geodesic' + str(a + 1) for a in range(6)]

        if 1:
            self.appendToolbar("Nurbs", cmds)
            self.appendMenu("Nurbs", cmds)
            #			self.appendToolbar("TTT", cmds2 )
            self.appendToolbar("Workspaces and Views", cmds3)
            self.appendToolbar("Points Workspaces and Views", cmds4)
            self.appendToolbar("Geodesic Patch Tests", cmds5)
        menues = {}
        ml = []
        for _t in FreeCAD.tcmds5:
            c = _t[0]
            a = _t[1]
            try:
                menues[tuple(c)].append(a)

            except:
                menues[tuple(c)] = [a]
                ml.append(tuple(c))

        for m in ml:
            self.appendMenu(list(m), menues[m])


FreeCADGui.addWorkbench(NurbsWorkbench)
Example #27
0
        if len(selection) == 1:
            obj = selection[0] # TODO: better classification of selections
            # TODO: why CheckObjects function not working here?
            if 'lcclass' in obj.PropertiesList:
            #if isLocalCoordinatesObserver(obj):
                self.appendContextMenu("Separator", [])
                self.appendContextMenu( "Pyrate Local Coordinate System",
                                       ["ContextAddChildToLocalCoordinatesCommand"])
                self.appendContextMenu("Separator", [])
            if 'wavelengths' in obj.PropertiesList:
                self.appendContextMenu("Separator", [])
                self.appendContextMenu( "Pyrate Field",
                                       ["ShowFieldDialogCommand"])
                self.appendContextMenu( "Pyrate Surfaces",
                                       ["ShowSurfaceDialogCommand"])
                self.appendContextMenu("ShowRaybundlesCommand", [])
                self.appendContextMenu("Separator", [])

    def Activated(self):
        "do something here if needed..."
        pass
        # Msg ("PyrateWorkbench.Activated()\n")

    def Deactivated(self):
        "do something here if needed..."
        pass
        # Msg ("PyrateWorkbench.Deactivated()\n")


FreeCADGui.addWorkbench(PyrateWorkbench())
Example #28
0
        FreeCAD.Console.PrintMessage("Animate workbench deactivated\n")

    def ContextMenu(self, recipient):
        """
Method to add custom commands to a context menu with respect to a recipient.

This method is executed whenever the user right-clicks in a Tree View or the
View box. It's possible to only add commands via `self.appendContextMenu()`.

Args:
    recipient: A str equal to "Tree" or "View" according to where user clicked.
        """
        # Log who is the recipient
        # FreeCAD.Console.PrintLog("Preparing context menu for " + recipient
        #                          + "\n")
        # Add commands to the context menu if necessary
        # self.appendContextMenu("My commands", self.list)
        pass

    def GetClassName(self):
        """
Mandatory method for full python workbenches.

Returns:
    A str with C++ binding class for this workbench.
        """
        return "Gui::PythonWorkbench"


FreeCADGui.addWorkbench(Animate())
Example #29
0
    @staticmethod
    def ListExamples():
        import os
        import module_locator

        dirs = []

        # List all of the example files in an order that makes sense
        module_base_path = module_locator.module_path()
        exs_dir_path = os.path.join(module_base_path, 'Examples')
        dirs = os.listdir(exs_dir_path)
        dirs.sort()

        return dirs

FreeCADGui.addCommand('CadQueryNewScript', CadQueryNewScript())
FreeCADGui.addCommand('CadQueryOpenScript', CadQueryOpenScript())
FreeCADGui.addCommand('CadQuerySaveScript', CadQuerySaveScript())
FreeCADGui.addCommand('CadQuerySaveAsScript', CadQuerySaveAsScript())
FreeCADGui.addCommand('CadQueryExecuteScript', CadQueryExecuteScript())
FreeCADGui.addCommand('CadQueryCloseScript', CadQueryCloseScript())
FreeCADGui.addCommand('CadQueryClearOutput', CadQueryClearOutput())

# Step through and add an Examples submenu item for each example
dirs = CadQueryWorkbench.ListExamples()
for curFile in dirs:
    FreeCADGui.addCommand(curFile, CadQueryExecuteExample(curFile))

FreeCADGui.addWorkbench(CadQueryWorkbench())
Example #30
0
        self.appendMenu(["Add Components", "Mirrors"],
                        ["RoundMirror", "RectangularMirror"])

        self.appendMenu(["Add Components", "Prisms"],
                        ["PentaPrism", "DovePrism", "RightAnglePrism"])

        self.appendMenu(["Add Components", "Beam Splitters"], ["BSCube"])

        self.appendMenu(["Add Components", "Ray Sources"],
                        ["RaysParallel", "RaysPoint", "RaysArray"])
        self.appendMenu(["Add Components"], "Aperture")
        self.appendMenu(["Add Components"], "DiffractionGratting")
        self.appendMenu(["Add Components"], "Sensor")

        self.appendMenu(["Simulate"], ["Propagate", "Reports", "Optimize"])

    def Activated(self):
        '''
        code which should be computed when a user switch to this workbench
        '''
        pass

    def Deactivated(self):
        '''
        code which should be computed when this workbench is deactivated
        '''
        pass


Gui.addWorkbench(PyOpToolsWorkbench())
Example #31
0
            if _v['gui'] & self.group:
                Gui.addCommand(
                    _k,
                    CommandGroup(_v['cmd'], _v['tooltip'], _v.get('type_id')))

    def Activated(self):
        """
        Called when switching to this workbench
        """
        pass

    def Deactivated(self):
        """
        Called when switiching away from this workbench
        """
        pass

    def ContextMenu(self, recipient):
        """
        Right-click menu options
        """
        # "recipient" will be either "view" or "tree"

        for _k, _v in self.fn.items():
            if _v['gui'] & self.context:
                self.appendContextMenu(_k, _v['cmds'])


Gui.addWorkbench(TrailsWorkbench())
Example #32
0
        self.appendToolbar('Assembly3 Navigation', [
            "Std_SelBack", "Std_SelForward",
            AsmCmdGotoRelation.getName(), "Std_LinkSelectLinked",
            "Std_LinkSelectLinkedFinal", "Std_LinkSelectAllLinks",
            "Std_TreeSelectAllInstances"
        ])
        for name, cmds in AsmCmdManager.Menus.items():
            cmdSet.update(cmds)
            self.appendMenu(name, [cmd.getName() for cmd in cmds])
        self._observer.setCommands(cmdSet)
        self.docObserver = AsmDocumentObserver()
        #  FreeCADGui.addPreferencePage(
        #          ':/assembly3/ui/assembly3_prefs.ui','Assembly3')

    def _contextMenu(self):
        from .gui import AsmCmdManager
        from collections import OrderedDict
        menus = OrderedDict()
        for cmd in AsmCmdManager.getInfo().Types:
            name = cmd.getContextMenuName()
            if name:
                menus.setdefault(name, []).append(cmd.getName())
        for name, cmds in menus.items():
            self.appendContextMenu(name, cmds)

    def ContextMenu(self, _recipient):
        logger.catch('', self._contextMenu)


FreeCADGui.addWorkbench(Assembly3Workbench)
Example #33
0
"      ....      ",
"                ",
"                "};
'''

    def Initialize(self):
        """Initialize GUI when the workbench is first loaded (callback).

        This method is called by FreeCAD framework when the workbench is first
        loaded.
        """
        # pylint: disable=no-self-use, import-outside-toplevel
        from PySide.QtCore import QT_TRANSLATE_NOOP
        from FreeCAD import Console
        from FreeCADGui import addIconPath, addPreferencePage
        from Render import RENDER_COMMANDS, ICONDIR, PREFPAGE

        commands = RENDER_COMMANDS
        self.appendToolbar(QT_TRANSLATE_NOOP("Workbench", "Render"), commands)
        self.appendMenu(QT_TRANSLATE_NOOP("Workbench", "&Render"), commands)
        addIconPath(ICONDIR)
        addPreferencePage(PREFPAGE, "Render")
        Console.PrintLog("Loading Render module...done\n")

    def GetClassName(self):  # pylint: disable=no-self-use
        """Provide type of workbench."""
        return "Gui::PythonWorkbench"


Gui.addWorkbench(RenderWorkbench)
Example #34
0
class gliderWorkbench(Workbench):
    """probe workbench object"""
    MenuText = "glider"
    ToolTip = "glider workbench"
    Icon = "glider_workbench.svg"

    def GetClassName(self):
        return "Gui::PythonWorkbench"

    def Initialize(self):
        #load the module
        self.appendToolbar("Glider", ["LoadGlider", "ChangeShape"])
        self.appendMenu("Glider", ["LoadGlider", "ChangeShape"])

        profileitems = ["LoadProfile", "ChangeProfile", "CompareProfile", "MergeProfile", "RunXfoil"]
        self.appendToolbar("airfoil", profileitems)
        self.appendMenu("airfoil", profileitems)

    def Activated(self):
        pass

    def Deactivated(self):
        pass


Gui.addWorkbench(gliderWorkbench())

# Append the open handler
#FreeCAD.EndingAdd("probe formats (*.bmp *.jpg *.png *.xpm)","probeGui")
        self.__class__.ToolTip = "FEM workbench"

    def Initialize(self):
        # load the module
        import Fem
        import FemGui

        import _CommandShowResult
        import _CommandRunSolver
        import _CommandPurgeResults
        import _CommandClearMesh
        import _CommandPrintMeshInfo
        import _CommandControlSolver
        import _CommandFEMMesh2Mesh
        import _CommandMeshGmshFromShape
        import _CommandMeshNetgenFromShape
        import _CommandMeshRegion
        import _CommandAnalysis
        import _CommandShellThickness
        import _CommandBeamSection
        import _CommandMaterial
        import _CommandMaterialMechanicalNonlinear
        import _CommandSolverCalculix
        import _CommandSolverZ88
        import _CommandConstraintSelfWeight

    def GetClassName(self):
        return "FemGui::Workbench"

FreeCADGui.addWorkbench(FemWorkbench())
Example #36
0
	def Activated(self):
		Msg("Animation workbench activated\n")
				
	def Deactivated(self):
		Msg("Animation workbench deactivated\n")

	def ContextMenu(self, recipient):
#	  self.appendContextMenu("Animation tools",self.animtools)
# 		self.appendContextMenu("My Animation tools",self.contextTools)
#		self.appendContextMenu("",self.contextTools)
#		FreeCAD.yy=self
		pass

	def GetClassName(self): 
		return "Gui::PythonWorkbench"








FreeCADGui.addWorkbench(AnimationWorkbench)





 
Example #37
0
        parttoolbarcommands = ['Part_Cut', 'Part_Fuse', 'Part_Common']
        meshtoolbarcommands = ['Mesh_FromPartShape']

        self.appendToolbar(QT_TRANSLATE_NOOP('Workbench', 'GDMLTools'),
                           toolbarcommands)
        self.appendMenu('GDML', commands)
        self.appendToolbar(QT_TRANSLATE_NOOP('Workbech', 'GDML Part tools'),
                           parttoolbarcommands)
        FreeCADGui.addIconPath(joinDir("Resources/icons"))
        FreeCADGui.addLanguagePath(joinDir("Resources/translations"))
        FreeCADGui.addPreferencePage(joinDir("Resources/ui/GDML-base.ui"),
                                     "GDML")

    def Activated(self):
        "This function is executed when the workbench is activated"
        print("Activated")
        self.obs = self.MyObserver()
        FreeCAD.addDocumentObserver(self.obs)
        return

    def Deactivated(self):
        "This function is executed when the workbench is deactivated"
        FreeCAD.removeDocumentObserver(self.obs)
        return

    def GetClassName(self):
        return "Gui::PythonWorkbench"


FreeCADGui.addWorkbench(GDML_Workbench())
Example #38
0
        """When leaving the workbench."""
        if hasattr(FreeCADGui, "draftToolBar"):
            FreeCADGui.draftToolBar.Deactivated()
        if hasattr(FreeCADGui, "Snapper"):
            FreeCADGui.Snapper.hide()
        FreeCAD.Console.PrintLog("Arch workbench deactivated.\n")

    def ContextMenu(self, recipient):
        """Define an optional custom context menu."""
        self.appendContextMenu("Utilities", self.draft_context_commands)

    def GetClassName(self):
        """Type of workbench."""
        return "Gui::PythonWorkbench"


FreeCADGui.addWorkbench(ArchWorkbench)

# Preference pages for importing and exporting various file formats
# are independent of the loading of the workbench and can be loaded at startup
import Arch_rc
from PySide.QtCore import QT_TRANSLATE_NOOP
FreeCADGui.addPreferencePage(":/ui/preferences-ifc.ui",
                             QT_TRANSLATE_NOOP("Draft", "Import-Export"))
FreeCADGui.addPreferencePage(":/ui/preferences-ifc-export.ui",
                             QT_TRANSLATE_NOOP("Draft", "Import-Export"))
FreeCADGui.addPreferencePage(":/ui/preferences-dae.ui",
                             QT_TRANSLATE_NOOP("Draft", "Import-Export"))

FreeCAD.__unit_test__ += ["TestArch"]
Example #39
0
    import EasyVoxel  # this is needed to load the workbench icon
    # __dir__ = os.path.dirname( __file__ ) # __file__ is not working
    Icon = EasyVoxel.__dir__ + '/icons/WorkbenchIcon.svg'
    MenuText = 'Voxel Workbench'
    ToolTip = 'Create models with cubes'

    def GetClassName(self):
        return 'Gui::PythonWorkbench'

    def Initialize(self):
        pass

    def Activated(self):
        import EasyVoxel
        EasyVoxel.startVoxel()
        import VoxelNav
        self.vnav = VoxelNav.VoxelNav()
        FreeCAD.ActiveDocument.recompute()
        self.appendToolbar(
            "VoxelTools",
            ['ToggleXYMidplane', 'VoxelToObject', 'ObjectToVoxel'])
        self.appendMenu("VoxelWorkbench",
                        ['ToggleXYMidplane', 'VoxelToObject', 'ObjectToVoxel'])
        FreeCAD.Console.PrintMessage('Voxel Workbench Loaded\n')

    def Deactivated(self):
        self.vnav.removeNav()


FreeCADGui.addWorkbench(VoxelWorkbench)
Example #40
0
        nl = []
        cl = []
        for i in range(len(self.Selection)):
            if not self.Selection[i] == Gui.Selection.getSelectionObject(
                    doc, obj, sub):
                nl.append(self.Selection[i])
                cl.append(self.View_Directions[i])
        self.Selection = nl

    def clearSelection(self, doc):
        self.Selection = []
        self.View_Directions = []

    def ContextMenu(self, recipient):
        """This is executed whenever the user right-clicks on screen.
        recipient" will be either 'view' or 'tree'"""
        if recipient == "View":
            contextlist = ["adjacent_faces",
                           "bspline_to_console"]  # list of commands
            self.appendContextMenu("Curves", contextlist)
        elif recipient == "Tree":
            contextlist = []  # list of commands
            self.appendContextMenu("Curves", contextlist)

    def GetClassName(self):
        """This function is mandatory if this is a full python workbench"""
        return "Gui::PythonWorkbench"


Gui.addWorkbench(CurvesWorkbench())
Example #41
0
		QtCore.QObject.connect(self.item[0], QtCore.SIGNAL("triggered()"), self.information)
		QtCore.QObject.connect(self.item[1], QtCore.SIGNAL("triggered()"), self.warning)
		QtCore.QObject.connect(self.item[2], QtCore.SIGNAL("triggered()"), self.critical)

	def Activated(self):
		self.__title__ = self.mw.windowTitle()
		self.mw.setWindowTitle("FreeCAD -- PythonQt")

		d = QtGui.QDockWidget()
		d.setWindowTitle("Calendar")
		c = QtGui.QCalendarWidget()
		d.setWidget(c)
		self.mw.addDockWidget(QtCore.Qt.RightDockWidgetArea,d)
		self.dock[d] = c

		bar = self.mw.menuBar()
		a=bar.actions()
		for i in a:
			if i.objectName() == "&Windows":
				break
		bar.insertMenu(i, self.menu)
		self.menu.setTitle("Python Qt")
		self.menu.menuAction().setVisible(True)

	def Deactivated(self):
		self.mw.setWindowTitle(self.__title__)
		self.dock.clear()

FreeCADGui.addWorkbench(PythonQtWorkbench)
Example #42
0
    @staticmethod
    def ListDemos():
        import os
        import ksu_locator

        dirs = []
        # List all of the example files in an order that makes sense
        module_base_path = ksu_locator.module_path()
        demo_dir_path = os.path.join(module_base_path, 'demo')
        dirs = os.listdir(demo_dir_path)
        dirs.sort()

        return dirs

    ##


###

dirs = ksuWB.ListDemos()
#print dirs
#FreeCADGui.addCommand('ksuWBOpenDemo', ksuOpenDemo())
#dirs = ksuWB.ListDemos()
for curFile in dirs:
    FreeCADGui.addCommand(curFile, ksuExcDemo(curFile))

#FreeCADGui.addPreferencePage(kSU_MainPrefPage,"kicadStepUpGui")
#FreeCADGui.addPreferencePage(CalendarPage, "kicadStepUpGui")

FreeCADGui.addWorkbench(ksuWB)
Example #43
0
            if _v['gui'] & self.MENU:
                self.appendMenu(_k, _v['cmd'])

        self.appendToolbar("Tools", self.toolbox)
        self.appendMenu("Tools", self.toolbox)

    def Activated(self):
        """
        Workbench activation occurs when switched to
        """
        pass

    def Deactivated(self):
        """
        Workbench deactivation occurs when switched away from in the UI
        """
        pass

    def ContextMenu(self, recipient):
        """
        Right-click menu options
        """

        #Populate the context menu when it's called
        for _k, _v in self.command_ui.items():
            if _v['gui'] & self.CONTEXT:
                self.appendContextMenu(_k, _v['cmd'])


Gui.addWorkbench(template_workbench())