<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel>
        <title>gcode senden und Drucken</title>
        <description> Hallo Läute,

ich möchte meinen Mendel90 über ein Cad Programm drucken lassen. Bis zum Slicen komme auch auch ohne Probleme. Allerdings bräuchte ich ein Programm das das Senden an des Drucker übernimmt. Dies soll ohne UI funktionieren, beispielsweise über das CMD mit einem &quot;send xxx.gecode&quot; Befehl.

Kann mir da jemand helfen :S</description>
        <link>https://reprap.org/forum/read.php?336,493769,493769#msg-493769</link>
        <lastBuildDate>Wed, 10 Jun 2026 17:11:50 -0400</lastBuildDate>
        <generator>Phorum 5.2.23</generator>
        <item>
            <guid>https://reprap.org/forum/read.php?336,493769,494928#msg-494928</guid>
            <title>Re: gcode senden und Drucken</title>
            <link>https://reprap.org/forum/read.php?336,493769,494928#msg-494928</link>
            <description><![CDATA[ Hallo <br />
zuerst mal hoffe ich das du ein wenig python kannst. Ansonsten wird das erstmal nix . schon mal über die pronsole nachgedacht. War immer bei der 1. Hostsoftware dabei  [<a href="http://www.pronterface.com" target="_blank"  rel="nofollow">www.pronterface.com</a>].<br />
<br />
Du benötigst python am besten 2.7 oder 2.6 und ganz wichtig lad dir das pyserial modul runter :<br />
[<a href="http://pyserial.sourceforge.net/" target="_blank"  rel="nofollow">pyserial.sourceforge.net</a>]<br />
<br />
Die haben auch sehr leichte Übungen auf ihrer Seite.<br />
<br />
Da dein Programm wahrscheinlich nicht groß wird brauchst du keine Klassen zu verwenden. Funktionen sind jedoch meiner Meinung nach immer zu empfehlen.<br />
<br />
<pre class="bbcode">
import serial
import time 
Hardware = 0
CommandNumber = 0

def connect():
    Hardware = serial.Serial("COM5",19200,timeout = 2) #Definieren des USB ports
    Hardware.close()
    Hardware.open() # Verbindung herstellen
    time.sleep(1)
    if Hardware.isOpen() == True:
        print "Verbindung erfolgreich"
        return True
    else:
        print "Verbindung fehlgeschlagen"
        Hardware.close()
        return False

def disconnect():
    Hardware.close()

def _checksum(self, command):
    return reduce(lambda x, y: x ^ y, map(ord, command))
        
def sendCommand(command):
    prefix = "N" + str(CommandNumber) + " " + command 
    command = prefix + "*" + str(_checksum(prefix))        
    Hardware.write(command + "\n")
    CommandNumber +=1
    

#Programm
if connect() == True:
    i = 0
    while i &lt; 100:
        sendCommand("G28")
        i+=1</pre>
<br />
So in die richtung würde ich gehen. Das ist nicht perfekt ,ich habs auch nicht getestet -aber es ist ein Denkansatz.<br />
<br />
Du musst wissen das ein Drucker vor jedem Befehl eine Nummer haben will . Nach dem Datenempfang bestätigt der Drucker mit einem "OK Nummer... " oder "Resend Nummer..." diese beiden Bedingungen müssen da noch mit rein.<br />
<br />
MFG UEBE]]></description>
            <dc:creator>Uebe</dc:creator>
            <category>Projekte</category>
            <pubDate>Thu, 09 Apr 2015 17:11:52 -0400</pubDate>
        </item>
        <item>
            <guid>https://reprap.org/forum/read.php?336,493769,494775#msg-494775</guid>
            <title>Re: gcode senden und Drucken</title>
            <link>https://reprap.org/forum/read.php?336,493769,494775#msg-494775</link>
            <description><![CDATA[ @Uebe <br />
<br />
Irgendwie komme ich damit nicht weiter und bin langsam am verzweifeln :(<br />
<br />
Könntest du doch bitte nochmal für dummer erklären, was ich mit dem quellcode machen muss um mit dem drucker zu kommunizieren? -.-]]></description>
            <dc:creator>DerTieja</dc:creator>
            <category>Projekte</category>
            <pubDate>Thu, 09 Apr 2015 10:07:02 -0400</pubDate>
        </item>
        <item>
            <guid>https://reprap.org/forum/read.php?336,493769,493828#msg-493828</guid>
            <title>Re: gcode senden und Drucken</title>
            <link>https://reprap.org/forum/read.php?336,493769,493828#msg-493828</link>
            <description><![CDATA[ Siehe <a href="http://forums.reprap.org/read.php?156,61227,61227#msg-61227" target="_blank"  rel="nofollow">HIER NACH</a>.]]></description>
            <dc:creator>rhmorrison</dc:creator>
            <category>Projekte</category>
            <pubDate>Tue, 07 Apr 2015 08:45:14 -0400</pubDate>
        </item>
        <item>
            <guid>https://reprap.org/forum/read.php?336,493769,493804#msg-493804</guid>
            <title>Re: gcode senden und Drucken</title>
            <link>https://reprap.org/forum/read.php?336,493769,493804#msg-493804</link>
            <description><![CDATA[ Oh cool Danke Uebe!!!!!<br />
<br />
ich bin zwar nicht so wirklich top im Programmieren aber ich denke damit komme ich gut weiter :)-D<br />
<br />
Reicht das Anpassen (also können die beiden Python Files alleine arbeiten) oder muss ich die mit anderen zusammen ausführen?]]></description>
            <dc:creator>DerTieja</dc:creator>
            <category>Projekte</category>
            <pubDate>Tue, 07 Apr 2015 07:42:23 -0400</pubDate>
        </item>
        <item>
            <guid>https://reprap.org/forum/read.php?336,493769,493802#msg-493802</guid>
            <title>Re: gcode senden und Drucken</title>
            <link>https://reprap.org/forum/read.php?336,493769,493802#msg-493802</link>
            <description><![CDATA[ mit Python hab ich schon Programme geschrieben die Problemlos jeden Befehl an den Drucker übermitteln können. <br />
<br />
<pre class="bbcode">

def connect(self):
          try:
               if self.HARDWARE == 0:
                    import serial
                    
                    self.HARDWARE= serial.Serial() 
                    self.HARDWARE.baudrate = 115200
                    self.HARDWARE.timeout = 2.0
                    
                    import Config
                    self.HARDWARE.port = "COM" + str(Config.COM_Port)
                    print "COM" + str(Config.COM_Port)
                    self.HARDWARE.close()
                    self.HARDWARE.open()
                    i = 1
                    while i &gt; 0:
                         if self.HARDWARE.isOpen() == True:
                              i = 0
                              self.Title.config(bg = "#85FF0C")
                              self.Title.config(fg = "black")
                              self.btnConnect.config(image = self.imgDisconnect)
                         else:
                              i += 1
                         if i == 10:
                              print "ERROR TIMEOUT"
                              i = 0
                              self.HARDWARE.close()
                              self.HARDWARE = 0
                                   
               
          except:
               self.disconnect()
               
          if not self.HARDWARE == 0:
               i = 1
               while i &gt; 0:
                    i += 1
                    if self.HARDWARE.isOpen() == True:
                         Data = str(self.HARDWARE.readline())
                         if "wait" in Data:
                              i = 0
                              
                    if i == 20:
                         print "ERROR TIMEOUT"
                         i = 0
                         self.HARDWARE.close()
                         self.HARDWARE = 0
               import time
               time.sleep(0.5)
               self.COMMAND.append("M111")</pre>
<br />
<pre class="bbcode">
     def _checksum(self, command):
          return reduce(lambda x, y: x ^ y, map(ord, command))

     def send_Command(self,command):
          
          if not self.HARDWARE == 0:
               #print ("0:",command)
               if command == "ZOFFSET":
                    self.ZOFFSET = 11
                    self.COMMAND.remove(self.COMMAND[0])
                    print ("ZOFFSET",self.ZOFFSET )
                    self.HAS_HOME = True
                    return 
               if command == "Eilvorschub":
                    #print "Eilvorschub ---------------------------" 
                    self.EV = 1
                    self.COMMAND.remove(self.COMMAND[0])
                    return 
               if command == "STOPEilvorschub":
                    self.EV = 0
                    self.COMMAND.remove(self.COMMAND[0])
                    #print "STOPEilvorschub------------------------" 
                    return 
               if "X" in command:
                    if "Y" in command:
                         if self.EV == 1:
                              command += " F1200"
                         else:
                              command += " F" +str(self.Vorschub)
               prefix = "N" + str(self.COnum) + " " + command 
               command = prefix + "*" + str(self._checksum(prefix))
               #print command
               self.HARDWARE.write(command + "\n")
               
               self.SendMode = 1
               return</pre>
<br />
Der Quellcode steht jetzt natürlich zusammenhangslos da aber wenn du ihn leicht modifizierst funktioniert er .]]></description>
            <dc:creator>Uebe</dc:creator>
            <category>Projekte</category>
            <pubDate>Tue, 07 Apr 2015 07:39:14 -0400</pubDate>
        </item>
        <item>
            <guid>https://reprap.org/forum/read.php?336,493769,493795#msg-493795</guid>
            <title>Re: gcode senden und Drucken</title>
            <link>https://reprap.org/forum/read.php?336,493769,493795#msg-493795</link>
            <description><![CDATA[ Das ist der Java Code mit dem ich zurzeit versuche eigene Befehle zu übertragen. (Momentan nur ein einzelner Befehl, später soll hier der gCode eingelegen werden.) Es sieht zwar so aus, als würde er sich verbinden, allerdings führt er den Befehl nicht aus...<br />
<br />
import jssc.SerialPort;<br />
import jssc.SerialPortException;<br />
import jssc.SerialPortList;<br />
<br />
public class StartClass<br />
{<br />
	static String COM_X = "COM10";<br />
	static int baud = 250000;	<br />
	static SerialPort serialPort;<br />
	<br />
	public static void main(String[] args) throws Exception<br />
	{	<br />
		getActiveComPorts();<br />
		serialPort = new SerialPort(COM_X);<br />
		serialPort.openPort();<br />
		serialPort.setParams(baud, 8, 1, 0);<br />
		System.out.println("Port Open: " + serialPort.isOpened());<br />
		String[] potList_Pfad = SerialPortList.getPortNames(COM_X);<br />
				for(String port: potList_Pfad)<br />
				{<br />
					System.out.println(port);<br />
				}<br />
	}<br />
	<br />
	public static String[] getActiveComPorts()<br />
	{<br />
		String[] potList = SerialPortList.getPortNames();<br />
		for(String port: potList)<br />
		{<br />
			System.out.println(port);<br />
		}<br />
		return potList;<br />
	}<br />
	<br />
	public static void sendToPrinter(){<br />
		try<br />
		{<br />
			//G28 -&gt; Homeposition<br />
			//M106 -&gt; Fen on<br />
			String sTemp = "M106";<br />
			serialPort.writeString(sTemp);<br />
			if (!serialPort.writeString(sTemp))<br />
				System.out.println(sTemp +" konnte nicht gesendet werden");	<br />
			if (serialPort.writeString(sTemp))<br />
				System.out.println(sTemp+" wurde gesendet");<br />
		}<br />
		catch (SerialPortException e)<br />
		{<br />
			e.printStackTrace();<br />
		}<br />
	}<br />
}<br />
<br />
<br />
Ausgabe:<br />
COM3<br />
COM4<br />
COM5<br />
COM10<br />
Port Open: true<br />
M106 wurde gesendet]]></description>
            <dc:creator>DerTieja</dc:creator>
            <category>Projekte</category>
            <pubDate>Tue, 07 Apr 2015 07:29:19 -0400</pubDate>
        </item>
        <item>
            <guid>https://reprap.org/forum/read.php?336,493769,493769#msg-493769</guid>
            <title>gcode senden und Drucken</title>
            <link>https://reprap.org/forum/read.php?336,493769,493769#msg-493769</link>
            <description><![CDATA[ Hallo Läute,<br />
<br />
ich möchte meinen Mendel90 über ein Cad Programm drucken lassen. Bis zum Slicen komme auch auch ohne Probleme. Allerdings bräuchte ich ein Programm das das Senden an des Drucker übernimmt. Dies soll ohne UI funktionieren, beispielsweise über das CMD mit einem "send xxx.gecode" Befehl.<br />
<br />
Kann mir da jemand helfen :S]]></description>
            <dc:creator>DerTieja</dc:creator>
            <category>Projekte</category>
            <pubDate>Tue, 07 Apr 2015 06:07:36 -0400</pubDate>
        </item>
    </channel>
</rss>
