-
Die Erfindung betrifft ein Verfahren zum Konvertieren von grafisch darstellbaren Daten nach dem Oberbegriff von Anspruch 1.
-
Es gibt heute eine Vielzahl von Konstruktionsprogrammen (CAD), die auf eine spezielle Anwendung zugeschnitten sind. Derartige Programme werden, beispielsweise im Anlagenbau, aber dort nur von solchen Personen benutzt, die speziell in diesem Bereich tätig sind. Solche Programme sind meist so umfangreich ausgestattet, dass praktisch alle Belange dieses Bereichs damit abgedeckt werden können. Z. B. lassen sich meist alle Anlagenteile dreidimensional planen, so dass aus den grafisch dargestellten Daten alle wichtigen Details entnommen werden können.
-
Schwierig ist jedoch oftmals die Kommunikation nach außen. Soll also beispielsweise eine Montagefirma von einem Anlagenbauer beauftragt werden, ein bestimmtes Gewerk, z. B. eine Dampfleitung zu montieren, so müssen Daten aus dem Programm des Anlagenbauers exportiert und so aufbereitet werden, dass die Montagefirma alle notwendigen Parameter und Details erhält. Die Montagefirma arbeitet jedoch üblicherweise mit einem speziellen in der Montage üblichen Programm und nicht mit dem Programm des Anlagenbauers. Die Daten über die in Auftrag gegebene Dampfleitung müssen also in eine Form gebracht werden, in der sie von einem Programm gelesen werden können, das nicht auf einen bestimmten Bereich beschränkt ist, sondern üblicherweise auf jedem Computer vorhanden ist.
-
Hier bietet sich insbesondere ein sogenannter PDF-Viewer an. PDF, das sogenannte Portable Document Format ist ein freies Format, welches inzwischen auch 3D-fähig ist. Es eignet sich daher hervorragend dazu, spezielle Anlagenteile von allen Seiten so darzustellen, dass es keine Zweifel an der tatsächlichen Montagesituation eines Objekts oder Gewerkes (z. B. Notwendigkeit eines Gerüsts oder Zugänglichkeit für einen Kran) geben kann.
-
Schwierigkeiten ergeben sich allerdings bei der Umwandlung der Daten aus dem Programm des Anlagenbauers in ein bekanntes und leicht lesbares Format, wie z. B. das PDF-Format. Verständlicherweise legen die Entwickler einer bestimmten Software nicht immer das Format offen, in dem die Daten innerhalb des Programms verarbeitet werden. Eine direkte Umwandlung in das PDF-Format wird meistens auch nicht angeboten. Es lassen sich zwar meistens zu dem Gegenstand gehörende Daten, wie die Maße und andere physikalische Parameter z. B. in eine Excel-Tabelle übertragen und exportieren, um aber alle vorhandenen und notwendigen Informationen zu übergeben, sind oft die grafischen Details zusätzlich notwendig.
-
Der Erfindung liegt die Aufgabe zugrunde, ein Verfahren zum Konvertieren von grafisch darstellbaren Daten so auszugestalten, dass die Daten unabhängig von ihrem ursprünglichen Format in ein bekanntes und leicht darstellbares Format übertragen werden können. Weiterhin sollen nach der Konvertierung auch zugeordnete Metadaten objektbezogen wieder zur Verfügung stehen.
-
Gelöst wird die Aufgabe gemäß der Erfindung durch ein Verfahren zum Konvertieren von grafisch darstellbaren Daten mit den Merkmalen von Anspruch 1. Üblicherweise gehen bei einer Konvertierung von grafischen Daten von einem ersten unbekannten in ein zweites bekanntes Format alle Zuordnungen verloren, die zwischen den reinen Grafikdaten und zugeordneten Metadaten bestehen. Zu diesen, einem Objekt zugeordneten Metadaten, gehören bei der oben bereits angesprochenen Dampfleitung aus dem Anlagenbau z. B. die Nennweite, die Rohrklasse, der maximale Druck, der Leitungsname usw.
-
Erfindungsgemäß werden deshalb die grafischen Daten, die einer bestimmten Datengruppe zugeordnet sind, in dem ersten Format mit einer individuellen Markierung versehen, und diese markierten Daten werden in das zweite Format umgewandelt. Die umgewandelten Daten werden dann in dem zweiten Format über die Markierung erkannt und wieder ihrer Datengruppe zugeordnet.
-
Bei dem oben angeführten Beispiel der Dampfleitung gehören die grafischen Daten dieser Dampfleitung zu einer Datengruppe, die ein Objekt definiert, während andere Objekte, wie beispielsweise Stahlbau, Ausrüstungsteile oder Betonbau durch andere Datengruppen definiert werden. Die genaue Zugehörigkeit der grafischen Daten zu bestimmten Datengruppen wird von einem Quellprogramm, in diesem Fall dem Programm des Anlagenbauers vorgegeben.
-
Vorteilhaft ist die Markierung grafisch darstellbar. Hierdurch wird eine sehr einfache Zuordnung der grafischen Daten zu ihrer jeweiligen Datengruppe und damit zu einem bestimmten Objekt ermöglicht.
-
Die Markierung kann beispielsweise darin bestehen, die Flächen eines durch eine Datengruppe gebildeten Objekts mit einer bestimmten Textur zu versehen. Diese Textur kann nach der Konvertierung wiedererkannt werden und die entsprechenden Flächen können wieder dem Objekt zugeordnet werden, das durch die Datengruppe definiert wird.
-
Die Auswahl von unterscheidbaren Texturen ist jedoch etwas eingeschränkt und der datentechnische Aufwand relativ hoch. Es werden daher bevorzugt Farben zur Markierung verwendet. Es können heute üblicherweise Farben mit einer Tiefe von 32 bit dargestellt werden. Bei dieser Farbtiefe, die eine Bandbreite von 8 bit pro Kanal erfordert (s. g. True Color), können im RGB-Farbraum etwa 16,7 Millionen von einander unterscheidbare Farben codiert und auch entsprechend dargestellt werden. Diese Anzahl unterschiedlicher Farben ist ausreichend, um auch die Daten von äußerst komplexen Anlagen so codieren zu können, dass jedes einzelne Objekt in einer anderen Farbe dargestellt werden kann.
-
In dem ersten Format sind einer Datengruppe von dem Quellprogramm Metadaten zugeordnet. Mit diesen Metadaten werden beispielsweise Angaben über die Nennweite, die Rohrklasse, den maximalen Druck, den Leitungsnamen usw. abgespeichert. Diese Metadaten können in einer relationalen Datenbank abgelegt werden.
-
Vorteilhaft ist mit diesen Metadaten auch die ursprüngliche Farbe abgespeichert, in der das durch die Datengruppe definierte Objekt in dem Quellprogramm dargestellt wird.
-
Aber auch die Markierungsfarbe des durch die jeweilige Datengruppe definierten Objekts wird den Metadaten zugeordnet. Hierdurch wird der Datentransfer von dem Quellprogramm zu einem Konvertierungsprogramm und die Erkennbarkeit der durch die einzelnen Datengruppen definierten Objekte in dem zweiten Format stark vereinfacht. Es muss so nur eine Tabelle exportiert werden, in der die Metadaten der betroffenen, durch die Datengruppen definierten, Objekte zusammen mit den ursprünglichen Farben und den Markierungsfarben enthalten sind. In dem zweiten Format lässt sich dann das jeweilige Objekt einfach an der Markierungsfarbe der Datengruppe erkennen.
-
Erfindungsgemäß werden die Metadaten den Datengruppen in dem zweiten Format wieder zugeordnet. Auf diese Weise gehen keine Angaben zu den durch die Datengruppen definierten Objekten verloren und sind auch bei der Darstellung in dem zweiten Format wieder verfügbar. Auch die ursprüngliche Farbe der durch die Datengruppen definierten Objekte steht wieder zur Verfügung.
-
Besonders vorteilhaft werden die grafisch darstellbaren markierten Daten, die in dem ersten Format vorliegen, in einen von einer Grafikkarte lesbaren Befehlssatz umgewandelt. Dieser Befehlssatz wird abgegriffen und in das zweite Format umgewandelt. Für diesen Befehlssatz hat sich OpenGL als Standard durchgesetzt, welcher deshalb praktisch von allen marktgängigen Grafikkarten unterstützt wird. Ein Quellprogramm, wie z. B. ein im Anlagenbau gebräuchliches CAD-Programm muss daher über dieses Format mit der Grafikkarte eines Rechners kommunizieren, wenn sichergestellt werden soll, dass die Grafiken auf einem Display auch dargestellt werden können. Das erfindungsgemäße Verfahren ist daher sehr universell anwendbar, wenn Grafiken von einem Quellprogramm auf ein Zielprogramm transferiert werden sollen. Dies gilt selbstverständlich nicht nur für Programme im Anlagenbau, sondern auch immer dann, wenn die Grafikdaten innerhalb des Quellprogramms in einem nicht offengelegten Format verarbeitet werden.
-
Erfindungsgemäß werden die grafisch darstellbaren Daten in dem ersten Format und in dem zweiten Format wieder von der Markierung befreit. Das bedeutet, dass die Codierung für die Markierungsfarbe durch die Codierung für die ursprüngliche Farbe ersetzt wird. War also das durch die Grafikdaten definierte Objekt ursprünglich in dem Quellprogramm farblos dargestellt, wird es sowohl in dem ersten Format, als auch in dem zweiten Format wieder entsprechend codiert, wurde es dagegen ursprünglich innerhalb des Quellprogramms in einer bestimmten Farbe dargestellt, erhält es in beiden Formaten seine ursprüngliche Farbe zurück. Nach diesem Schritt liegen innerhalb des Quellprogramms alle Daten wieder in ihrer ursprünglichen Form vor. In dem zweiten Format besitzen die grafisch darstellbaren Daten nun die gleiche Farbcodierung wie die grafisch darstellbaren Daten innerhalb des Quellprogramms.
-
Vorteilhaft wird als zweites Format das ebenfalls standardisierte Portable Document Format, kurz PDF genannt, verwendet. Diese erstellte Datei kann mit dem kostenlosen Adobe Acrobat Reader® ab der Version 7.0 gelesen werden. Ein entsprechender Viewer ist praktisch auf jedem Rechner vorhanden, so dass zum Betrachten der aus dem Quellprogramm exportierten Grafik kein spezielles Programm mehr notwendig ist.
-
Besonders vorteilhaft wirkt sich das erfindungsgemäße Verfahren aus, wenn es sich bei den grafisch darstellbaren Daten um dreidimensional darstellbare Daten handelt. Hier ist es möglich ein Objekt zu drehen und somit von allen Seiten zu betrachten. Auf diese Weise können z. B. auch Details auf der Rückseite eines Objekts genau inspiziert werden.
-
Auch der PDF-Standard lässt eine dreidimensionale Darstellung zu. Werden die grafisch darstellbaren Daten so aus dem Quellprogramm exportiert, dass die dreidimensionale Darstellbarkeit erhalten bleibt, ergeben sich bei der Betrachtung mit einem PDF-Viewer die gleichen Vorteile, die auch die Betrachtung mit dem Quellprogramm bietet.
-
Weitere Einzelheiten und Vorteile der Erfindung ergeben sich aus den Unteransprüchen im Zusammenhang mit der Beschreibung eines Ausführungsbeispiels, das anhand der Zeichnung eingehend erläutert wird.
-
Es zeigt:
-
1 ein Blockdiagramm des erfindungsgemäßen Verfahrens
-
Als Quellprogramm 1 fungiert bei dem beschriebenen Ausführungsbeispiel ein im Bereich des Anlagenbaus übliches CAD-Programm. Das Format, in dem Daten innerhalb dieses Quellprogramms verarbeitet werden ist unbekannt. Als Zielprogramm dient der Adobe Reader® 7.0, der überall kostenlos erhältlich ist. Das erfindungsgemäße Verfahren wird durch ein Konvertierungsprogramm 3 realisiert, das alle notwendigen Verfahrensschritte anstößt. Die Kommunikation zwischen dem Konvertierungsprogramm 3 und dem Quellprogramm 1 erfolgt über die API 2 (application programming interface) des Quellprogramms 1. Von dem Konvertierungsprogramm 3 wird eine PDF-Datei ausgegeben, die sowohl die grafisch darstellbaren Daten eines oder mehrerer Objekte, als auch deren Metadaten enthält. Die Metadaten können entweder in die Grafik bzw. in das Zielformat eingebunden oder als Tabelle angehängt sein.
-
In 1 sind die einzelnen Verfahrensschritte A–K gezeigt, die zur Ausgabe der PDF-Datei führen. Steht ein Verfahrensschritt mit einem der Programme 1 oder 3 oder aber mit beiden in Verbindung, so ist dies über eine Verbindungslinie zwischen dem einzelnen Verfahrensschritt und der API des jeweiligen Programms gekennzeichnet. Im Folgenden sollen nun die einzelnen Verfahrensschritte erläutert werden:
-
Schritt A (Einlesen der Objektinformationen):
-
In dem Quellprogramm 1 sind die Objektinformationen als Metadaten in beliebiger Weise zu den grafisch darstellbaren Daten gespeichert. Die Metadaten werden beispielsweise in eine XML-Datei ausgegeben. Diese Datei wird über die API 2 des Quellprogramms 1 an das Konvertierungsprogramm 3 übergeben und von dem Konvertierungsprogramm 3 gespeichert. Die Bildung und der Transfer dieser Datei wird von dem Konvertierungsprogramm 3 angestoßen.
-
Schritt B (Speichern der Objektfarben):
-
Von dem Konvertierungsprogramm 3 wird ebenfalls angestoßen, dass die ursprünglichen Objektfarben innerhalb des Quellprogramms 1 zu den Metadaten (XML) abgespeichert und mit diesen an das Konvertierungsprogramm 3 übermittelt werden. Alternativ können die ursprünglichen Objektfarben aber auch separat an das Konvertierungsprogramm 3 transferiert werden. In diesem Fall werden die ursprünglichen Objektfarben von dem Konvertierungsprogramm 3 in die Tabelle zu den Objektinformationen geschrieben.
-
Schritt C (Umfärben der Objekte mit Markierungsfarben):
-
Durch das Quellprogramm 1 werden die Objekte so umgefärbt, dass jedes einzelne Objekt eine bestimmte Markierungsfarbe erhält. Die Farbe selbst ist dabei völlig unwichtig. So kann beispielsweise das erste einzelne Objekt eine erste Markierungsfarbe erhalten, das zweite einzelne Objekt eine zweite Markierungsfarbe usw. Es ist nur wichtig, dass jedem einzelnen Objekt eine andere Markierungsfarbe zugeordnet wird. Die Reihenfolge, in der die Markierungsfarben vergeben werden ist belanglos. Auch dieser Schritt wird wieder durch das Konvertierungsprogramm 3 angestoßen, aber innerhalb des Quellprogramms 1 ausgeführt.
-
Soll ein großer Teil einer umfangreichen Anlage aus dem Quellprogramm 1 exportiert werden, kann das Umfärben geraume Zeit in Anspruch nehmen, da bei einer großen Anzahl von Objekten auch entsprechend viel Rechenzeit benötigt wird. In diesem Fall kann auch so vorgegangen werden, dass anhand der Metadaten zuerst gleiche Objekte herausgefiltert und diese gleichen Objekte in einem Schritt mit der gleichen Markierungsfarbe eingefärbt werden. Da eine Vielzahl von Objekten (wie Standard-Rohrbögen oder Flansche) nicht nur einmal sondern mehrmals verbaut werden, lässt sich durch diese Maßnahme oftmals erheblich Rechenzeit einsparen, ohne dass Vorteile des erfindungsgemäßen Verfahrens dabei verloren gehen.
-
Schritt D (Speichern der Markierungsfarben):
-
Die Markierungsfarben der einzelnen Objekte müssen wiederum von dem Quellprogramm 1 an das Konvertierungsprogramm 3 übermittelt werden. Dies kann erneut durch einen Eintrag in die Tabelle mit den Objektinformationen vor dem Transfer dieser Datei erledigt werden. Aber auch hier können alternativ die entsprechenden Daten separat übermittelt und von dem Konvertierungsprogramm 3 in die bereits vorher übermittelte und gespeicherte XML-Datei mit den Objektinformationen geschrieben werden. Die gespeicherte Datei enthält nun in beiden Fällen für jedes einzelne Objekt eine Objektkennung und/oder eine Objektbezeichnung, die Objektinformationen, die ursprüngliche Objektfarbe und die Markierungsfarbe.
-
Schritt E (Auslesen der Daten aus dem OpenGL-Buffer):
-
Zum Anzeigen einer Grafik auf einem Display werden die markierten Grafikdaten von dem Quellprogramm 1 über die OpenGL Befehle an die Grafikkarte gesendet. Auch diese Anzeige wird von dem Konvertierungsprogramm 3 initiiert.
-
Im OpenGL-Format wird die Oberfläche eines jeden Objekts in grafische Primitive, meist in einzelne Dreiecke, zerlegt, wobei jedes Dreieck durch drei Vertices definiert ist. Die Vertices, die die Eckpunkte des Dreiecks darstellen, enthalten zumindest einen Farbwert und die Koordinaten des jeweiligen Eckpunktes. Der Datensatz für eines dieser Dreiecke ist beispielsweise folgendermaßen aufgebaut:
10 | glColor3f(1.0f, 0.0f, 0.0f); |
20 | glBegin(GL_TRIANGLES); |
30 | glVertex3f(0.0f, 1.0f, 0.0f); |
40 | glVertex3f(–1.0f, –1.0f, 0.0f); |
50 | glVertex3f(1.0f, –1.0f, 0.0f); |
60 | glEnd(); |
-
In Zeile 10 wird die Farbe des Dreiecks definiert, wobei sich die Werte in der Klammer auf den RGB-Farbraum (RGB: 1.0f, 0.0f, 0.0f) beziehen und die Farbe Rot ergeben. Die Zeilen 30 bis 50 beschreiben die Positionen der Eckpunkte des Dreiecks.
-
Die OpenGL-Befehle werden von dem Konvertierungsprogramm 3 ausgelesen.
-
Schritt F (Rückfärben in die Objektfarben):
-
Nachdem die OpenGL-Daten von dem Konvertierungsprogramm 3 eingelesen wurden, werden – gesteuert durch das Konvertierungsprogramm 3 – die einzelnen Objekte durch das Quellprogramm 1 mit Hilfe der gespeicherten Angaben zu den ursprünglichen Objektfarben zurück gefärbt. Die Markierungsfarben werden dadurch mit den ursprünglichen Objektfarben überschrieben und die Informationen zu den Markierungsfarben innerhalb des Quellprogramms 1 gelöscht. Alle Daten sind innerhalb des Quellprogramms 1 dadurch wieder auf den Stand vor der Markierung der einzelnen Objekte zurückgesetzt und auf dem Display werden die Objekte wieder in den ursprünglichen Objektfarben dargestellt.
-
Innerhalb des Quellprogramms 1 ist das Zurücksetzen auf die ursprüngliche Farbe – je nach Art des Quellprogramms – unter Umständen auch durch eine UNDO-Operation möglich. In diesem Fall wird auch diese Operation von dem Konvertierungsprogramm 3 angestoßen.
-
Schritt G (Kombination der Objektdaten anhand der Markierungsfarben):
-
Aus den OpenGL-Daten werden von dem Konvertierungsprogramm 3 nun die einzelnen Objekte aus Dreiecken aus den empfangenen Eckpunkten zusammengestellt. Da die einzelnen Objekte über ihre Markierungsfarbe einfach zu erkennen sind, können alle grafischen Primitive mit gleicher Farbe jeweils einem Objekt zugeordnet werden. Sobald also ein Vertex mit einer neuen Farbe gelesen wird, wird diese Markierungsfarbe in der gespeicherten Tabelle gesucht und die Objektinformationen, sowie die ursprüngliche Objektfarbe können dem Vertex bzw. den entsprechend gefärbten Dreiecken zugeordnet werden.
-
Schritt H (Umfärben in die Objektfarben):
-
Anhand der Tabelle kann die ursprüngliche Objektfarbe jedes einzelnen Objekts ermittelt werden. Die Daten werden von dem Konvertierungsprogramm 3 so verändert, dass jedem Objekt nun wieder diese ursprüngliche Objektfarbe zugeordnet ist.
-
Schritt I (Zusammenstellen der Objektdaten mit den Objektinformationen):
-
Den grafisch darstellbaren Daten müssen nun noch von dem Konvertierungsprogramm 3 die Objektinformationen als Metadaten zugeordnet werden. Auf diese Weise sind auch außerhalb des Quellprogramms 1 alle Informationen zu den Objekten verfügbar.
-
Schritt K (Export der Daten in einer Ausgabedatei):
-
Im letzten Schritt muss von dem Konvertierungsprogramm 3 noch eine Export Datei erstellt werden, die mit einem üblicherweise verfügbaren Viewer gelesen werden kann. Zu diesem Zweck werden von dem Konvertierungsprogramm 3 die grafischen Daten in eine U3D-Datei (Universal 3D) konvertiert. Diese U3D-Datei wird dann zusammen mit den Metadaten in ein PDF-Dokument eingebettet.
-
Zum Lesen dieser Datei kann der überall kostenlos erhältlichen Adobe Reader® verwendet werden. Ab Version 7.0 können mit diesem Reader auch 3D-Dateien gelesen werden.
-
Beim Anzeigen der Datei mit dem genannten Reader erscheint dann z. B neben der Grafik eine Tabelle. Wird nun ein Objekt in der Grafik, z. B. die besagte Dampfleitung, angeklickt, werden die dazugehörigen Metadaten in dieser Tabelle angezeigt.
-
Wird zum Anzeigen der Datei beispielsweise der kostenpflichtige Adobe Acrobat 9 Pro verwendet, lassen sich aus der Grafik sogar die Maße der einzelnen Objekte herausmessen.
-
Bezugszeichenliste
-
- 1
- Quellprogramm
- 2
- API des Quellprogramms
- 3
- Konvertierungsprogramm
- A–K
- Verfahrensschritte