Add icon to wizard shaft, error handling of missing python modules, slight changes to the wizard shaft command
This commit is contained in:
@@ -31,12 +31,13 @@ INSTALL(
|
||||
|
||||
SET(WizardShaft_SRCS
|
||||
WizardShaft/__init__.py
|
||||
WizardShaft/WizardShaft.py
|
||||
WizardShaft/WizardShaftTable.py
|
||||
WizardShaft/Shaft.py
|
||||
WizardShaft/ShaftFeature.py
|
||||
WizardShaft/ShaftDiagram.py
|
||||
WizardShaft/SegmentFunction.py
|
||||
WizardShaft/WizardShaft.svg
|
||||
WizardShaft/WizardShaft.py
|
||||
WizardShaft/WizardShaftTable.py
|
||||
WizardShaft/Shaft.py
|
||||
WizardShaft/ShaftFeature.py
|
||||
WizardShaft/ShaftDiagram.py
|
||||
WizardShaft/SegmentFunction.py
|
||||
)
|
||||
SOURCE_GROUP("wizardshaft" FILES ${WizardShaft_SRCS})
|
||||
|
||||
|
||||
@@ -28,6 +28,8 @@
|
||||
#endif
|
||||
|
||||
#include "Workbench.h"
|
||||
#include <Gui/Application.h>
|
||||
#include <Gui/Command.h>
|
||||
#include <Gui/MenuManager.h>
|
||||
#include <Gui/ToolBarManager.h>
|
||||
#include <Gui/Control.h>
|
||||
@@ -214,9 +216,13 @@ Gui::MenuItem* Workbench::setupMenuBar() const
|
||||
<< "PartDesign_LinearPattern"
|
||||
<< "PartDesign_PolarPattern"
|
||||
// << "PartDesign_Scaled"
|
||||
<< "PartDesign_MultiTransform"
|
||||
<< "Separator"
|
||||
<< "PartDesign_WizardShaft";
|
||||
<< "PartDesign_MultiTransform";
|
||||
// For 0.13 a couple of python packages like numpy, matplotlib and others
|
||||
// are not deployed with the installer on Windows. Thus, the WizardShaft is
|
||||
// not deployed either hence the check for the existence of the command.
|
||||
if (Gui::Application::Instance->commandManager().getCommandByName("PartDesign_WizardShaft")) {
|
||||
*part << "Separator" << "PartDesign_WizardShaft";
|
||||
}
|
||||
|
||||
return root;
|
||||
}
|
||||
|
||||
@@ -31,7 +31,6 @@
|
||||
|
||||
class PartDesignWorkbench ( Workbench ):
|
||||
"PartDesign workbench object"
|
||||
from WizardShaft import WizardShaft
|
||||
Icon = """
|
||||
/* XPM */
|
||||
static char * partdesign_xpm[] = {
|
||||
@@ -67,6 +66,10 @@ class PartDesignWorkbench ( Workbench ):
|
||||
|
||||
def Initialize(self):
|
||||
# load the module
|
||||
try:
|
||||
from WizardShaft import WizardShaft
|
||||
except:
|
||||
print "Wizard shaft not installed"
|
||||
import PartDesignGui
|
||||
import PartDesign
|
||||
def GetClassName(self):
|
||||
|
||||
@@ -201,7 +201,11 @@ class Shaft:
|
||||
self.printEquilibrium(variableNames, coefficientsMbz)
|
||||
|
||||
# Build matrix and vector for linear algebra solving algorithm
|
||||
import numpy as np
|
||||
try:
|
||||
import numpy as np
|
||||
except ImportError:
|
||||
FreeCAD.Console.PrintMessage("numpy is not installed on your system\n")
|
||||
raise ImportError("numpy not installed")
|
||||
if (len(coefficientsFy) < 3) or (len(coefficientsMbz) < 3):
|
||||
return
|
||||
A = np.array([coefficientsFy[1:], coefficientsMbz[1:]])
|
||||
|
||||
@@ -49,7 +49,7 @@ class TaskWizardShaft:
|
||||
# updateSketch() slot will be activated and it relies on finding a valid document
|
||||
if self.doc == None:
|
||||
self.Gui.activateWorkbench("PartDesignWorkbench")
|
||||
self.doc = self.App.newDocument()
|
||||
self.doc = self.App.ActiveDocument
|
||||
# Grab the newly created feature window
|
||||
featureWindow = cw.subWindowList()[-1]
|
||||
else:
|
||||
@@ -80,11 +80,14 @@ class WizardShaftGui:
|
||||
FreeCADGui.Control.showDialog(TaskWizardShaft())
|
||||
|
||||
def GetResources(self):
|
||||
IconPath = FreeCAD.ConfigGet("AppHomePath") + "Mod/PartDesign/Gui/Resources/icons/WizardShaftIcon.png"
|
||||
MenuText = 'Start the shaft design wizard'
|
||||
IconPath = FreeCAD.ConfigGet("AppHomePath") + "Mod/PartDesign/WizardShaft/WizardShaft.svg"
|
||||
MenuText = 'Shaft design wizard...'
|
||||
ToolTip = 'Start the shaft design wizard'
|
||||
return {'Pixmap' : IconPath, 'MenuText': MenuText, 'ToolTip': ToolTip}
|
||||
|
||||
def IsActive(self):
|
||||
return FreeCAD.ActiveDocument != None
|
||||
|
||||
FreeCADGui.addCommand('PartDesign_WizardShaft', WizardShaftGui())
|
||||
|
||||
#Note: Start wizard in Python Console with
|
||||
|
||||
419
src/Mod/PartDesign/WizardShaft/WizardShaft.svg
Normal file
419
src/Mod/PartDesign/WizardShaft/WizardShaft.svg
Normal file
File diff suppressed because one or more lines are too long
|
After Width: | Height: | Size: 16 KiB |
Reference in New Issue
Block a user