230 lines
		
	
	
		
			6.8 KiB
		
	
	
	
		
			HTML
		
	
	
			
		
		
	
	
			230 lines
		
	
	
		
			6.8 KiB
		
	
	
	
		
			HTML
		
	
	
<html><head>
 | 
						|
<title>Extrude Documentation</title>
 | 
						|
 | 
						|
<style type="text/css">
 | 
						|
hr {color: sienna}
 | 
						|
p {margin-left: 20px}
 | 
						|
</style>
 | 
						|
 | 
						|
</head>
 | 
						|
 | 
						|
<body>
 | 
						|
<h1>Extrude Documentation</h1>
 | 
						|
<h2>Introduction</h2>
 | 
						|
Extrude requires pySerial installed for this module to work. If you are using Fedora it is available on yum (run "sudo yum install pyserial").
 | 
						|
<br />
 | 
						|
<br />
 | 
						|
To actually control the reprap requires write access to the serial device, running as root is one way to get that access.
 | 
						|
<br />
 | 
						|
<br />
 | 
						|
<b>Extrude</b> is a python script to display and extrude a gcode file.  It controls the extruder and movement.  It can read linear and helical move commands. It saves a log file with the suffix _log.
 | 
						|
<br>
 | 
						|
<h2>Example</h2>
 | 
						|
<p>This example displays and extrudes a gcode file.  This example is run in a terminal as root in the folder which contains Hollow Square.gcode, and extrude.py.</p>
 | 
						|
<pre><p>
 | 
						|
>>> import reprap.extrude as extrude
 | 
						|
Extrude has been imported.
 | 
						|
The gcode files in this directory that are not log files are the following:
 | 
						|
['Hollow Square.gcode']
 | 
						|
 | 
						|
 | 
						|
>>> extrude.display()
 | 
						|
File Hollow Square.gcode is being displayed.
 | 
						|
reprap.serial = serial.Serial(0, 19200, timeout = 60)
 | 
						|
reprap.cartesian.x.active = True
 | 
						|
reprap.cartesian.y.active = True
 | 
						|
reprap.cartesian.z.active = True
 | 
						|
reprap.extruder.active = True
 | 
						|
reprap.cartesian.x.setNotify()
 | 
						|
reprap.cartesian.y.setNotify()
 | 
						|
reprap.cartesian.z.setNotify()
 | 
						|
reprap.cartesian.x.limit = 2523
 | 
						|
reprap.cartesian.y.limit = 2000
 | 
						|
reprap.cartesian.homeReset( 200, True )
 | 
						|
( GCode generated by March 29,2007 Skeinforge )
 | 
						|
( Extruder Initialization )
 | 
						|
M100 P210
 | 
						|
M103
 | 
						|
reprap.extruder.setMotor(reprap.CMD_REVERSE, 0)
 | 
						|
..
 | 
						|
many lines of gcode and extruder commands
 | 
						|
..
 | 
						|
reprap.cartesian.homeReset( 600, True )
 | 
						|
reprap.cartesian.free()
 | 
						|
The gcode log file is saved as Hollow Square_log.gcode
 | 
						|
 | 
						|
 | 
						|
>>> extrude.displayFile("Hollow Square.gcode")
 | 
						|
File Hollow Square.gcode is being displayed.
 | 
						|
..
 | 
						|
The gcode log file is saved as Hollow Square_log.gcode
 | 
						|
 | 
						|
 | 
						|
>>> extrude.displayFiles(["Hollow Square.gcode"])
 | 
						|
File Hollow Square.gcode is being displayed.
 | 
						|
..
 | 
						|
The gcode log file is saved as Hollow Square_log.gcode
 | 
						|
 | 
						|
 | 
						|
