![]() |
Frage zu firemonkey
Ich suche eine gute Anleitung um in FireMonkey Linien in einen Raum
zu zeichen die ich dann in 3D anschauen könnte. Youtube bringt gute Viedeos aber nicht das was ich suche. In Grafik habe ich noch nie etwas gemacht. Ich habe eine CNC Software Programmiert und möchte meine Fräsdaten per 3D anzeigen. Vielleicht ist firemonkey auch nicht das richtige ? wie gesagt ich habe in 3D keine Ahnung, das ist alles neuland für mich. vllt habt ihr Tipps für mich mfg Schuby |
AW: Frage zu firemonkey
Videos zum Programmieren sind halt so eine Sache... ;-)
Wenn du eine 3D Anwendung erstellt hast, brauchst du lediglich im OnRender des Formulars deine Zeichenbefehle einzusetzen. Beispiel für einen Würfel:
Delphi-Quellcode:
Du kannst aber auch Pfaddaten (SVG oder XAML) in FMX verwenden.
uses
System.Math.Vectors; procedure TFormXXX.Form3DRender(Sender: TObject; Context: TContext3D); begin // Deckel Context.DrawLine(Vector3D(100, 200, 0), Vector3D(200, 200, 0), 1, TAlphaColorRec.Red); Context.DrawLine(Vector3D(200, 200, 0), Vector3D(200, 200, 100), 1, TAlphaColorRec.Red); Context.DrawLine(Vector3D(200, 200, 100), Vector3D(100, 200, 100), 1, TAlphaColorRec.Red); Context.DrawLine(Vector3D(100, 200, 100), Vector3D(100, 200, 0), 1, TAlphaColorRec.Red); // Seiten Context.DrawLine(Vector3D(100, 200, 0), Vector3D(100, 100, 0), 1, TAlphaColorRec.Red); Context.DrawLine(Vector3D(200, 200, 0), Vector3D(200, 100, 0), 1, TAlphaColorRec.Red); Context.DrawLine(Vector3D(200, 200, 100), Vector3D(200, 100, 100), 1, TAlphaColorRec.Red); Context.DrawLine(Vector3D(100, 200, 100), Vector3D(100, 100, 100), 1, TAlphaColorRec.Red); // Boden Context.DrawLine(Vector3D(100, 100, 0), Vector3D(200, 100, 0), 1, TAlphaColorRec.Red); Context.DrawLine(Vector3D(200, 100, 0), Vector3D(200, 100, 100), 1, TAlphaColorRec.Red); Context.DrawLine(Vector3D(200, 100, 100), Vector3D(100, 100, 100), 1, TAlphaColorRec.Red); Context.DrawLine(Vector3D(100, 100, 100), Vector3D(100, 100, 0), 1, TAlphaColorRec.Red); end; |
AW: Frage zu firemonkey
Zitat:
|
AW: Frage zu firemonkey
Zitat:
|
AW: Frage zu firemonkey
Zitat:
Danke, genau das war es was ich gesucht habe. :hello::hello::hello::hello::hello: mfg Schuby |
AW: Frage zu firemonkey
Doch eine Frage habe ich noch.
Ähmm ich habe ja mein Programm mit <VLC Formularanwendung> erstellt. Aber bei firemonkey musste ich eine <Geräteübergreifende Anwendung> erstellen. Kann man die Geräteübergreifende Anwendung in meine VLC Anwendung bekommen ? Oder müsste ich jetzt alles in der Geräteübergreifende Anwendung neu einprogrammieren ? mfg Schuby |
AW: Frage zu firemonkey
Hallo,
duerfte nicht so einfach sein. ![]() als Zusatzinfo - ![]() ![]() Gruß |
AW: Frage zu firemonkey
Doch, das geht schon:
![]() Google gibt noch mehr her. |
AW: Frage zu firemonkey
Man kann beides theoretisch kombinieren. Ob sich das lohnt mit den Nachteilen (nicht plattformunabhängig, ...) ist eine Frage der Größe der Anwendung. Wenn sich die Oberflächenlogik in Grenzen hält, macht eher eine Umstellung auf FMX Sinn.
Wenn aber viele Formulare verwendet werden oder der Code schlecht von der Oberfläche getrennt ist (alles in den Formular-Units und direkt in den Eventhandlern, ...), macht es Sinn eine Kombination zu versuchen. Eine 3D-Anzeige kannst du aber auch (selbst berechnet oder mit Drittbibliotheken) in einer VCL-Anwendung machen... |
AW: Frage zu firemonkey
Ich würde Dir eine Vermengung von VCL und FMX in einer Exe nicht empfehlen.
Mal abgesehen davon, dass es Deine Anwendung (Exe) nicht unerheblich vergrößern wird, es könnten sich bei der weiteren Entwicklung auch irgendwelche unerklärlichen Probleme ergeben. Daher: Wenn Du Deine APP auch für MAC oder Linux anbieten willst, wäre FMX der richtige Weg. Wenn es aber nur für Windows sein soll: Da Du schreibst, dass Du nur die Anzeige für 3D benötigst, könntest Du auch eine Anzeige-Anwendung in FMX programmieren, die Du dann von Deinem anderen (VCL-) Programm mit Parameterübergabe aufrufst (z.B. speicherst Du dann temporär die anzuzeigenden Daten ab und übergibst der Anzeige-Anwendung den Dateinamen beim Start-Aufruf). |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:44 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 by Thomas Breitkreuz