Пример #1
0
def addToProfileMenu( menu ):
	"Add a profile menu."
	settings.ToolDialog().addPluginToMenu( menu, __file__[ : __file__.rfind( '.' ) ] )
	menu.add_separator()
	directoryPath = skeinforge_profile.getPluginsDirectoryPath()
	pluginFileNames = skeinforge_profile.getPluginFileNames()
	craftTypeName = skeinforge_profile.getCraftTypeName()
	profileRadioVar = settings.Tkinter.StringVar()
	for pluginFileName in pluginFileNames:
		addSubmenus( craftTypeName, menu, pluginFileName, os.path.join( directoryPath, pluginFileName ), profileRadioVar )
Пример #2
0
def addToProfileMenu( profileSelection, profileType, repository ):
	"Add a profile menu."
	pluginFileNames = skeinforge_profile.getPluginFileNames()
	craftTypeName = skeinforge_profile.getCraftTypeName()
	pluginModule = skeinforge_profile.getCraftTypePluginModule()
	profilePluginSettings = settings.getReadRepository( pluginModule.getNewRepository() )
	for pluginFileName in pluginFileNames:
		skeinforge_profile.ProfileTypeMenuRadio().getFromMenuButtonDisplay( profileType, pluginFileName, repository, craftTypeName == pluginFileName )
	for profileName in profilePluginSettings.profileList.value:
		skeinforge_profile.ProfileSelectionMenuRadio().getFromMenuButtonDisplay( profileSelection, profileName, repository, profileName == profilePluginSettings.profileListbox.value )
Пример #3
0
def addToProfileMenu(menu):
    "Add a profile menu."
    settings.ToolDialog().addPluginToMenu(menu, __file__[:__file__.rfind('.')])
    menu.add_separator()
    directoryPath = skeinforge_profile.getPluginsDirectoryPath()
    pluginFileNames = skeinforge_profile.getPluginFileNames()
    craftTypeName = skeinforge_profile.getCraftTypeName()
    profileRadioVar = settings.Tkinter.StringVar()
    for pluginFileName in pluginFileNames:
        addSubmenus(craftTypeName, menu, pluginFileName,
                    os.path.join(directoryPath, pluginFileName),
                    profileRadioVar)
Пример #4
0
def addToProfileMenu(profileSelection, profileType, repository):
    "Add a profile menu."
    pluginFileNames = skeinforge_profile.getPluginFileNames()
    craftTypeName = skeinforge_profile.getCraftTypeName()
    pluginModule = skeinforge_profile.getCraftTypePluginModule()
    profilePluginSettings = settings.getReadRepository(
        pluginModule.getNewRepository())
    for pluginFileName in pluginFileNames:
        skeinforge_profile.ProfileTypeMenuRadio().getFromMenuButtonDisplay(
            profileType, pluginFileName, repository,
            craftTypeName == pluginFileName)
    for profileName in profilePluginSettings.profileList.value:
        skeinforge_profile.ProfileSelectionMenuRadio(
        ).getFromMenuButtonDisplay(
            profileSelection, profileName, repository,
            profileName == profilePluginSettings.profileListbox.value)
Пример #5
0
	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.
Пример #6
0
    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.