>>> extrude.displayText("
 | 
						|
( GCode generated by March 29,2007 Skeinforge )
 | 
						|
( Extruder Initialization )
 | 
						|
..
 | 
						|
many lines of gcode
 | 
						|
..
 | 
						|
")
 | 
						|
 | 
						|
reprap.serial = serial.Serial(0, 19200, timeout = 60)
 | 
						|
reprap.cartesian.x.active = True
 | 
						|
reprap.cartesian.y.active = True
 | 
						|
reprap.cartesian.z.active = True
 | 
						|
reprap.extruder.active = True
 | 
						|
reprap.cartesian.x.setNotify()
 | 
						|
reprap.cartesian.y.setNotify()
 | 
						|
reprap.cartesian.z.setNotify()
 | 
						|
reprap.cartesian.x.limit = 2523
 | 
						|
reprap.cartesian.y.limit = 2000
 | 
						|
reprap.cartesian.homeReset( 200, True )
 | 
						|
( GCode generated by March 29,2007 Skeinforge )
 | 
						|
( Extruder Initialization )
 | 
						|
M100 P210
 | 
						|
M103
 | 
						|
reprap.extruder.setMotor(reprap.CMD_REVERSE, 0)
 | 
						|
..
 | 
						|
many lines of gcode and extruder commands
 | 
						|
..
 | 
						|
reprap.cartesian.homeReset( 600, True )
 | 
						|
reprap.cartesian.free()
 | 
						|
 | 
						|
 | 
						|
Note: On my system the reprap is not connected, so I get can not connect messages, like:
 | 
						|
 | 
						|
>>> extrude.extrude()
 | 
						|
File Hollow Square.gcode is being extruded.
 | 
						|
reprap.serial = serial.Serial(0, 19200, timeout = 60)
 | 
						|
reprap.cartesian.x.active = True
 | 
						|
reprap.cartesian.y.active = True
 | 
						|
reprap.cartesian.z.active = True
 | 
						|
reprap.extruder.active = True
 | 
						|
reprap.cartesian.x.setNotify()
 | 
						|
Error: Serial timeout
 | 
						|
Error: ACK not recieved
 | 
						|
..
 | 
						|
 | 
						|
On a system where a reprap is connected to the serial port, you should get the following:
 | 
						|
 | 
						|
>>> extrude.extrude()
 | 
						|
File Hollow Square.gcode is being extruded.
 | 
						|
..
 | 
						|
The gcode log file is saved as Hollow Square_log.gcode
 | 
						|
 | 
						|
 | 
						|
>>> extrude.extrudeFile("Hollow Square.gcode")
 | 
						|
File Hollow Square.gcode is being extruded.
 | 
						|
..
 | 
						|
The gcode log file is saved as Hollow Square_log.gcode
 | 
						|
 | 
						|
 | 
						|
>>> extrude.extrudeFiles(["Hollow Square.gcode"])
 | 
						|
File Hollow Square.gcode is being extruded.
 | 
						|
..
 | 
						|
The gcode log file is saved as Hollow Square_log.gcode
 | 
						|
 | 
						|
 | 
						|
>>> extrude.extrudeText("
 | 
						|
( GCode generated by March 29,2007 Skeinforge )
 | 
						|
( Extruder Initialization )
 | 
						|
..
 | 
						|
many lines of gcode
 | 
						|
..
 | 
						|
")
 | 
						|
 | 
						|
reprap.serial = serial.Serial(0, 19200, timeout = 60)
 | 
						|
reprap.cartesian.x.active = True
 | 
						|
reprap.cartesian.y.active = True
 | 
						|
reprap.cartesian.z.active = True
 | 
						|
reprap.extruder.active = True
 | 
						|
reprap.cartesian.x.setNotify()
 | 
						|
reprap.cartesian.y.setNotify()
 | 
						|
reprap.cartesian.z.setNotify()
 | 
						|
reprap.cartesian.x.limit = 2523
 | 
						|
reprap.cartesian.y.limit = 2000
 | 
						|
reprap.cartesian.homeReset( 200, True )
 | 
						|
( GCode generated by March 29,2007 Skeinforge )
 | 
						|
( Extruder Initialization )
 | 
						|
M100 P210
 | 
						|
M103
 | 
						|
reprap.extruder.setMotor(reprap.CMD_REVERSE, 0)
 | 
						|
..
 | 
						|
many lines of gcode and extruder commands
 | 
						|
..
 | 
						|
reprap.cartesian.homeReset( 600, True )
 | 
						|
reprap.cartesian.free()
 | 
						|
 | 
						|
 | 
						|
 | 
						|
</p></pre>
 | 
						|
<br>
 | 
						|
 | 
						|
<h2>Display Commands</h2>
 | 
						|
<h3>display</h3>
 | 
						|
<p>Parse a gcode file and display the commands.<br>
 | 
						|
<b>extrude.display( filename = '' )</b><br>
 | 
						|
<ul><li><i>filename</i> - Name of the file.  If no filename is specified, parse all the gcode files which are not log files in this folder.</li>
 | 
						|
</ul>
 | 
						|
Returns: Nothing<br></p>
 | 
						|
 | 
						|
<h3>displayFile</h3>
 | 
						|
<p>Parse a gcode file and display the commands.<br>
 | 
						|
<b>extrude.displayFile( filename )</b><br>
 | 
						|
<ul><li><i>filename</i> - Name of the file.</li>
 | 
						|
</ul>
 | 
						|
Returns: Nothing<br></p>
 | 
						|
 | 
						|
<h3>displayFiles</h3>
 | 
						|
<p>Parse gcode files and display the commands.<br>
 | 
						|
<b>extrude.displayFiles( filenames )</b><br>
 | 
						|
<ul><li><i>filenames</i> - List of filenames.</li>
 | 
						|
</ul>
 | 
						|
Returns: Nothing<br></p>
 | 
						|
<br>
 | 
						|
 | 
						|
<h3>displayText</h3>
 | 
						|
<p>Parse a gcode text and display the commands.<br>
 | 
						|
<b>extrude.displayText( gcodeText )</b><br>
 | 
						|
<ul><li><i>gcodeText</i> - Gcode text.</li>
 | 
						|
</ul>
 | 
						|
Returns: Gcode text and commands.<br></p>
 | 
						|
 | 
						|
<h2>Extrude Commands</h2>
 | 
						|
<h3>extrude</h3>
 | 
						|
<p>Parse a gcode file and send the commands to the extruder.  This function requires write access to the serial device, running as root is one way to get that access.<br>
 | 
						|
<b>extrude.extrude( filename = '' )</b><br>
 | 
						|
<ul><li><i>filename</i> - Name of the file.  If no filename is specified, parse all the gcode files which are not log files in this folder.</li>
 | 
						|
</ul>
 | 
						|
Returns: Nothing<br></p>
 | 
						|
 | 
						|
<h3>extrudeFile</h3>
 | 
						|
<p>Parse a gcode file and send the commands to the extruder.  This function requires write access to the serial device, running as root is one way to get that access.<br>
 | 
						|
<b>extrude.extrudeFile( filename )</b><br>
 | 
						|
<ul><li><i>filename</i> - Name of the file.</li>
 | 
						|
</ul>
 | 
						|
Returns: Nothing<br></p>
 | 
						|
 | 
						|
<h3>extrudeFiles</h3>
 | 
						|
<p>Parse gcode files and send the commands to the extruder.  This function requires write access to the serial device, running as root is one way to get that access.<br>
 | 
						|
<b>extrude.extrudeFiles( filenames )</b><br>
 | 
						|
<ul><li><i>filenames</i> - List of filenames.</li>
 | 
						|
</ul>
 | 
						|
Returns: Nothing<br></p>
 | 
						|
 | 
						|
<h3>extrudeText</h3>
 | 
						|
<p>Parse a gcode text and send the commands to the extruder.  This function requires write access to the serial device, running as root is one way to get that access.<br>
 | 
						|
<b>extrude.extrudeText( gcodeText )</b><br>
 | 
						|
<ul><li><i>gcodeText</i> - Gcode text.</li>
 | 
						|
</ul>
 | 
						|
Returns: Gcode text and commands.<br></p>
 | 
						|
<br>
 | 
						|
 | 
						|
</body></html>
 |