AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

OpenGL für CAD Anwendung

Ein Thema von BigAl · begonnen am 1. Jun 2014 · letzter Beitrag vom 3. Jun 2014
Antwort Antwort
Jens01

Registriert seit: 14. Apr 2009
674 Beiträge
 
#1

AW: OpenGL für CAD Anwendung

  Alt 1. Jun 2014, 23:05
Also ich habe so ein Cad-Ähnliches-Ding mit Delphi + OpenGL umgesetzt bzw es ist immer noch in der Entwicklung. Für Cad-Sachen kannst Du nicht auf diese Spiele-Frameworks und überhaupt nicht auf FMX setzen . -das ist meine Meinung-
Ich habe es von unten hochprogrammiert und mir die meisten Infos aus DelphiGL geholt.
Das ganze ist aber so nicht in 5 Minuten zu verstehen. 3D-Programmierung kostet viel Einarbeitungszeit auch in entsprechende Mathematik.

Zitat:
- Wie arbeitet OpenGL (Zustandsautomat und was muss da wo und in welcher Reihenfolge eingestellt werden etc.)
- Welche Darstellungsarten gibt es (Ortho etc.)
- Was kann im Normalfall auf der Ebene der Grafikkarte und was muss auf Rechnerseite erledigt werden
- OpenGL-Referenz mit Beispielen (leider sind fast alle Referenzen die ich bisher gefunden habe nur mit rudimentären Erklärungen und nicht mit entsprechenden Beispielen versehen. Auch DelphiGL bildet da keine Ausnahme).
1.)Ja,Zustandsautomat. ZB Farbe einstellen, dann wird die Farbe so lange genutzt bis eine andere eingestellt wird. Es gibt aber auch "neuerdings" die Möglichkeit mit einer Art von Objekten zu arbeiten, da könnte es etwas anders sein. Bin aber gerade nicht so firm darin.
2.) Es gibt einen Ortho- und einen Perspektiv-Modus. Ansonsten kannst Du das über eine ensprechende Matrix auch selbst einstellen.
3.) ...
3.) DelphiGL hat schon einige Beispiele. Da muß man vielleicht auch mal tiefer tauchen, aber da sind sie schon. Es gibt auch eine ganze Tutorial-Serie, die zwar alt aber anfangs sehr nützlich ist. Ansonsten kostet das ganze sehr intensive Einarbeitungszeit.

Gruss Jens
Achtung: Bin kein Informatiker sondern komme vom Bau.

Geändert von Jens01 ( 1. Jun 2014 um 23:26 Uhr)
  Mit Zitat antworten Zitat
Bjoerk

Registriert seit: 28. Feb 2011
Ort: Mannheim
1.384 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: OpenGL für CAD Anwendung

  Alt 2. Jun 2014, 13:17
Ich bin seit mehr als einem Jahr an einem ebenen CAD Programm dran. Setze den ganzen Kram ohne Hilfsmittel auf (war ein Fehler). Ist quasi ein Marathonlauf. Der geneigte User möchte neben dxf Import auch branchenspezifische Grafikobjekte und AddOns (in meinem Falle ein Bewehrungsmodul für Stahlbeton). Letzteres dauert nochmal mind. 3 Monate. Ohne diese AddOns ist ein CAD Programm schlicht unverkäuflich ("Da kann ich auch DraftSight verwenden"). Es ist auch ein Unterschied wieviele Objekte du darstellen möchtest. Bei mehr als ca. 1000 muß man m.E. interne Berechnungen z.B. Schnittpunkte von Threads erledigen lassen sonst wird das Programm mit zunehmender Zahl der Objekte viel zu langsam. Und das Ganze jetzt noch im Raum? Das Bild bei jedem MouseMove oder Zoom neu zu berechnen kann man sowieso vergessen. Festzustellen ob eine Line sichtbar ist oder nicht dürfte sehr zeitaufwendig werden? Da sind ja dann für die Projektion ggf. neue Sichtkanten einzuführen. OpenGL ist ganz nett aber nix Besonderes. Es gibt professionelle Engines, aber so um die € 2000,- (zzgl. X € je AppUser).
  Mit Zitat antworten Zitat
Jens01

Registriert seit: 14. Apr 2009
674 Beiträge
 
#3

AW: OpenGL für CAD Anwendung

  Alt 2. Jun 2014, 13:36
Zitat:
OpenGL ist ganz nett aber nix Besonderes.
Bei OpenGl renderst Du mit der Grafikkarte, was eigentlich bei Cad-ANwendungen mit relativ wenigen Objekten (bzw Triangles) schnell geht. Für das andere von Dir angesprochene hat OpenGL meist eine grundsätzliche Lösung.
Aber Cad ist eine aufwendige Sache, die mit OpenGL stark vereinfacht wird.
Das Entwerfen und Positionieren von Objekten muß man natürlich selbst machen. OpenGL übernimmt "nur" die Darstellung.
Wenn Du ein richtiges Cad erstellen willst, eignet sich auch sowas wie Spatial. Die brauchen gar kein OpenGL, weil die sowas selbst programmieren. Die Grundversion kostet da aber auch irgendwas im 5-stelligen Bereich zzgl Einzellizenzen für jeden Kunden.
Achtung: Bin kein Informatiker sondern komme vom Bau.
  Mit Zitat antworten Zitat
Raible

Registriert seit: 12. Mär 2012
33 Beiträge
 
#4

AW: OpenGL für CAD Anwendung

  Alt 2. Jun 2014, 16:32
für CAD gibt es OpenCascade (OpenSource).

Das scheint sehr leistungsfähig zu sein,
ist aber in C++ programmiert. Mit Delphi
hat man keinen direkten Zugriff.

Es gibt jedoch eine ActiveX Schnittstelle
von "East Wind Software" (www.eastwindsoft.com).
Das ist zwar nicht kostenlos aber die
Lizenz ist wenigstens "royalty free".
  Mit Zitat antworten Zitat
Jens01

Registriert seit: 14. Apr 2009
674 Beiträge
 
#5

AW: OpenGL für CAD Anwendung

  Alt 2. Jun 2014, 16:47
OpenCascade scheint gut zu sein. Es gibt aber nur so einen veralteten Delphi-Wrapper.
Das ist aber auch ein kommerzielles Projekt, wo ich nocht nicht weiss, wie die ihr Geld verdienen.

"East Wind Software" - Bin mir nicht so sicher, ob das sein Geld wert ist.

Das könnte auch etwas sein, wenn man dies "net" eingebunden bekommt.
Achtung: Bin kein Informatiker sondern komme vom Bau.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.550 Beiträge
 
Delphi 12 Athens
 
#6

AW: OpenGL für CAD Anwendung

  Alt 2. Jun 2014, 16:50
Zitat:
wenn man dies "net" eingebunden bekommt.
Irgendwo im CC gibt es eine .Net-Bridge.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
BigAl

Registriert seit: 6. Sep 2008
Ort: Kehl
515 Beiträge
 
Delphi 12 Athens
 
#7

AW: OpenGL für CAD Anwendung

  Alt 3. Jun 2014, 08:28
Hallo zusammen,

erstmal vielen Dank für die zahlreichen Antworten und Vorschläge. Das eine oder andere konnte ich da bereits raus fischen...

Der Titel "CAD Anwendung" war natürlich etwas provozierend gewählt (mit Absicht). Ich erstelle hier keine CAD-Anwendung sondern stelle eigentlich nur fertige Objekte dar. Diese sind nur marginal bearbeitbar (Position, Rotation). Die Basisobjekte werden derzeit mit Sketchup erstellt. Da gibt es dann einen Export den ich mit RUBY erstellt habe. Diese Datei wird in einen mit Delphi programmierten Editor geladen. Dort kann ich dann so Dinge wie Basisposition, Diskretisierung usw. durchführen. Das so manipulierte Objekt wird dann in ein weiteres Programm importiert. Dort wird dann aus Basisobjekten eine Gesamtkonstruktion erstellt. Diese wird dann weiter "verkabelt" und für die später erforderlichen Berechnungen präpatriert. Natürlcih passiert da im Hintergrund noch einiges mehr aber im Wesentlich geht es mir um eine saubere Darstellung.

Was habe ich also wirklich für Anforderungen:

- Darstellung der Objekte mit verschiedenen Modi (Solid, Wireframe, Culling...)
- Bei der Darstellung benötige ich Zugriff auf die Farbe jeder Linie und Fläche
- Positionieren der Zeichnung (zoomen, drehen, schieben)
- Mit der Maus sollen auch Linien, Punkt selektiert werden können

Obiges habe ich bis auf ein paar Dinge wie "Culling" usw. bisher über den Standard-Canvas sowie selbst erstellte Matrix-Operationen etc. bisher alles gelöst bekommen. Witzigerweise waren viele meiner mühsam erstellten Entwicklungen des letzten Jahrs in einer Delphi-Version (glaube XE5) zum Großteil plötzlich als Standard integriert ... Wie gesagt: Die meisten Dinge habe ich mit Bordmitteln am laufen. Da geht auch recht schnell. bei ca. 40.000 Linien benögt das Zeichen etwa 50 ms. Allerdings ohne Antialiasing usw.. Weiterhin wird halt alles einfach übereinander gezeichnet. Was ich bereit gemacht habe ist eine "BackToFront"-Sortierung der Element. Es werden also nach jeder Drehung die Element sortiert und von hinten nach vorne gezeichnet. Somit habe ich zumindest eine teilweise realistische Abdeckung...

Da die Teile halt jetzt immer aufwändiger werden ist eine neue Darstellung absolut notwendig. In der bisherigen Fassung besteht so ein Objekt mal schnell aus über 100.000 Linien (und entsprechen Punkten und Volumenelementen)...

Habe hier auch zwei Bücher liegen, die auf den ersten Blick nicht schlecht - bei genauerem Hinsehen dann aber doch wieder spezifische Dinge wie GLUT usw. verwenden. Die Bücher sind "Computergrafik 2. Auflage" von "HANSER" und "Lehrbuch der Grafikprogrammierung" von "Spektrum akademischer Verlag".

Bin also für alle weiteren Tipps dankbar.

Viele Grüße
Alex
Man sollte nie so viel zu tun haben, dass man zum Nachdenken keine Zeit mehr hat. (G.C. Lichtenberg)
  Mit Zitat antworten Zitat
Antwort Antwort

 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 00:59 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