Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi 100tel Millimeter dicke Linie drucken (https://www.delphipraxis.net/41969-100tel-millimeter-dicke-linie-drucken.html)

semo 20. Mär 2005 09:56

Re: 100tel Millimeter dicke Linie drucken
 
ich habe nochmal nachgefragt und folgende Antwort bekommen:
Zitat:

Tiefe und Bschussdauer können Sie vergessen,
wie bereits mehrfach erwähnt, unterscheidet der Treiber
des Lasers ob es sich um Bildpunkte oder Vektorlinien
handelt.

Wenn als Rand des Schildes (aber auch innerhalb) eine
Vektorlinie angegeben ist, die das im Treiber festgelegte
Rot als Farbton besitzt und auch die entsprechende
Linienstärke hat, dann fährt der Laser mit einer entsprechenden
Leistung (Schneidleistung) die Koordinaten dieser Linie ab
und schneidet damit das Material.

Im bisherigen Fall der roten Linie, die wir schon im Programm
angegeben haben, wird anscheinend keine Vektorlinie
sondern nur Bildpunkte erkannt und somit werden diese
Linien nur als Bildpunkte und damit wie eine Schrift behandelt.

Das ist daran zu erkennen, daß der Laser auch die Linie
Zeile für Zeile abfährt und lasert, während im richtigen Falle,
erst die Schrift und das Logo gelasert werden und dann
in einem 2.Arbeitsgang die Linie als Vektorlinie nochmals
abgefahren wird. Der Lasertreiber macht also 2 Vorgänge,
zuerst das Druckbild lasern und dann im 2.Arbeitsgang das
Schild an der Vektorlinie schneiden.


Harald 20. Mär 2005 10:12

Re: 100tel Millimeter dicke Linie drucken
 
Hast Du schon mal versucht, vom Hersteller des Gerätes eine Beschreibung der Befehle zu erhalten? Vielleicht hat er spezielle ...

Gruß
Harald

semo 20. Mär 2005 18:58

Re: 100tel Millimeter dicke Linie drucken
 
Auf Nachfrage habe ich noch folgende Antwort bekommen:
Zitat:

das Ding wird lediglich über einen Druckertreiber angesteuert,
es wäre aber sinnlos, sich auf einen hersteller zu konzentrieren.

Offensichtlich geht es nur über eine Vektorlinie, denn wenn Sie als
Vorlage eine Worddatei haben, könne Sie zwar lasern aber nicht schneiden.

Man darf hier das Lasergravurgerät nicht mit einem Laserdrucker verwechseln.

Ähnlich einem Folienschneidgerät für Plotterschriften, oder einem Zeichenplotter,
wird beim Laser eine Vektorlinie erkannt und diese abgefahren.
Der Laserkopf bewegt sich über das Material
mit einer X und Y Achse, die Höhenverstellung erfolgt über die Z-Achse.

Es werden also bei der Schneidlinie die x und Y Achse abgefahren, nach den
Koordinaten der Vorgabe (rote Linie) (Z-Achse entfällt für das Programm)

Der Druckertreiber des Lasergravurgerätes unterscheidet zwischen
Bitmap und Vektorangabe durch die Angabe der Farbe und der Linienstärke.

Wenn ich einem Buchstaben eine Außenlinie in rot mit Haarstärke verpasse
dann wird dieser auch ausgeschnitten. - Was bei uns nicht sein soll.

SirThornberry 20. Mär 2005 19:23

Re: 100tel Millimeter dicke Linie drucken
 
mit
Delphi-Quellcode:
SetMapMode(printCanvHandle, mm_himetric);
stellst du die maßeinheit von pixel auf 100tel Millimeter um. Desweiteren ist zubeachten das die y-Achse im Minusbereich ist.
Mit
Delphi-Quellcode:
Printer.Canvas.MoveTo(0, -200);
Printer.Canvas.Line(400, -200);
würdest du also erreichen das eine Line gemalt wird die auf der ausgabe 0 Millimeter von Links, 2 mm von oben bis 4 mm link und 2 mm oben geht.

Also nochmal zusammgengefasst, mit den beiden befehlen (und der vorherigen umstelle der auf mm_himetric), erreichst du das eine Linie von
X: 0mm
Y: 2mm
nach
X: 4mm
Y: 2mm
ausgegeben wird.
Du kannst das ganze ja auch erstmal mit der ausgabe auf einem normalen blatt probieren.
Als beispiel auf einem normalen Blatt würde sich dann folgendes eignen:
Delphi-Quellcode:
Printer.Canvas.Font.Height := 1000;
Printer.Canvas.TextOut(2000, -2000, 'Testtext');
Damit solltest du dann auf dem Blatt den Text "Testtext" sehen welcher 1 cm (1000 100ersten millimeter) hoch ist und 2 cm vom linken Rand entfernt ist.

semo 20. Mär 2005 21:04

Re: 100tel Millimeter dicke Linie drucken
 
das ist ja soweit alles klar. nur geht es um die linienstärke!
bzw die linienstärke bei einem TRect.

SirThornberry 20. Mär 2005 21:19

Re: 100tel Millimeter dicke Linie drucken
 
mit pen.width kannst du die Linienstärke setzen. bzw. kannst du auch mehrmals die linie nebeneinander malen.

semo 20. Mär 2005 22:36

Re: 100tel Millimeter dicke Linie drucken
 
stimmt ja, ich habe immer nur daran gedacht dass pen.width ja in pixel gemessen wird. habe ja aber bereits in 1/100 mm umgestellt. :wall:

habe mal ne testversion fertig gemacht und mal sehen was der werte herr dazu sagt.

danke erstmal soweit


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:54 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz