def addInitializationToOutput( self ): "Add initialization gcode to the output." self.addFromUpperLowerFile( self.prefaceRepository.nameOfStartFile.value ) # Add a start file if it exists. self.distanceFeedRate.addTagBracketedLine( 'creation', 'skeinforge' ) # GCode formatted comment absoluteFilePathUntilDot = os.path.abspath( __file__ )[ : os.path.abspath( __file__ ).rfind( '.' ) ] if absoluteFilePathUntilDot == '/home/enrique/Desktop/backup/babbleold/script/reprap/fabmetheus/skeinforge_application/skeinforge_plugins/craft_plugins/preface': #is this script on Enrique's computer? gcodec.writeFileText( gcodec.getVersionFileName(), date.today().isoformat() ) versionText = gcodec.getFileText( gcodec.getVersionFileName() ) self.distanceFeedRate.addTagBracketedLine( 'version', versionText ) # GCode formatted comment self.distanceFeedRate.addLine( '(<extruderInitialization>)' ) # GCode formatted comment if self.prefaceRepository.setPositioningToAbsolute.value: self.distanceFeedRate.addLine( 'G90' ) # Set positioning to absolute. if self.prefaceRepository.setUnitsToMillimeters.value: self.distanceFeedRate.addLine( 'G21' ) # Set units to millimeters. if self.prefaceRepository.startAtHome.value: self.distanceFeedRate.addLine( 'G28' ) # Start at home. if self.prefaceRepository.turnExtruderOffAtStartUp.value: self.distanceFeedRate.addLine( 'M103' ) # Turn extruder off. craftTypeName = skeinforge_profile.getCraftTypeName() self.distanceFeedRate.addTagBracketedLine( 'craftTypeName', craftTypeName ) self.distanceFeedRate.addTagBracketedLine( 'decimalPlacesCarried', self.distanceFeedRate.decimalPlacesCarried ) self.distanceFeedRate.addTagBracketedLine( 'layerThickness', self.distanceFeedRate.getRounded( self.layerThickness ) ) if self.prefaceRepository.meta.value: self.distanceFeedRate.addTagBracketedLine( 'meta', self.prefaceRepository.meta.value ) self.distanceFeedRate.addTagBracketedLine( 'perimeterWidth', self.distanceFeedRate.getRounded( self.perimeterWidth ) ) self.distanceFeedRate.addTagBracketedLine( 'profileName', skeinforge_profile.getProfileName( craftTypeName ) ) self.distanceFeedRate.addTagBracketedLine( 'procedureDone', 'carve' ) self.distanceFeedRate.addTagBracketedLine( 'procedureDone', 'preface' ) self.distanceFeedRate.addLine( '(</extruderInitialization>)' ) # Initialization is finished, extrusion is starting. self.distanceFeedRate.addLine( '(<extrusion>)' ) # Initialization is finished, extrusion is starting.
def addInitializationToOutput(self): "Add initialization gcode to the output." self.addFromUpperLowerFile(self.prefaceRepository.nameOfStartFile.value ) # Add a start file if it exists. self.distanceFeedRate.addTagBracketedLine( 'creation', 'skeinforge') # GCode formatted comment absoluteFilePathUntilDot = os.path.abspath( __file__)[:os.path.abspath(__file__).rfind('.')] if absoluteFilePathUntilDot == '/home/enrique/Desktop/backup/babbleold/script/reprap/fabmetheus/skeinforge_application/skeinforge_plugins/craft_plugins/preface': #is this script on Enrique's computer? gcodec.writeFileText( gcodec.getVersionFileName(), date.today().isoformat().replace('-', '.')[2:]) versionText = gcodec.getFileText(gcodec.getVersionFileName()) self.distanceFeedRate.addTagBracketedLine( 'version', versionText) # GCode formatted comment self.distanceFeedRate.addLine( '(<extruderInitialization>)') # GCode formatted comment if self.prefaceRepository.setPositioningToAbsolute.value: self.distanceFeedRate.addLine( 'G90') # Set positioning to absolute. if self.prefaceRepository.setUnitsToMillimeters.value: self.distanceFeedRate.addLine('G21') # Set units to millimeters. if self.prefaceRepository.startAtHome.value: self.distanceFeedRate.addLine('G28') # Start at home. if self.prefaceRepository.turnExtruderOffAtStartUp.value: self.distanceFeedRate.addLine('M103') # Turn extruder off. craftTypeName = skeinforge_profile.getCraftTypeName() self.distanceFeedRate.addTagBracketedLine('craftTypeName', craftTypeName) self.distanceFeedRate.addTagBracketedLine( 'decimalPlacesCarried', self.distanceFeedRate.decimalPlacesCarried) layerThickness = float( self.svgReader.sliceDictionary['layerThickness']) self.distanceFeedRate.addTagBracketedLine( 'layerThickness', self.distanceFeedRate.getRounded(layerThickness)) if self.prefaceRepository.meta.value: self.distanceFeedRate.addTagBracketedLine( 'meta', self.prefaceRepository.meta.value) perimeterWidth = float( self.svgReader.sliceDictionary['perimeterWidth']) self.distanceFeedRate.addTagBracketedLine( 'perimeterWidth', self.distanceFeedRate.getRounded(perimeterWidth)) self.distanceFeedRate.addTagBracketedLine( 'profileName', skeinforge_profile.getProfileName(craftTypeName)) self.distanceFeedRate.addTagBracketedLine( 'procedureDone', self.svgReader.sliceDictionary['procedureDone']) self.distanceFeedRate.addTagBracketedLine('procedureDone', 'preface') self.distanceFeedRate.addLine( '(</extruderInitialization>)' ) # Initialization is finished, extrusion is starting. self.distanceFeedRate.addLine( '(<extrusion>)' ) # Initialization is finished, extrusion is starting.
def __init__(self): "Set the default settings, execute title & settings fileName." settings.addListsToRepository("skeinforge_application.skeinforge.html", "", self) self.fileNameInput = settings.FileNameInput().getFromFileName( fabmetheus_interpret.getGNUTranslatorGcodeFileTypeTuples(), "Open File for Skeinforge", self, "" ) self.profileType = settings.MenuButtonDisplay().getFromName("Profile Type: ", self) self.profileSelection = settings.MenuButtonDisplay().getFromName("Profile Selection: ", self) addToProfileMenu(self.profileSelection, self.profileType, self) settings.LabelDisplay().getFromName("Search:", self) reprapSearch = settings.HelpPage().getFromNameAfterHTTP( "members.axion.net/~enrique/search_reprap.html", "Reprap", self ) skeinforgeSearch = settings.HelpPage().getFromNameAfterHTTP( "members.axion.net/~enrique/search_skeinforge.html", "Skeinforge", self ) skeinforgeSearch.column += 2 webSearch = settings.HelpPage().getFromNameAfterHTTP("members.axion.net/~enrique/search_web.html", "Web", self) webSearch.column += 4 versionText = gcodec.getFileText(gcodec.getVersionFileName()) self.version = settings.LabelDisplay().getFromName("Version: " + versionText, self) settings.LabelDisplay().getFromName("", self) importantFileNames = ["craft", "profile"] getRadioPluginsAddPluginGroupFrame(getPluginsDirectoryPath(), importantFileNames, getPluginFileNames(), self) self.executeTitle = "Skeinforge"
def __init__(self): "Set the default settings, execute title & settings fileName." settings.addListsToRepository('skeinforge.skeinforge.html', '', self) self.fileNameInput = settings.FileNameInput().getFromFileName( fabmetheus_interpret.getGNUTranslatorGcodeFileTypeTuples(), 'Open File for Skeinforge', self, '') versionText = gcodec.getFileText(gcodec.getVersionFileName()) self.createdOnLabel = settings.LabelDisplay().getFromName( 'Created On: ' + versionText, self) self.profileType = settings.MenuButtonDisplay().getFromName( 'Profile Type: ', self) self.profileSelection = settings.MenuButtonDisplay().getFromName( 'Profile Selection: ', self) addToProfileMenu(self.profileSelection, self.profileType, self) settings.LabelDisplay().getFromName('Search:', self) reprapSearch = settings.HelpPage().getFromNameAfterHTTP( 'members.axion.net/~enrique/search_reprap.html', 'Reprap', self) skeinforgeSearch = settings.HelpPage().getFromNameAfterHTTP( 'members.axion.net/~enrique/search_skeinforge.html', 'Skeinforge', self) skeinforgeSearch.column += 2 webSearch = settings.HelpPage().getFromNameAfterHTTP( 'members.axion.net/~enrique/search_web.html', 'Web', self) webSearch.column += 4 settings.LabelDisplay().getFromName('', self) importantFileNames = ['craft', 'profile'] getRadioPluginsAddPluginGroupFrame(getPluginsDirectoryPath(), importantFileNames, getPluginFileNames(), self) self.executeTitle = 'Skeinforge'
def __init__( self ): "Set the default settings, execute title & settings fileName." settings.addListsToRepository( 'skeinforge.html', '', self ) self.fileNameInput = settings.FileNameInput().getFromFileName( fabmetheus_interpret.getGNUTranslatorGcodeFileTypeTuples(), 'Open File for Skeinforge', self, '' ) versionText = gcodec.getFileText( gcodec.getVersionFileName() ) self.profileType = settings.MenuButtonDisplay().getFromName( 'Profile Type: ', self ) self.profileSelection = settings.MenuButtonDisplay().getFromName( 'Profile Selection: ', self ) addToProfileMenu( self.profileSelection, self.profileType, self ) settings.LabelDisplay().getFromName( 'Web Help:', self ) reprapSearch = settings.HelpPage().getFromNameAfterHTTP( 'www.bitsfrombytes.com/wiki/index.php?title=Skeinforge', 'Bfb Wiki', self ) settings.LabelDisplay().getFromName( '', self ) importantFileNames = [ 'craft', 'profile' ] getRadioPluginsAddPluginGroupFrame( getPluginsDirectoryPath(), importantFileNames, getPluginFileNames(), self ) self.executeTitle = 'Skeinforge'
def __init__( self ): "Set the default settings, execute title & settings fileName." settings.addListsToRepository( 'skeinforge.skeinforge.html', '', self ) self.fileNameInput = settings.FileNameInput().getFromFileName( fabmetheus_interpret.getGNUTranslatorGcodeFileTypeTuples(), 'Open File for Skeinforge', self, '' ) versionText = gcodec.getFileText( gcodec.getVersionFileName() ) self.createdOnLabel = settings.LabelDisplay().getFromName( 'Created On: ' + versionText, self ) self.profileType = settings.MenuButtonDisplay().getFromName( 'Profile Type: ', self ) self.profileSelection = settings.MenuButtonDisplay().getFromName( 'Profile Selection: ', self ) addToProfileMenu( self.profileSelection, self.profileType, self ) settings.LabelDisplay().getFromName( 'Search:', self ) reprapSearch = settings.HelpPage().getFromNameAfterHTTP( 'members.axion.net/~enrique/search_reprap.html', 'Reprap', self ) skeinforgeSearch = settings.HelpPage().getFromNameAfterHTTP( 'members.axion.net/~enrique/search_skeinforge.html', 'Skeinforge', self ) skeinforgeSearch.column += 2 webSearch = settings.HelpPage().getFromNameAfterHTTP( 'members.axion.net/~enrique/search_web.html', 'Web', self ) webSearch.column += 4 settings.LabelDisplay().getFromName( '', self ) importantFileNames = [ 'craft', 'profile' ] getRadioPluginsAddPluginGroupFrame( getPluginsDirectoryPath(), importantFileNames, getPluginFileNames(), self ) self.executeTitle = 'Skeinforge'
def __init__(self): "Set the default settings, execute title & settings fileName." settings.addListsToRepository('skeinforge.html', '', self) self.fileNameInput = settings.FileNameInput().getFromFileName( fabmetheus_interpret.getGNUTranslatorGcodeFileTypeTuples(), 'Open File for Skeinforge', self, '') versionText = gcodec.getFileText(gcodec.getVersionFileName()) self.profileType = settings.MenuButtonDisplay().getFromName( 'Profile Type: ', self) self.profileSelection = settings.MenuButtonDisplay().getFromName( 'Profile Selection: ', self) addToProfileMenu(self.profileSelection, self.profileType, self) settings.LabelDisplay().getFromName('Web Help:', self) reprapSearch = settings.HelpPage().getFromNameAfterHTTP( 'www.bitsfrombytes.com/wiki/index.php?title=Skeinforge', 'Bfb Wiki', self) settings.LabelDisplay().getFromName('', self) importantFileNames = ['craft', 'profile'] getRadioPluginsAddPluginGroupFrame(getPluginsDirectoryPath(), importantFileNames, getPluginFileNames(), self) self.executeTitle = 'Skeinforge'
def addInitializationToOutput( self ): "Add initialization gcode to the output." self.addFromUpperLowerFile( self.prefaceRepository.nameOfStartFile.value ) # Add a start file if it exists. self.distanceFeedRate.addTagBracketedLine( 'creator', 'skeinforge' ) # GCode formatted comment absoluteFilePathUntilDot = os.path.abspath( __file__ )[ : os.path.abspath( __file__ ).rfind( '.' ) ] if absoluteFilePathUntilDot == '/home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap/skeinforge_tools/craft_plugins/preface': #check to see if this script is on Enrique's computer gcodec.writeFileText( gcodec.getVersionFileName(), date.today().isoformat() ) versionText = gcodec.getFileText( gcodec.getVersionFileName() ) self.distanceFeedRate.addTagBracketedLine( 'version', versionText ) # GCode formatted comment self.distanceFeedRate.addLine( '(<extruderInitialization>)' ) # GCode formatted comment "BFB CODE 1st INITIALIZATION OF EXTRUDERS --------------------------------------------------------------------------------------------" self.bfbclass = bfb.BfbRepository() self.bfbclass = settings.getReadRepository( self.bfbclass ) self.raftclass = raft.RaftRepository() self.raftclass = settings.getReadRepository( self.raftclass ) self.secondHeadPrimeRev = chan(self.bfbclass.secondHeadPrimeRev.value, 6400) self.secondHeadPrimeSpeed = chan(self.bfbclass.secondHeadPrimeSpeed.value, 10) self.secondHeadPrintRev = chan(self.bfbclass.secondHeadPrintRev.value, 6400) self.secondHeadPrintPrime = chan(self.bfbclass.secondHeadPrintPrime.value, 6400) self.firstHeadPrimeRev = chan(self.bfbclass.firstHeadPrimeRev.value, 6400) self.firsHeadPrimeSpeed = chan(self.bfbclass.firsHeadPrimeSpeed.value, 10) self.firstHeadPrintRev = chan(self.bfbclass.firstHeadPrintRev.value, 6400) self.firstHeadPrintPrime = chan(self.bfbclass.firstHeadPrintPrime.value, 6400) self.speedclass = speed.SpeedRepository() self.speedclass = settings.getReadRepository( self.speedclass ) travelfeedRateMinute=60*self.speedclass.travelFeedRatePerSecond.value version=settings.getfirmware() version=version[0:2] if self.raftclass.activateRaft.value == True: "use second extruder for raft" if self.bfbclass.useRaft.value == True: if version == "x1": self.distanceFeedRate.addLine( '#v3.00' ) self.distanceFeedRate.addLine( 'G90' ) self.distanceFeedRate.addLine( 'M228' ) self.distanceFeedRate.addLine( 'M103' ) self.distanceFeedRate.addLine( 'G92 X'+str(self.bfbclass.secondHeadOffsetX.value)+' Y'+str(self.bfbclass.secondHeadOffsetY.value)+' F'+str(travelfeedRateMinute) ) self.distanceFeedRate.addLine( 'M107' ) self.distanceFeedRate.addLine( 'M204 S'+str(self.bfbclass.RaftT.value) ) self.distanceFeedRate.addLine( 'M552 P'+str(self.secondHeadPrimeRev)+' S'+str(self.secondHeadPrimeSpeed) ) self.distanceFeedRate.addLine( 'M103 P3200 S1000' ) self.distanceFeedRate.addLine( 'M543' ) if self.bfbclass.useM227.value== True: self.distanceFeedRate.addLine( 'M227 P'+str(self.secondHeadPrintPrime)+' S'+str(self.secondHeadPrintRev) ) if version == "x2": self.distanceFeedRate.addLine( '#v4.00' ) self.distanceFeedRate.addLine( 'G90' ) self.distanceFeedRate.addLine( 'G92 X'+str(self.bfbclass.secondHeadOffsetX.value)+' Y'+str(self.bfbclass.secondHeadOffsetY.value)+' F'+str(travelfeedRateMinute) ) if self.bfbclass.useM227.value== True: self.distanceFeedRate.addLine( 'M227 P'+str(self.secondHeadPrintPrime)+' S'+str(self.secondHeadPrintRev) ) self.distanceFeedRate.addLine( 'M107' ) self.distanceFeedRate.addLine( 'M204 S'+str(self.bfbclass.RaftT.value) ) self.distanceFeedRate.addLine( 'M552 P'+str(self.secondHeadPrimeRev)+' S'+str(self.secondHeadPrimeSpeed) ) self.distanceFeedRate.addLine( 'M543' ) if self.bfbclass.UseFanEx2.value== True: "Turn ON FAN" self.distanceFeedRate.addLine( 'M106') else: "Turn OFF FAN" self.distanceFeedRate.addLine( 'M107') else: if version == "x1": "use just one extruder for raft" self.distanceFeedRate.addLine( 'G90' ) self.distanceFeedRate.addLine( 'M228' ) self.distanceFeedRate.addLine( 'M103' ) self.distanceFeedRate.addLine( 'M107' ) self.distanceFeedRate.addLine( 'M104 S'+str(self.bfbclass.RaftT.value) ) self.distanceFeedRate.addLine( 'M551 P'+str(self.firstHeadPrimeRev)+' S'+str(self.firsHeadPrimeSpeed) ) self.distanceFeedRate.addLine( 'M103 P3200 S1000' ) self.distanceFeedRate.addLine( 'M543' ) if version == "x2": "use just one extruder for raft" self.distanceFeedRate.addLine( 'G90' ) self.distanceFeedRate.addLine( 'M107' ) self.distanceFeedRate.addLine( 'M104 S'+str(self.bfbclass.RaftT.value) ) self.distanceFeedRate.addLine( 'M551 P'+str(self.firstHeadPrimeRev)+' S'+str(self.firsHeadPrimeSpeed) ) self.distanceFeedRate.addLine( 'M543' ) if self.bfbclass.useM227.value== True: self.distanceFeedRate.addLine( 'M227 P'+str(self.firstHeadPrintPrime)+' S'+str(self.firstHeadPrintRev) ) if self.bfbclass.UseFanEx1.value== True: "Turn ON FAN" self.distanceFeedRate.addLine( 'M106') else: "Turn OFF FAN" self.distanceFeedRate.addLine( 'M107') else: if version == "x1": "NO RAFT" self.distanceFeedRate.addLine( 'G90' ) self.distanceFeedRate.addLine( 'M228' ) self.distanceFeedRate.addLine( 'M103' ) self.distanceFeedRate.addLine( 'M107' ) self.distanceFeedRate.addLine( 'M104 S'+str(self.bfbclass.firstWorkT.value) ) self.distanceFeedRate.addLine( 'M551 P'+str(self.firstHeadPrimeRev)+' S'+str(self.firsHeadPrimeSpeed) ) self.distanceFeedRate.addLine( 'M103 P3200 S1000' ) self.distanceFeedRate.addLine( 'M543' ) if version == "x2": self.distanceFeedRate.addLine( 'G90' ) self.distanceFeedRate.addLine( 'M107' ) self.distanceFeedRate.addLine( 'M104 S'+str(self.bfbclass.firstWorkT.value) ) self.distanceFeedRate.addLine( 'M551 P'+str(self.firstHeadPrimeRev)+' S'+str(self.firsHeadPrimeSpeed) ) self.distanceFeedRate.addLine( 'M543' ) if self.bfbclass.useM227.value== True: self.distanceFeedRate.addLine( 'M227 P'+str(self.firstHeadPrintPrime)+' S'+str(self.firstHeadPrintRev) ) if self.bfbclass.UseFanEx1.value== True: "Turn ON FAN" self.distanceFeedRate.addLine( 'M106') else: "Turn OFF FAN" self.distanceFeedRate.addLine( 'M107') if self.prefaceRepository.setPositioningToAbsolute.value: self.distanceFeedRate.addLine( 'G90' ) # Set positioning to absolute. if self.prefaceRepository.setUnitsToMillimeters.value: self.distanceFeedRate.addLine( 'G21' ) # Set units to millimeters. if self.prefaceRepository.startAtHome.value: self.distanceFeedRate.addLine( 'G28' ) # Start at home. if self.prefaceRepository.turnExtruderOffAtStartUp.value: self.distanceFeedRate.addLine( 'M103' ) # Turn extruder off. craftTypeName = skeinforge_profile.getCraftTypeName() self.distanceFeedRate.addTagBracketedLine( 'craftTypeName', craftTypeName ) self.distanceFeedRate.addTagBracketedLine( 'decimalPlacesCarried', self.distanceFeedRate.decimalPlacesCarried ) self.distanceFeedRate.addTagBracketedLine( 'layerThickness', self.distanceFeedRate.getRounded( self.layerThickness ) ) if self.prefaceRepository.meta.value: self.distanceFeedRate.addTagBracketedLine( 'meta', self.prefaceRepository.meta.value ) self.distanceFeedRate.addTagBracketedLine( 'perimeterWidth', self.distanceFeedRate.getRounded( self.perimeterWidth ) ) self.distanceFeedRate.addTagBracketedLine( 'profileName', skeinforge_profile.getProfileName( craftTypeName ) ) self.distanceFeedRate.addTagBracketedLine( 'procedureDone', 'carve' ) self.distanceFeedRate.addTagBracketedLine( 'procedureDone', 'preface' ) self.distanceFeedRate.addLine( '(</extruderInitialization>)' ) # Initialization is finished, extrusion is starting. self.distanceFeedRate.addLine( '(<extrusion>)' ) # Initialization is finished, extrusion is starting.
def addInitializationToOutput(self): "Add initialization gcode to the output." self.addFromUpperLowerFile(self.prefaceRepository.nameOfStartFile.value ) # Add a start file if it exists. self.distanceFeedRate.addTagBracketedLine( 'creator', 'skeinforge') # GCode formatted comment absoluteFilePathUntilDot = os.path.abspath( __file__)[:os.path.abspath(__file__).rfind('.')] if absoluteFilePathUntilDot == '/home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap/skeinforge_tools/craft_plugins/preface': #check to see if this script is on Enrique's computer gcodec.writeFileText(gcodec.getVersionFileName(), date.today().isoformat()) versionText = gcodec.getFileText(gcodec.getVersionFileName()) self.distanceFeedRate.addTagBracketedLine( 'version', versionText) # GCode formatted comment self.distanceFeedRate.addLine( '(<extruderInitialization>)') # GCode formatted comment "BFB CODE 1st INITIALIZATION OF EXTRUDERS --------------------------------------------------------------------------------------------" self.bfbclass = bfb.BfbRepository() self.bfbclass = settings.getReadRepository(self.bfbclass) self.raftclass = raft.RaftRepository() self.raftclass = settings.getReadRepository(self.raftclass) self.secondHeadPrimeRev = chan(self.bfbclass.secondHeadPrimeRev.value, 6400) self.secondHeadPrimeSpeed = chan( self.bfbclass.secondHeadPrimeSpeed.value, 10) self.secondHeadPrintRev = chan(self.bfbclass.secondHeadPrintRev.value, 6400) self.secondHeadPrintPrime = chan( self.bfbclass.secondHeadPrintPrime.value, 6400) self.firstHeadPrimeRev = chan(self.bfbclass.firstHeadPrimeRev.value, 6400) self.firsHeadPrimeSpeed = chan(self.bfbclass.firsHeadPrimeSpeed.value, 10) self.firstHeadPrintRev = chan(self.bfbclass.firstHeadPrintRev.value, 6400) self.firstHeadPrintPrime = chan( self.bfbclass.firstHeadPrintPrime.value, 6400) self.speedclass = speed.SpeedRepository() self.speedclass = settings.getReadRepository(self.speedclass) travelfeedRateMinute = 60 * self.speedclass.travelFeedRatePerSecond.value version = settings.getfirmware() version = version[0:2] if self.raftclass.activateRaft.value == True: "use second extruder for raft" if self.bfbclass.useRaft.value == True: if version == "x1": self.distanceFeedRate.addLine('#v3.00') self.distanceFeedRate.addLine('G90') self.distanceFeedRate.addLine('M228') self.distanceFeedRate.addLine('M103') self.distanceFeedRate.addLine( 'G92 X' + str(self.bfbclass.secondHeadOffsetX.value) + ' Y' + str(self.bfbclass.secondHeadOffsetY.value) + ' F' + str(travelfeedRateMinute)) self.distanceFeedRate.addLine('M107') self.distanceFeedRate.addLine( 'M204 S' + str(self.bfbclass.RaftT.value)) self.distanceFeedRate.addLine( 'M552 P' + str(self.secondHeadPrimeRev) + ' S' + str(self.secondHeadPrimeSpeed)) self.distanceFeedRate.addLine('M103 P3200 S1000') self.distanceFeedRate.addLine('M543') if self.bfbclass.useM227.value == True: self.distanceFeedRate.addLine( 'M227 P' + str(self.secondHeadPrintPrime) + ' S' + str(self.secondHeadPrintRev)) if version == "x2": self.distanceFeedRate.addLine('#v4.00') self.distanceFeedRate.addLine('G90') self.distanceFeedRate.addLine( 'G92 X' + str(self.bfbclass.secondHeadOffsetX.value) + ' Y' + str(self.bfbclass.secondHeadOffsetY.value) + ' F' + str(travelfeedRateMinute)) if self.bfbclass.useM227.value == True: self.distanceFeedRate.addLine( 'M227 P' + str(self.secondHeadPrintPrime) + ' S' + str(self.secondHeadPrintRev)) self.distanceFeedRate.addLine('M107') self.distanceFeedRate.addLine( 'M204 S' + str(self.bfbclass.RaftT.value)) self.distanceFeedRate.addLine( 'M552 P' + str(self.secondHeadPrimeRev) + ' S' + str(self.secondHeadPrimeSpeed)) self.distanceFeedRate.addLine('M543') if self.bfbclass.UseFanEx2.value == True: "Turn ON FAN" self.distanceFeedRate.addLine('M106') else: "Turn OFF FAN" self.distanceFeedRate.addLine('M107') else: if version == "x1": "use just one extruder for raft" self.distanceFeedRate.addLine('G90') self.distanceFeedRate.addLine('M228') self.distanceFeedRate.addLine('M103') self.distanceFeedRate.addLine('M107') self.distanceFeedRate.addLine( 'M104 S' + str(self.bfbclass.RaftT.value)) self.distanceFeedRate.addLine('M551 P' + str(self.firstHeadPrimeRev) + ' S' + str(self.firsHeadPrimeSpeed)) self.distanceFeedRate.addLine('M103 P3200 S1000') self.distanceFeedRate.addLine('M543') if version == "x2": "use just one extruder for raft" self.distanceFeedRate.addLine('G90') self.distanceFeedRate.addLine('M107') self.distanceFeedRate.addLine( 'M104 S' + str(self.bfbclass.RaftT.value)) self.distanceFeedRate.addLine('M551 P' + str(self.firstHeadPrimeRev) + ' S' + str(self.firsHeadPrimeSpeed)) self.distanceFeedRate.addLine('M543') if self.bfbclass.useM227.value == True: self.distanceFeedRate.addLine( 'M227 P' + str(self.firstHeadPrintPrime) + ' S' + str(self.firstHeadPrintRev)) if self.bfbclass.UseFanEx1.value == True: "Turn ON FAN" self.distanceFeedRate.addLine('M106') else: "Turn OFF FAN" self.distanceFeedRate.addLine('M107') else: if version == "x1": "NO RAFT" self.distanceFeedRate.addLine('G90') self.distanceFeedRate.addLine('M228') self.distanceFeedRate.addLine('M103') self.distanceFeedRate.addLine('M107') self.distanceFeedRate.addLine( 'M104 S' + str(self.bfbclass.firstWorkT.value)) self.distanceFeedRate.addLine('M551 P' + str(self.firstHeadPrimeRev) + ' S' + str(self.firsHeadPrimeSpeed)) self.distanceFeedRate.addLine('M103 P3200 S1000') self.distanceFeedRate.addLine('M543') if version == "x2": self.distanceFeedRate.addLine('G90') self.distanceFeedRate.addLine('M107') self.distanceFeedRate.addLine( 'M104 S' + str(self.bfbclass.firstWorkT.value)) self.distanceFeedRate.addLine('M551 P' + str(self.firstHeadPrimeRev) + ' S' + str(self.firsHeadPrimeSpeed)) self.distanceFeedRate.addLine('M543') if self.bfbclass.useM227.value == True: self.distanceFeedRate.addLine('M227 P' + str(self.firstHeadPrintPrime) + ' S' + str(self.firstHeadPrintRev)) if self.bfbclass.UseFanEx1.value == True: "Turn ON FAN" self.distanceFeedRate.addLine('M106') else: "Turn OFF FAN" self.distanceFeedRate.addLine('M107') if self.prefaceRepository.setPositioningToAbsolute.value: self.distanceFeedRate.addLine( 'G90') # Set positioning to absolute. if self.prefaceRepository.setUnitsToMillimeters.value: self.distanceFeedRate.addLine('G21') # Set units to millimeters. if self.prefaceRepository.startAtHome.value: self.distanceFeedRate.addLine('G28') # Start at home. if self.prefaceRepository.turnExtruderOffAtStartUp.value: self.distanceFeedRate.addLine('M103') # Turn extruder off. craftTypeName = skeinforge_profile.getCraftTypeName() self.distanceFeedRate.addTagBracketedLine('craftTypeName', craftTypeName) self.distanceFeedRate.addTagBracketedLine( 'decimalPlacesCarried', self.distanceFeedRate.decimalPlacesCarried) self.distanceFeedRate.addTagBracketedLine( 'layerThickness', self.distanceFeedRate.getRounded(self.layerThickness)) if self.prefaceRepository.meta.value: self.distanceFeedRate.addTagBracketedLine( 'meta', self.prefaceRepository.meta.value) self.distanceFeedRate.addTagBracketedLine( 'perimeterWidth', self.distanceFeedRate.getRounded(self.perimeterWidth)) self.distanceFeedRate.addTagBracketedLine( 'profileName', skeinforge_profile.getProfileName(craftTypeName)) self.distanceFeedRate.addTagBracketedLine('procedureDone', 'carve') self.distanceFeedRate.addTagBracketedLine('procedureDone', 'preface') self.distanceFeedRate.addLine( '(</extruderInitialization>)' ) # Initialization is finished, extrusion is starting. self.distanceFeedRate.addLine( '(<extrusion>)' ) # Initialization is finished, extrusion is starting.