![]() |
PaintBoxRaster
Wenn ich eine Bildschirmauflösung von 96 dpi hab und einen Zoom von 96/25.4 * 100% hab ich dann eine Genauigkeit von 1 mm oder 0,1 mm, ich raff grad nix mehr? :oops: :gruebel:
|
AW: PaintBoxRaster
So, jetzt hab ich mal paar Stunden geschlafen (hätt ich heut nacht wohl auch besser tun sollen).
96 ppi entsprechen 3,77952755905512 Pixel je mm. Wenn man eine Genauigkeit von 0,1 mm haben möchte braucht man quasi 10 Pixel je mm, also bei einem 96 ppi Monitor einen Zoom von 10/3,77952755905512 * 100 % = 264,583333333333 % (oder halt einen Monitor mit 254 ppi). Schönes WE. |
AW: PaintBoxRaster
Was willst Du damit denn machen?
|
AW: PaintBoxRaster
ppi? Preußen pro Indianer?
Ein Zoll (Inch) entspricht 25,4mm und 254 dpi (oder ppi) entsprechen 10 Punkte pro 1mm. Nehmen wir mal an der Monitor ist 96 ppi, was vermutlich nur annähernd stimmt, aber gehen wir davon aus, dann dann sind 254/25,4 = 10 Punkte pro mm 096/25,4 = 3,78 Punkte pro mm (oder 1 Punkt ist 0,265mm) |
AW: PaintBoxRaster
Zitat:
|
AW: PaintBoxRaster
Na, ich weiss nicht genau, ob das Dein Problem ist, aber ich tippe mal ins Blaue:
Du willst die Darstellung so einstellen, dass der Anwender die Maße mit einem Maßstab vom Monitor abgreifen kann. Ich habe sowas mal bei einem Cad-Programm gesehen. Da mußte der Anwender ein Quadrat auf dem Monitor so einmessen, dass es 10x10cm groß war. Mit dieser Einstellung hatte die Software dann die Korrekturwerte für die maßstabsgerechte Monitorausgabe. Vielleicht bring es Dich weiter. Gruss Jens |
AW: PaintBoxRaster
Ne ne ne, das meinte ich nicht. Du kennst ja Positionspläne? Da wird entweder der Architektenplan eingescannt und drüber gemalt oder falls es ein "ordentlicher" Ingenieur ist, dann erstellt er einen eigenen neuen Plan.
Das ist aber auch nix weltbewegendes. Ist quasi ein Paint mit Maßstab. Der User malt halt keine Line von 10/10 nach 100/20 Pixel sondern von 5/5 mm eine Line von 3,65 m z.B. im Maßstab 1:100 im Winkel 45 Grad, genauso wie früher am Zeichenbrett. :-D Ich hab meinen Usern versprochen: keine Einarbeitungszeit und genauso wie früher. Andernfalls hat mein Programm auf dem Markt auch keine Chance. Was es da alles gibt? Wahnsinn. Da kommst du mit 5 Leuten in 5 Jahren nicht hin. Nur bedienen kannst du die Dinger ohne Seminar nicht und die kosten auch teilweise so schlappe 1000 € pro Tag. Das Prog ist soweit auch schon fast fertig. Mir geht es jetzt darum, meine Grafikobjekte aufs Canvas zu bringen und um das Punktefangen. Hierzu brauch ich sozusagen ein Tetrisspielfeld im DIN A0 Format mit einem Raster von 0,1 mm. Die eigentliche Frage istt. Was mach ich, wenn das Cliprect des Canvas so eingstellt ist, daß die Genauigkeit von 0,1 mm gar nicht gezeichnet werden kann? Wie könnte man denn sowas machen? Die anderen können das ja auch? Ich hab aber keinen Plan wie? |
AW: PaintBoxRaster
Ich kenne den Positionsplan von MB (Video:wink:).
Einige günstige gibt es aber auch ..Harzer. Die Konkurrenz ist hart, aber die Anzahl ist mE überschaubar. Auf Deiner Seite kann man nicht so viele Beschreibungen der Programme finden. Schade:-D So ganz habe ich Deine Problem aber nicht verstanden. Willst Du ein Raster auf den Bildschirm bringen, wo Raster angezeigt werden 5mm/5mm so wie die Leisten bei vielen Grafikprogrammen? Oder soll das Raster reale/ gemessene 5/5mm auf den Monitor anzeigen? Das erste ist doch nur relatives Umrechnen von einer Länge zu Pixelanzahl mit etwas Runden. Oder wie? Zitat:
Guck Dir das Beispiel ObjectsSample aus dem ![]() |
AW: PaintBoxRaster
Löse dich von der Canvas Darstellung und berechne alles in der echten Auflösung.
Auf dem Canvas wird einfach nur skaliert dargestellt. So machen es die "Anderen" auch |
AW: PaintBoxRaster
Treffer. MB ist mein härtester Konkurrent. Mein Vorbild ist aber DigCad 5.0 (find ich ziemlich genial, ist übrigens in Delphi geschrieben, vermute aber mal, daß die VDraw o. ä. drunter laufen haben, weiß es aber nicht).
Hallo Sir Rufo, ich hab intern alle Objekte in mm FloatPoint und berechne auch brav alles bezüglich dieser Koordinaten z.B. auch die Schnittpunkte. Mein Problem ist aber, daß z.B. die MouseDown-Koordinate viel zu ungenau ist?
Delphi-Quellcode:
procedure TCeCadForm.PaintBoxMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer); begin if ssLeft in Shift then begin if (FCECad.CadDrawing in [cadLine..cadGraphic]) and (FCECad.CadMouseStatus = cmsWaitForMouseDown) then begin FCECad.CadMouseStatus := cmsWaitForMouseMove; FCECad.Drawing := true; end; FCECad.MMP1 := PointToMMFloatPoint(Point(X, Y)); end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:58 Uhr. |
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