AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Frage zu firemonkey

Ein Thema von Schuby · begonnen am 29. Dez 2020 · letzter Beitrag vom 2. Jan 2021
Antwort Antwort
Seite 1 von 2  1 2      
Schuby

Registriert seit: 25. Dez 2018
93 Beiträge
 
#1

Frage zu firemonkey

  Alt 29. Dez 2020, 08:26
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
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.648 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Frage zu firemonkey

  Alt 29. Dez 2020, 10:17
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:
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;
Du kannst aber auch Pfaddaten (SVG oder XAML) in FMX verwenden.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.176 Beiträge
 
Delphi 10 Seattle Enterprise
 
#3

AW: Frage zu firemonkey

  Alt 29. Dez 2020, 10:29
Du kannst aber auch Pfaddaten (SVG oder XAML) in FMX verwenden
Meintest du als 2D oder als 3D-Darstellung?
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.648 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Frage zu firemonkey

  Alt 29. Dez 2020, 11:25
Meintest du als 2D oder als 3D-Darstellung?
Das sollte bei beidem funktionieren. So viel habe ich damit aber noch nicht gemacht, nur ein wenig ausprobiert.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Schuby

Registriert seit: 25. Dez 2018
93 Beiträge
 
#5

AW: Frage zu firemonkey

  Alt 29. Dez 2020, 11:50
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:
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;
Du kannst aber auch Pfaddaten (SVG oder XAML) in FMX verwenden.

Danke, genau das war es was ich gesucht habe.



mfg Schuby
  Mit Zitat antworten Zitat
Schuby

Registriert seit: 25. Dez 2018
93 Beiträge
 
#6

AW: Frage zu firemonkey

  Alt 29. Dez 2020, 11:56
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
  Mit Zitat antworten Zitat
mmw
(Gast)

n/a Beiträge
 
#7

AW: Frage zu firemonkey

  Alt 29. Dez 2020, 13:45
Hallo,

duerfte nicht so einfach sein.

http://docwiki.embarcadero.com/RADSt.../de/FireMonkey

als Zusatzinfo -

http://glscene.sourceforge.net/wikka/

https://www.openscad.org/index.html

Gruß

Geändert von mmw (29. Dez 2020 um 15:16 Uhr)
  Mit Zitat antworten Zitat
TigerLilly

Registriert seit: 24. Mai 2017
Ort: Wien, Österreich
1.211 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: Frage zu firemonkey

  Alt 29. Dez 2020, 14:35
Doch, das geht schon:
https://parnassus.co/tfiremonkeycont...g-vcl-and-fmx/

Google gibt noch mehr her.
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.648 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: Frage zu firemonkey

  Alt 30. Dez 2020, 15:46
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...
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.538 Beiträge
 
Delphi 11 Alexandria
 
#10

AW: Frage zu firemonkey

  Alt 31. Dez 2020, 14:55
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).
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:24 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz