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.
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..
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.
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.
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
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
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.
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.
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.
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
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.
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.
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.
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.
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.