Forum: PC-Programmierung Software zur Ansteuerung Plotter / CNC


von KptnCrunch (Gast)


Lesenswert?

Hallo allerseits,

bisher habe ich mir einen kleinen Plotter aufgebaut. Durch simple 
Eingabe von X bzw Y Koordinaten zeichnet er mir eine Bahn. Außerdem kann 
er selbstständig Kreise zeichnen.

Zeichnen reiner BitMap-Grafiken ist einfach.

Das Problem was ich habe ist, dass ich gerne Vektorgrafiken bzw 
Schriften zeichnen möchten. Um das Rad nicht neu erfinden zu müssen bin 
ich derzeit auf der Suche nach einer Art Treiber, am besten eine C# oÄ 
Klasse, die mir die zu zeichnenden Koordinaten als X/Y Wert ausgibt, 
sodass ich diesen an meine Steuerung übersenden kann.

Wie gesagt, was ich suche ist kein vollwertiges Programm, das dies 
erledigt, sondern eine Klasse, die mit Vektorformaten klarkommt (evtl. 
svg, dwg dfx, wmf...) da bin ich flexibel. Soll aber nicht bedeuten dass 
ich kein vollwertiges Prgm ablehnen würde.

Ich hoffe dies gibt es bereits im homebrew CNC-BEreich oder sogar für 
Plotter.

Vielen Dank soweit.

von DirkB (Gast)


Lesenswert?

Die Sprache für Plotter ist HP-GL.

Wenn dein Plotter die kann, ist es kein Problem mehr die anderen Formate 
auszugeben. Es gibt/gab eine Software PrintGL, die auch normales HP-GL 
in einfaches HP-GL (nur Stift bewegen und PenUp PenDown) umwandelt..

von KptnCrunch (Gast)


Lesenswert?

Hey, Vielen Dank für die äußerst schnelle Rückmeldung.

Also mein Plotter ist recht dumm, der kann garnichts, da eig kein 
richtiger Plotter, sondern nur XYZ-Positionierer, mit dem Ziel Plotten 
zu können.

Aber die Sache mit Stift bewegen und PenUp PenDown hört sich schonmal 
gut an.

Ich glaub das ist was ich suche, vorrausgesetzt ich interpretiere 
richtig. Ich möchte nur ein Prgm bzw Klasse, welche sagt, fahrt (x;y;z) 
stift runter, fahr..... usw.

von KptnCrunch (Gast)


Lesenswert?

Ich kann leider nicht editieren, aber HP-GL hört sich sehr gut an, 
Danke!

von DirkB (Gast)


Lesenswert?

Schau mal nach hp2xx Die steht unter GPL und wandelt HP-GL in 
verschiedene Grafikformate(Vektor und Bitmap). Dazu wird das ganze 
erstmal in einfache Vektoren zerlegt.

Vielleicht kannst du da ansetzen.

Eine Linie von P1 nach P2 zeichnen kann dein Plotter doch.

Viel Spaß dabei.

von Verwirrter Anfänger (Gast)


Lesenswert?

Du willst zwar nichts fertiges, aber ich würde deinen Plotter vielleicht 
doch etwas intelligenter machen, zumindest Kreise und ähnliches. Ich 
kann mir vorstellen, dass es recht aufwendig ist, wenn du für einen 
Kreisbogen alle X/Y Koordinaten einzelnen übertragen musst. (Passt auch 
irgendwie nicht zu einem Plotter)

Ich probiere gerade GRBL aus, das ist eine CNC Firmware für AVR die 
G-Code versteht. Es gibt zwar noch ein paar Macken, aber bisher gefällt 
mir die ganz gut. Da das ganze Open Source ist, könntest du da ja mal in 
den Code gucken.

http://dank.bengler.no/-/page/show/5470_grbl?ref=mst

von Crunch (Gast)


Lesenswert?

Hi,

das Problem ist, dass ich keine Selbstbau-Hardware einsetze, sondern 
proprietäre. Die Steuerung kann man bedingt programmieren. Zurzeit 
schreibe ich ein ServerSocket, welche eine TCP-Kommunikation erlaubt. 
Sollte dies dann Laufen, werde ich einen Clienten in irgendeiner 
PC-Sprache erstellen, der vorhandene Daten aufbereitet an die Steuerung 
sendet.

Da ich die ZEit aber nicht habe geometrische Figuren auszurechnen, wäre 
es für mich am coolsten, die Geometrien (ausgedrückt durch Vektoren) 
schon als reine x;y Koordinaten zu bekommen. Die Genauigkeit ist da eher 
hintenangestellt.
LEtztendlich wird auch ein HighEnd Plotter irgendwo seine Daten 
interpolieren und den Druck gerastert aufbauen. Vllt so gut, dass 
unsichtbar für das menschl Auge.

DirkB hatte einfaches HP-GL erwähnt, also x,y PenUp/Down. Kennt jemand 
eiin Programm welches solchen einfachen HPGL-Code ausgibt?

