forked from kliment/Printrun
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Garys Hack and SFACT all together in a package
- Loading branch information
1 parent
fa63e85
commit 06a7827
Showing
831 changed files
with
83,429 additions
and
6 deletions.
There are no files selected for viewing
Binary file not shown.
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,146 @@ | ||
#!/usr/bin/env python | ||
|
||
from skeinforge.fabmetheus_utilities import archive | ||
from skeinforge.fabmetheus_utilities import settings | ||
from skeinforge.skeinforge_application.skeinforge_utilities import skeinforge_craft | ||
from skeinforge.skeinforge_application.skeinforge_utilities import skeinforge_profile | ||
import os | ||
import wx | ||
|
||
class SkeinforgeQuickEditDialog(wx.Dialog): | ||
'''Shows a consise list of important settings from the active Skeinforge profile.''' | ||
def __init__(self, *args, **kwds): | ||
kwds["style"] = wx.DEFAULT_DIALOG_STYLE | wx.MAXIMIZE_BOX | wx.MINIMIZE_BOX | wx.RESIZE_BORDER | ||
wx.Dialog.__init__(self, *args, **kwds) | ||
self.okButton = wx.Button(self, wx.ID_OK, "Save") | ||
self.cancelButton = wx.Button(self, wx.ID_CANCEL, "") | ||
self.Bind(wx.EVT_BUTTON, self.OnExit, self.cancelButton) | ||
self.Bind(wx.EVT_BUTTON, self.OnSave, self.okButton) | ||
|
||
""" | ||
The following list determines which settings are shown. | ||
The dictionary key is the plugin name and the value is a list of setting names as found in the corresponding .csv file for that plugin. | ||
NOTE: Skeinforge is tightly integrated with Tkinter and there appears to be a dependency which stops radio-button values from being saved. | ||
Perhaps this can be solved, but at the moment this dialog cannot modify radio button values. One will have to use the main Skeinforge application. | ||
""" | ||
self.moduleSettingsMap = { | ||
'dimension':['Filament Diameter (mm):','Retraction Distance (millimeters):', 'Retraction Distance (millimeters):','Extruder Retraction Speed (mm/s):'], | ||
'carve':['Layer Height = Extrusion Thickness (mm):', 'Extrusion Width (mm):'], | ||
'chamber':['Heated PrintBed Temperature (Celcius):', 'Turn print Bed Heater Off at Shut Down', 'Turn Extruder Heater Off at Shut Down'], | ||
'cool':['Activate Cool.. but use with a fan!', 'Use Cool if layer takes shorter than(seconds):'], | ||
'fill':['Activate Fill:', 'Infill Solidity (ratio):', 'Fully filled Layers (each top and bottom):', 'Extra Shells on Sparse Layer (layers):', 'Extra Shells on Alternating Solid Layer (layers):'], | ||
'multiply':['Number of Columns (integer):', 'Number of Rows (integer):'], | ||
'raft':['First Layer Main Feedrate (mm/s):','First Layer Perimeter Feedrate (mm/s):','First Layer Flow Rate Infill(scaler):','First Layer Flow Rate Perimeter(scaler):',], | ||
'speed':['Main Feed Rate (mm/s):','Main Flow Rate (scaler):','Perimeter Feed Rate (mm/s):','Perimeter Flow Rate (scaler):','Travel Feed Rate (mm/s):'] | ||
} | ||
|
||
self.scrollbarPanel = wx.ScrolledWindow(self, -1, style=wx.TAB_TRAVERSAL) | ||
self.settingsSizer = self.getProfileSettings() | ||
self.scrollbarPanel.SetSizer(self.settingsSizer) | ||
|
||
self.__set_properties() | ||
self.__do_layout() | ||
self.Show() | ||
|
||
def __set_properties(self): | ||
self.profileName = skeinforge_profile.getProfileName(skeinforge_profile.getCraftTypeName()) | ||
self.SetTitle("Skeinforge Quick Edit Profile: " + self.profileName) | ||
|
||
# For some reason the dialog size is not consistent between Windows and Linux - this is a hack to get it working | ||
if (os.name == 'nt'): | ||
self.SetMinSize(wx.DLG_SZE(self, (465, 370))) | ||
else: | ||
self.SetSize(wx.DLG_SZE(self, (465, 325))) | ||
|
||
self.SetPosition((0, 0)) | ||
self.scrollbarPanel.SetScrollRate(10, 10) | ||
|
||
def __do_layout(self): | ||
mainSizer = wx.BoxSizer(wx.VERTICAL) | ||
actionsSizer = wx.BoxSizer(wx.HORIZONTAL) | ||
mainSizer.Add(self.scrollbarPanel, 1, wx.EXPAND | wx.ALL, 5) | ||
actionsSizer.Add(self.okButton, 0, 0, 0) | ||
actionsSizer.Add(self.cancelButton, 0, wx.LEFT, 10) | ||
mainSizer.Add(actionsSizer, 0, wx.ALIGN_RIGHT | wx.ALL, 5) | ||
self.SetSizer(mainSizer) | ||
self.Layout() | ||
|
||
def getProfileSettings(self): | ||
settingsSizer = wx.GridBagSizer(hgap=2, vgap=1) | ||
settingsRow = 0 | ||
|
||
for craftName in sorted(self.moduleSettingsMap.keys()): | ||
|
||
craftStaticBox = wx.StaticBox(self.scrollbarPanel, -1, craftName.capitalize()) | ||
craftStaticBoxSizer = wx.StaticBoxSizer(craftStaticBox, wx.VERTICAL) | ||
|
||
# For some reason the dialog size is not consistent between Windows and Linux - this is a hack to get it working | ||
if (os.name == 'nt'): | ||
craftStaticBoxSizer.SetMinSize((320, -1)) | ||
else: | ||
craftStaticBoxSizer.SetMinSize((450, -1)) | ||
pluginModule = archive.getModuleWithPath(os.path.join(skeinforge_craft.getPluginsDirectoryPath(), craftName)) | ||
repo = pluginModule.getNewRepository() | ||
|
||
for setting in settings.getReadRepository(repo).preferences: | ||
if setting.name in self.moduleSettingsMap[craftName]: | ||
|
||
settingSizer = wx.GridBagSizer(hgap=2, vgap=2) | ||
settingSizer.AddGrowableCol(0) | ||
settingRow = 0 | ||
settingLabel = wx.StaticText(self.scrollbarPanel, -1, setting.name) | ||
settingLabel.Wrap(400) | ||
settingSizer.Add(settingLabel, pos=(settingRow, 0)) | ||
|
||
if (isinstance(setting.value, bool)): | ||
checkbox = wx.CheckBox(self.scrollbarPanel) | ||
checkbox.SetName(craftName + '.' + setting.name) | ||
checkbox.SetValue(setting.value) | ||
settingSizer.Add(checkbox, pos=(settingRow, 1)) | ||
settingSizer.AddSpacer((25, -1), pos=(settingRow, 2)) | ||
else: | ||
textCtrl = wx.TextCtrl(self.scrollbarPanel, value=str(setting.value), size=(50, -1)) | ||
textCtrl.SetName(craftName + '.' + setting.name) | ||
settingSizer.Add(textCtrl, pos=(settingRow, 1)) | ||
|
||
craftStaticBoxSizer.Add(settingSizer, 1, wx.EXPAND, 0) | ||
settingRow += 1 | ||
col = settingsRow % 2 | ||
settingsSizer.Add(craftStaticBoxSizer, pos=(settingsRow - col, col)) | ||
settingsRow += 1 | ||
|
||
return settingsSizer | ||
|
||
def OnExit(self, e): | ||
self.Destroy() | ||
|
||
def OnSave(self, e): | ||
for x in self.scrollbarPanel.GetChildren(): | ||
if (isinstance(x, (wx.CheckBox, wx.TextCtrl))): | ||
name = x.GetName().partition('.') | ||
craftName = name[0] | ||
settingName = name[2] | ||
pluginModule = archive.getModuleWithPath(os.path.join(skeinforge_craft.getPluginsDirectoryPath(), craftName)) | ||
repo = pluginModule.getNewRepository() | ||
isDirty = False | ||
for setting in settings.getReadRepository(repo).preferences: | ||
if setting.name == settingName: | ||
if setting.value == None or str(x.GetValue()) != str(setting.value): | ||
print('Saving ... ' + settingName + ' = ' + str(x.GetValue())) | ||
setting.value = x.GetValue() | ||
isDirty = True | ||
if isDirty: | ||
settings.saveRepository(repo) | ||
print("Skeinforge settings have been saved.") | ||
self.Destroy() | ||
|
||
class SkeinforgeQuickEditApp(wx.App): | ||
def OnInit(self): | ||
wx.InitAllImageHandlers() | ||
SkeinforgeQuickEditDialog(None, -1, "") | ||
return 1 | ||
|
||
if __name__ == "__main__": | ||
skeinforgeQuickEditApp = SkeinforgeQuickEditApp(0) | ||
skeinforgeQuickEditApp.MainLoop() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
Format is tab separated cutting settings. | ||
_Name Value | ||
WindowPosition 0+400 | ||
Profile Selection: end_mill |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
Format is tab separated extrusion settings. | ||
_Name Value | ||
WindowPosition 0+400 | ||
Profile Selection: PLA |
8 changes: 8 additions & 0 deletions
8
sfact_profiles/profiles/extrusion/1.7mm-0.3 nozzle/bottom.csv
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
Format is tab separated bottom settings. | ||
_Name Value | ||
WindowPosition 700+0 | ||
Open File for Bottom | ||
Activate Bottom... and dont change anything else here!!! True | ||
Additional Height (ratio): 0.5 | ||
Altitude (mm): 0.0 | ||
SVG Viewer: webbrowser |
15 changes: 15 additions & 0 deletions
15
sfact_profiles/profiles/extrusion/1.7mm-0.3 nozzle/carve.csv
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
Format is tab separated carve settings. | ||
_Name Value | ||
WindowPosition 700+0 | ||
Open File for Carve | ||
Layer Height = Extrusion Thickness (mm): 0.33 | ||
Extrusion Width (mm): 0.5 | ||
Print from Layer No:: 0 | ||
Print up to Layer No: 912345678 | ||
Infill in Direction of Bridge True | ||
Correct Mesh True | ||
Unproven Mesh False | ||
SVG Viewer: webbrowser | ||
Add Layer Template to SVG True | ||
Extra Decimal Places (float): 2.0 | ||
Import Coarseness (ratio): 1.0 |
8 changes: 8 additions & 0 deletions
8
sfact_profiles/profiles/extrusion/1.7mm-0.3 nozzle/chamber.csv
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
Format is tab separated chamber settings. | ||
_Name Value | ||
WindowPosition 700+0 | ||
Open File for Chamber | ||
Activate Chamber..if you want below functions to work True | ||
Heated PrintBed Temperature (Celcius): 60.0 | ||
Turn print Bed Heater Off at Shut Down True | ||
Turn Extruder Heater Off at Shut Down True |
6 changes: 6 additions & 0 deletions
6
sfact_profiles/profiles/extrusion/1.7mm-0.3 nozzle/clairvoyance.csv
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
Format is tab separated clairvoyance settings. | ||
_Name Value | ||
WindowPosition 700+0 | ||
Activate Clairvoyance False | ||
Open File to Generate Clairvoyances for | ||
Gcode Program: webbrowser |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
Format is tab separated clip settings. | ||
_Name Value | ||
WindowPosition 700+0 | ||
Open File for Clip | ||
Activate Clip..to clip the extrusion that overlaps when printing perimeters True | ||
Clip Over Perimeter Width adjuster (decrease for bigger gap): 1.0 | ||
Threshold for connecting inner loops (ratio): 2.5 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
Format is tab separated comb settings. | ||
_Name Value | ||
WindowPosition 700+0 | ||
Open File for Comb | ||
Activate Comb if you cant stop the extruder stringing by retraction | ||
it will avoid moving over loops so the strings will be there | ||
but not visible anymore. | ||
Comb bends the extruder travel paths around holes in the slices, to avoid stringing. | ||
so any start up ooze will be inside the shape. True |
5 changes: 5 additions & 0 deletions
5
sfact_profiles/profiles/extrusion/1.7mm-0.3 nozzle/comment.csv
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
Format is tab separated comment settings. | ||
_Name Value | ||
WindowPosition 700+0 | ||
Activate Comment False | ||
Open File to Write Comments for |
15 changes: 15 additions & 0 deletions
15
sfact_profiles/profiles/extrusion/1.7mm-0.3 nozzle/cool.csv
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
Format is tab separated cool settings. | ||
_Name Value | ||
WindowPosition 700+0 | ||
Open File for Cool | ||
Activate Cool.. but use with a fan! False | ||
Use Cool if layer takes shorter than(seconds): 10.0 | ||
Turn Fan On at Beginning True | ||
Turn Fan Off at Ending True | ||
Execute when Cool starts: cool_start.gmc | ||
Execute when Cool ends: cool_end.gmc | ||
Orbiting around Object False | ||
Slow Down during print True | ||
Maximum Cool (Celcius): 2.0 | ||
Bridge Cool (Celcius): 1.0 | ||
Minimum Orbital Radius (millimeters): 10.0 |
15 changes: 15 additions & 0 deletions
15
sfact_profiles/profiles/extrusion/1.7mm-0.3 nozzle/dimension.csv
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
Format is tab separated dimension settings. | ||
_Name Value | ||
WindowPosition 700+0 | ||
Open File for Dimension | ||
Activate Volumetric Extrusion (Stepper driven Extruders) True | ||
Filament Diameter (mm): 1.75 | ||
Filament Packing Density (ratio) lower=more extrusion: 1.0 | ||
Retraction Distance (millimeters): 1.0 | ||
Restart Extra Distance (millimeters): 0.0 | ||
Extruder Retraction Speed (mm/s): 15.0 | ||
Force to retract when crossing over spaces True | ||
Minimum Extrusion before Retraction (millimeters): 1.0 | ||
Minimum Travelmove after Retraction (millimeters): 1.0 | ||
in Absolute units (Sprinter, FiveD a.o.) True | ||
in Relative units (Teacup a.o.) False |
20 changes: 20 additions & 0 deletions
20
sfact_profiles/profiles/extrusion/1.7mm-0.3 nozzle/export.csv
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
Format is tab separated export settings. | ||
_Name Value | ||
WindowPosition 700+0 | ||
Open File for Export | ||
Activate Export True | ||
Add _export to filename (filename_export) True | ||
Also Send Output To: | ||
Do Not Delete Comments False | ||
Delete Crafting Comments False | ||
Delete All Comments True | ||
Do Not Change Output False | ||
gcode_small True | ||
File Extension (gcode): gcode | ||
Name of Replace File: replace.csv | ||
Save Penultimate Gcode False | ||
Archive Used Profile As Zip False | ||
Export Profile Values As CSV File False | ||
Add Profile Name to Filename False | ||
Add Description to Filename False | ||
Add Timestamp to Filename False |
Oops, something went wrong.