Plotter HP 7574 mit einem CBM 4032 ansteuern

  • Hier möchte ich euch ein kleines Projekt vorstellen, in welchem ich den Plotter HP 7574 mit einem CBM 4032 ansteuere. Hintergrund ist, dass ich (momentan) keinen anderen passenden Rechner habe (der HP 85B, an den der Plotter gehört, funktioniert leider nicht).

    Der CBM 4032 bietet zum Glück einen IEEE Anschluss an der CBM 2040 Floppy in Standard-Form (nicht als Platinenstecker) wo das Plotterkabel dran passt (bei diesem Projekt bleibt der Lötkolben kalt!) also steck ich mal alles zusammen und schalte dann schrittweise Rechner, Floppy und Plotter ein. Rechner und Floppy funktionieren einwandfrei, Plotter muss ich erst ansteuern. Standardadresse ist 5, die kann man am Plotter einstellen. Ab da ist es einfach: OPEN 5,5 öffnet einen Kanal und dann kann ich HPGL-Kommandos mit Print#5 an den Plotter senden. Hier die Bilder von meinem Aufbau und dem Ergebnis. Ach ja, der Code ist gar nicht lang - passt auf eine Bildschrimseite.

  • Hat der HP 7574 standardmässig ein IEEE-Interface? Ich dachte, der wird normalerweise über RS232 abgesteuert.

    Die HP Geräte haben i.d.R. einen IEEE 4888 Anschluß. Das Interface heißt ja auch HP-IB (HP Interface Bus). Bei Messgeräten und Auswertesystemen ist der Bus sehr verbreitet. Da sich bei PCs die einfachere, billige RS232 Schnittstelle durchgesetzt hat, wurden einige HP Plotter auch damit angeboten.

  • Das Programm oben ist nett. Muß man erstmal draufkommen, daß man die Koordinaten einfach so durch vertauschen um 90 Grad weiterwandern lassen kann.


    Habe das mal noch bißchen weitergebastelt, ist dann nicht mehr druckerfähig, aber gibt einen hübschen Effekt.



    SCREEN_W50 ist die Bildschirmmitte für X (width 50%). Analog sind W10 10% von Xmax.

  • Die Grundidee habe ich aus einem Buch: Spiele mit Computergrafik. Die Beispiele in dem Buch sind für den C64 mit Simons Basic. Ich habe nur die Auflösung angepasst, die unterschiedliche Skalierung für x und y gleich gemacht und das Programm etwas vereinfacht, weil Simons Basic keine Linien vom aktuellen Ausgangspunkt ziehen kann (da muss man also immer beide Koordinaten angeben), ein Feature das ein Plotter schon von seiner Bauart her beherrscht.


    Gruß, Jochen

  • So, nun habe ich ein Programm fertig, dass HPGL Dateien liest und sie an den Plotter sendet. Als Beispiel habe ich das Space-Shuttle "Columbia" genommen. Wenn jemand noch andere schöne PLT-Dateien hat - immer her damit, ich hätte gern etwas Auswahl. Gesehen habe ich noch eine Dampfmaschine (Adler Steam Engine) und ein Anime-Motiv. Google liefert hauptsächlich Vorlagen für Schneideplotter (bei der Columbia bleibt da nur noch Konfetti übrig!), die sind mir nicht detailliert genug.


    Gruß, Jochen


    Edit: die Adler Steam Locomotive habe ich jetzt als plt, nachdem ich sie von dxf umgewandelt habe,

  • Auf dieser Web-Site https://dwgmodels.com/ gibt es neben Bezahl DWGs auch viele freie DWGs.

    Die kann man leicht in HPGL umwandeln (z.B. mit AutoCAD oder Corel Draw).

    Zum Bleistift passenger-drone um sich schon mal an die Zukunft zu gewöhnen...

    Beim aktuellen Wetter vielleicht für Selbermacher besser noch: cocktails.

  • Auf dieser Web-Site https://dwgmodels.com/ gibt es neben Bezahl DWGs auch viele freie DWGs.

    Die kann man leicht in HPGL umwandeln (z.B. mit AutoCAD oder Corel Draw).

    Das klappt zwar, leider sind die so erzeugten Dateien für den CBM 4032 zu groß, als Beispiel habe ich die Datei cable-stayed-bridges umgewandelt: die Plot-Datei ist 1,12 MB groß und enthält über 70.000 Plot-Befehle.

    Die Datei für die Adler Steam Lokomotive ist mit 360 KB immer noch so groß, dass ich sie auf 3 Disketten aufteilen muss, die enthält über 30.000 Plot-Befehle und der Plot dauert Stunden. Die Umwandlung scheint sehr ineffiziente PLT-Dateien zu erzeugen, so habe ich bei der manuellen Analyse Stellen gefunden, wo (bei konstanter y Position) für x die Werte 5023, 5025 und 5027 nacheinander (alles mit PD) angefahren werden. Bei 30.000 Zeilen ist eine Optimierung von Hand aussichtslos, mal sehen, ob ich ein Programm hin bekomme, das gute Ergebnisse liefert.


    Gruß, Jochen

  • Wie sieht denn so eine PLT Datei intern aus ? Da stehen doch bestimmt schlicht die Kommandos "hoch","runter" (für den Stift) und dann die Koordinaten drin und bestenfalls noch ein kleiner Header, wenn überhaupt.

    Da sollten sich doch a.) diese überlappenden Koordinaten rausrechnen lassen und vor allem b.) kann man die Datei doch dann an jeder beliebigen Stelle in jede beliebige Dateigröße splitten lassen, sinnvollerweise natürlich nach einem "hoch" Kommando, so daß man dann 4x 300kByte Dateien hat und die natürlich einzeln schicken muß.

  • ThoralfAsmussen : richtig, das sind reine ASCII-Dateien und leicht verständlich. Splitten geht, aber die CBM 2040 kann pro Diskette nur 166kB speichern, das sind dann im Schnitt so 12.000 - 14.000 Plotter-Kommandos. Dafür braucht der Plotter dann etwa 40 Minuten. Wäre ja noch egal, wenn ich das anstoßen kann und am nächsten Morgen ist der Plot fertig, aber daneben sitzen und auf den nächsten Diskettenwechsel warten ist irgendwie nicht so spannend. Lösung a will ich mal probieren, wenn ich auf maximal 2 Disketten komme, ginge das ja - die CBM 2040 ist ja ein Doppellaufwerk.


    Im Anhang habe ich mal die Adler-Steam-Lokomotive beigelegt.

  • Mit einem Doppellaufwerk kannst du doch theoretisch beliebig viele Disketten nacheinander ohne Wartezeit durchnudeln.

    Immer die nächste Disk in das gerade nicht benutzte Laufwerk ...

  • Also ich habe mir das mal zeichnen lassen und dabei sieht man, daß da nicht nur manche Linien nicht komplett durchgezogen werden, vor allem besteht die Datei aus jeder Menge "sehr schöner Nieten", die mit besonderer Sorgfalt und sehr aufwendig gezeichnet werden. Es gibt noch ein paar andere Kleinigkeiten die aufwendig aufgehübscht sind, aber ich vermute, wenn man die "Nieten" da rausbekommt, kommt das ganze dann so langsam in eine Richtung, wo Dateigröße und vor allem Zeichenzeit passen könnten. So wie das jetzt ist, dauert das vmtl. auch mit einem extrem schnellen Plotter ewig.


    Bild zum Angucken, Ausschnitt in 60% der Originalgröße in Pixeln


  • Ja, ich habe auch schon festgestellt, dass manche dieser Dateien nicht so optimal sind.

    Teilweise sind sie wohl von 3D CAD Modellen abgeleitet und diese Programme sind heute nicht mehr gut auf 2D Vektordaten optimiert wie damals z.B. AutoCAD 2 und 3. AutoCAD z.B. hatte früher eine "optimieren" Funktion beim Plotten, die doppelte Linien entfernte und auch die Linien sortierte um die Leerfahrten zu minimieren. Außerdem wurden Flächen entfernt, die unsichtbar waren.

    Heute sind beispielsweise sind aus einer Frontansicht-Projektion eines rechteckigen Kastens die Außenkanten doppelt enthalten (einmal Vorderseite, einmal Rückseite etc.).

    Ich habe mir für Corel Draw 16 ein Makro geschrieben, das doppelte Linien sucht und eliminiert. Dauert aber auch recht lang, da alles mit allem verglichen wird (Zeit ~= N^2). Das hilft aber zumindest bei dem Problem der doppelten Linien; kurze Linienstücke etc. werden damit aber nicht beseitigt.

    Manchmal geht es tatsächlich schneller, Teile manuell zu löschen und ggf. vereinfacht nachzuzeichnen.


    Ich muss mal schauen, aus meiner "eigenen Feder" habe ich ein paar HPGL Dateien, die schnell plotten und ggf. nur auf die Plottergröße angepasst werden müssen (IP Befehl am Anfang). Das letzte, was ich gezeichnet und auf dem HP 7550 ausgegeben habe, war eine Porsche Spyder 3-Seitenansicht.


    Anbei noch anderes technisches Gerät, hat zwar auch viele kurze Linienfitzelchen, ist aber < 100 kB gross.

  • So wie das jetzt ist, dauert das vmtl. auch mit einem extrem schnellen Plotter ewig.

    Der 7475 braucht für das gesamte Bild 110 Minuten - die beiden Diskettenwechsel fallen da nicht mehr ins Gewicht. Das mit den Nieten ist mir auch aufgefallen, aber erst mit Deinem Detailbild ist mir klar warum. Für so feine Details ist mein Filzstift zu dick...



    Anbei noch anderes technisches Gerät, hat zwar auch viele kurze Linienfitzelchen, ist aber < 100 kB gross.

    Danke, die schaue ich mir morgen mal an!

  • ... noch ein paar kleinere HPGL Dateien - beim "Adler" habe ich die Schatten an den Nieten weggenommen...

  • Danke Martin,


    genau so was habe ich gesucht, um eine kleine Auswahl von Bildern zu haben, die ich plotten kann. Bei Deinen Bildern (z.B. der Porsche) zeigt sich dann auch, dass meine Filzstift-Lösung noch nicht optimal ist, ich brauche etwas mit kleinerer Strichbreite. Andere Bilder wie der A320 oder der Tektronix-Wizard sehen damit ganz gut aus. Ich werde noch ein bisschen experimentieren...


    Hier meine Ergebnisse:

  • Das sieht ja schon ganz gut aus und mit den kleinere Dateien kann man auch mal auf einer Ausstellung was zum mitnehmen plotten.

    Das Papier spielt auch eine große Rolle. Normales Kopier/Schreibpapier ist etwas zu saugfähig. Auch die Original HP Stifte lassen damit am Linienanfang oder -ende gerne mal einen Farbklecks weil sie dort kurzzeitig stehenbleiben und das Papier die Farbe saugt.

    Besser sind glattere ("gestrichene") Papier oder auch klassisches Transparentpapier (Zeichenpapier, nicht Overheadfolien, dafür braucht man andere Stifte).


    Der Porsche sollte eigentlich hauptsächlich durchgezogene Linien haben - nur die Verdeckstreben sind strichliert.

    Der Tektronix Wizard war ursprünglich eine Demo-Plotdatei für die grünen Tektronix 40xx Terminals - war wohl mal das Tektronix Maskottchen.


    Martin

  • Hallo Martin,

    ich musste die Dateien etwas anpassen. Häufige Stiftwechsel verträgt meine "Filzstiftlösung" nicht - wenn die Stifte etwas kippen, kann der Plotter sie nicht mehr in das Karussell setzen und bleibt stehen. Deshalb habe ich die SP-Anweisungen aus Deinen Dateien herausgenommen und die LT-Anweisungen gleich mit (dachte mir die Strichstärke ist ja eh immer gleich stark). An gestrichelte Linien habe ich nicht gedacht und deshalb in der Porsche-Datei wohl zuviel weg genommen.

    Der Tektronix Wizard sieht bestimmt gut aus auf meinem 4006-Terminal - das leider noch mit defekter Logik in seiner Ecke steht. Ich nehme es zur diesjährigen CC mit und hoffe, dass mit der Hilfe der anderen die Reparatur gelingt. Auch die anderen Plot-Dateien wären schöne Demos für das Teil (muss man nur die Skalierung anpassen, und die Ansteuerung ist ziemlich eigen).

    Auf jeden Fall noch mal vielen Dank für die Dateien.


    Gruß, Jochen

  • Du willst sowas machen? Airbus A320 auf dem 1520?




    Das ist aber ein PC-Programm und ich steuere den 1520 direkt vom PC über einen ZoomFloppy USB-Adapter. Das wird dir also nicht weiterhelfen, wenn du den 1520 vom C64 aus ansteuern willst.


    Was du mit "anordnen" meist, ist mir aber nicht klar. Beispielprogramme stehen im Handbuch des 1520.

    PU und PD sind HPGL-Befehle. Der 1520 verwendet M (Move) und D (Draw) über Sekundäradresse 1.


    Leider verwendet der 1520 unterschiedliche Sekundäradressen für Zeichnen oder Stiftwahl. Deswegen kann man HPGL-Druckdateien nicht einfach konvertieren und an den 1520 schicken. Ich frage mich, welcher IEC-Bus-Fetischist sich das ausgedacht hat. :fp:

  • Denkfehler meinerseits. Ich habe mir das Programmierhandbuch des HP heruntergeladen. Werde dies mal durcharbeiten. Letztlich ist es doch so, dass man die Anweisungen als Strings in DATA-Zeilen unterbringen kann. Ich muss aber viel lesen und lernen und vor allem den Plotter am 3032 testen.