Viele Grüße

von Karl H. (kbuchegg)


Lesenswert?

Crunch schrieb:

> LEtztendlich wird auch ein HighEnd Plotter irgendwo seine Daten
> interpolieren und den Druck gerastert aufbauen. Vllt so gut, dass
> unsichtbar für das menschl Auge.

Such mal nach "Bresenham Algorithmus"

> DirkB hatte einfaches HP-GL erwähnt, also x,y PenUp/Down. Kennt jemand
> eiin Programm welches solchen einfachen HPGL-Code ausgibt?

HPGL ist ein ASCII Format. Zur Not kann man sowas auch mit einem 
Texteditor erzeugen für erste Tests.

von Crunch (Gast)


Lesenswert?

Ich suche ein Prgm dass aus einem Vektorformat eine HPGL oÄ Datei 
erstellt, die ausschließlich aus linearen VEktorzügen besteht, sprich 
einem Vieleck anstatt einem Kreis.

von Ich (Gast)


Lesenswert?

Suche dir mal einen Druckertreiber für einen HP Plotter und installiere 
den mal. Als Schnittstelle dann einfach "File" angeben. Wenn du jetzt 
über diesen Treiber druckst, landen alle Befehle in der Datei, das 
sollte doch reichen.

von Crunch (Gast)


Angehängte Dateien:

Lesenswert?

Hi,

was ich suche ist eine Software, die mir eine Schriftart als Vektoren 
ausgibt, allerdings ohne jegliche Kreisfunktionen, Splines oÄ. Also 
ausschließlich lin Vektoren.

Zu sehen in angehangener Bilddatei.

Viele Grüße

von Karl H. (kbuchegg)


Lesenswert?

Sag doch gleich, dass du über Fonts reden willst!

Plotter werden benutzt um Zeichnungen, Pläne u dgl. auszugeben. Also 
Zeichnungen, die aus Linien, Polygonen und Bögen aufgebaut sind. Und 
nicht aus Buchstaben aus einem True Type Font.

Es gibt Codebeispiele im Netz, wie man True Type Fonts in Linen auflöst.

Beim Rest bleibe ich nach wie vor dabei: Du solltest deinem Plotter ein 
wenig Eigenintelligenz verpassen. So schwer ist das nicht.

von Michael_ (Gast)


Lesenswert?

Vektor-Zeichenprogramme gibt es doch wie Sand am Meer. Das bekannteste 
ist wohl Corel-Draw, was gern zum Schilder-Fräsen genommen wird.
Da gibt es auch massenhaft geeignete Schriften.

von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

Du solltest deinem Plotter einen HP/GL-Interpreter spendieren und dann 
z.B. aus InkScape, CorelDraw oder Adobe Illustrator (mit HPGL-Plugin) 
die Daten exportieren. Damit hast du eine funktionierende Schnittstelle 
zu allen gängigen (Vektor-) Grafikformaten.
HP/GL (nicht HP/GL2!) hat nur eine Handvoll Kommandos im ASCII-Format, 
das sollte man evtl. sogar auf einem ATMega hinbekommen:

- PU pen up
- PD pen down
- PR x y posit relative
- PA x y posit absolute
- SP p select pen
- IN init ... plus einige numerischen Parameter.

Die Approxximation von Kurven zu Geraden-Stückchen und die Umwandlung 
von Text nach Pfaden macht dann die exportierende Software und ist nicht 
dein Problem.

von spess53 (Gast)


Lesenswert?


von DirkB (Gast)


Lesenswert?

GAnz sotrivial ist HP/GL nicht.
HP/GL kann durchaus auch Rechtecke, Kreise, Kreissegmente und Texte 
(Label) schreiben.

HP/GL2 ist mehr für Rasterdrucker gedacht.

von Karl H. (kbuchegg)


Lesenswert?

DirkB schrieb:
> GAnz sotrivial ist HP/GL nicht.
> HP/GL kann durchaus auch Rechtecke, Kreise, Kreissegmente und Texte
> (Label) schreiben.

Grundsätzlich richtig.
Nur nutzen das die wenigsten Anwendungsprogramme auch aus. Für den Fall 
des Falles (allgemeiner Plottersupport) haben sie meistens sowieso eine 
Emulation der Funktionalität mit und wenn es auf 
Übertragungsgeschwindigkeit nicht ankommt, dann emulieren sie meistens 
lieber selber. Denn dann kriegen sie auch 100% das richtige Ergebnis.

Mit den oben angeführten HP/GL Befehlen kann man zwar unter Umständen 
nicht jedes HPGL plotten, aber das meiste wird einwandfrei gehen. Und 
wenn man drauf kommt, dass ein Befehl fehlt, dann rüstet man den eben 
nach. Wenn man seine HP/GL Engine einigermassen vernünftig aufgebaut 
hat, ist das ja kein Problem.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.