Aufbereitung von Produktmodellen der Industrie zur Verwendung in

Transcription

Aufbereitung von Produktmodellen der Industrie zur Verwendung in
Professur für Mediengestaltung
Institut für Software- und Multimediatechnik
Fakultät Informatik
Diplomarbeit
AUFBEREITUNG VON PRODUKTMODELLEN
D E R I N D U S T R I E Z U R V E RW E N D U N G I N I N T E R A K T I V E N
3D-ANWENDUNGEN
sebastian erler
E I D E S S TAT T L I C H E E R K L Ä R U N G
Hiermit versichere ich, die vorliegende Diplomarbeit zum Thema
Aufbereitung von Produktmodellen der Industrie zur Verwendung in
interaktiven 3D-Anwendungen
vollkommen selbstständig verfasst und keine anderen als die
angegebenen Quellen und Hilfsmittel benutzt sowie Zitate kenntlich
gemacht zu haben.
Dresden, 13.09.2012
Sebastian Erler
D AT E N Z U R D I P L O M A R B E I T
TITEL
Aufbereitung von Produktmodellen der Industrie zur Verwendung
in interaktiven 3D-Anwendungen
EINGEREICHT VON
Sebastian Erler
IM STUDIENGANG
Medieninformatik
EINGEREICHT AM
13.09.2012
V E R A N T W O RT L I C H E R H O C H S C H U L L E H R E R
UND BETREUER
Prof. Dr.-Ing. habil. Rainer Groh
Technische Universität Dresden
Fakultät Informatik
Institut für Software- und Multimediatechnik
Professur für Mediengestaltung
EXTERNER BETREUER
Robert Bonča
T-Systems - Multimedia Solutions GmbH
Business Unit E-Business Solutions
v
K U R Z FA S S U N G
Herstellende Unternehmen erzeugen im Rahmen der digitalen Produktentwicklung zunehmend umfassendere Beschreibungen ihrer Produkte. Gleichzeitig entstehen im Bereich des Webs und der mobilen
Endgeräte neue Anreize, diese Inhalte mithilfe der 3D-Grafik zu präsentieren. Für die Forschung stellt sich die Frage, durch welche Prozesse und Werkzeuge die Produktmodelle für die Nutzung in immersiven Anwendungen optimal aufbereitet werden können. Diese
Arbeit stellt nach einer Analyse der in diesem Kontext umzusetzenden Aufgaben ein Konzept zur automatischen Produktmodellaufbereitung vor. Durch die Integration vorhandener Werkzeuge in eine
Softwarelösung und die Bereitstellung von Schnittstellen nach außen,
können große Mengen von Produktmodellen mit geringem Aufwand
für 3D-Anwendungen aufbereitet werden.
ABSTRACT
In the field of digital product development, manufacturing companies are creating increasingly comprehensive product models. At the
same time a technological progress of 3D-applications for the web
and mobile devices can be observed. These advancements lead to a
rising number of opportunities to visualize products using 3D technologies. The upcoming question is how to process product models
in an optimal way to suit the demands of the mentioned 3d technologies. This work presents a concept to automatically process product
data following predefined tasks for this type of problem. The basic
idea is to integrate existing tools in a server side software solution
and to provide the processed data in a service-oriented manner. The
presented work enables the effective processing of large amounts of
product models to be used in 3d-applications.
vii
I N H A LT S V E R Z E I C H N I S
1 einleitung
1.1
1.2
1.3
Motivation . . . . . . . . . . . . . . . . . . . . . . . . . .
Ziele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Aufbau der Arbeit . . . . . . . . . . . . . . . . . . . . .
2 grundlagen
2.1
2.2
2.3
Produktmodelle . . . . . . . . . . . . . . . . . . . .
2.1.1 Der Produktlebenszyklus . . . . . . . . . .
2.1.2 Inhalt und Struktur von Produktmodellen
STEP – Standard für den Produktdatenaustausch
2.2.1 Überblick . . . . . . . . . . . . . . . . . . .
2.2.2 Anwendungsprotokolle . . . . . . . . . . .
2.2.3 Anwendungsprotokoll 214 . . . . . . . . .
3D-Darstellung im Web und auf mobilen Geräten
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
3 verwandte arbeiten
3.1
3.2
3.3
3.4
4.2
4.3
4.4
Analyse des Problems . . . . . . . . . . . . . . . . . . .
4.1.1 Interessengruppen . . . . . . . . . . . . . . . . .
4.1.2 Rahmenbedingungen . . . . . . . . . . . . . . .
4.1.3 Anforderungen . . . . . . . . . . . . . . . . . . .
4.1.4 Vor- und Nachbedingungen der Produktmodellaufbereitung . . . . . . . . . . . . . . . . . . . .
Aufgaben der Produktmodellaufbereitung . . . . . . .
Modellierung des Softwaresystems . . . . . . . . . . . .
4.3.1 Subsystem: PLM-System . . . . . . . . . . . . . .
4.3.2 Subsystem: CAD2Web-Server . . . . . . . . . . .
4.3.3 Subsystem: 3D-Client . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . .
5 implementierung
5.1
5.2
5.3
5.4
5.5
Zielstellung der Implementierung
Abstraktion des PLM-Systems . .
CAD2Web-Server . . . . . . . . . .
3D-Client . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . .
5
5
6
7
11
12
13
15
19
23
Datenformate für den Austausch und die Visualisierung von Produkten . . . . . . . . . . . . . . . . . . . .
Serviceorientierte Ansätze im kollaborativen Produktdesign . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Entwicklungen im Bereich verteilter Visualisierungen .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . .
4 konzeption
4.1
1
1
2
3
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
23
27
29
32
35
35
35
36
37
39
43
48
53
55
59
60
63
63
63
64
67
69
ix
x
inhaltsverzeichnis
6 auswertung
6.1
6.2
Fazit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Ausblick . . . . . . . . . . . . . . . . . . . . . . . . . . .
71
71
72
a anhang
75
b glossar
81
literaturverzeichnis
87
ABBILDUNGSVERZEICHNIS
Abbildung 1
Abbildung 2
Abbildung 3
Abbildung 4
Abbildung 5
Abbildung 6
Abbildung 7
Abbildung 8
Abbildung 9
Abbildung 10
Abbildung 11
Abbildung 12
Abbildung 13
Abbildung 14
Abbildung 15
Abbildung 16
Abbildung 17
Abbildung 18
Phasen und Tätigkeiten des Produktlebenszyklus 6
Inhalte von Produktmodellen . . . . . . . . . .
9
Grundlagen des Variantenmanagements im AP
214 (STEP) . . . . . . . . . . . . . . . . . . . . . 18
3D-Formate im Engineering-Umfeld . . . . . . 25
Die Interessengruppen . . . . . . . . . . . . . . 35
Produktmodellaufbereitung mechatronischer Produkte . . . . . . . . . . . . . . . . . . . . . . . . 39
CAD Software: SolidWorks 2010 Premium . . 40
Volumenmodelle und Parametrisierung . . . . 41
Freiformflächen am Beispiel NURBS . . . . . . 42
Zusammensetzung von Polygonnetzen . . . . 42
UML-Anwendungsfalldiagramm . . . . . . . . 49
UML-Aktivitätsdiagramm: Produkt hinzufügen 51
UML-Architektur-Montagediagramm . . . . . 52
Komponenten des CAD2Web-Subsystems . . . 55
3D-Anwendungen zur Integration in den CAD2Web-Server . . . . . . . . . . . . . . . . . . . . 57
Abstraktion des PLM-Systems . . . . . . . . . . 63
Softwarekomponenten im Prozess der Produktmodellaufbereitung . . . . . . . . . . . . . . . . 65
Unity 3D-Webclient und Uploadformular . . . 67
TA B E L L E N V E R Z E I C H N I S
Tabelle 1
Tabelle 2
Tabelle 3
Tabelle 4
Tabelle 5
Tabelle 6
Tabelle 7
Tabelle 8
Strukturierung von ISO 10303 (STEP) in Serien
Wichtige Anwendungsprotokolle im mechanischen Design . . . . . . . . . . . . . . . . . . . .
Gegenüberstellung der Konzepte des Austauschs
und des Teilens von CAD-Daten . . . . . . . .
Anforderungen an die 3D-Anwendung und den
Prozess der Produktdatenaufbereitung . . . . .
Kernaufgaben der Produktmodellaufbereitung
Übersicht – STEP-Bibliotheken (SDK) . . . . .
Umgesetzte Aufgaben der Produktmodellaufbereitung . . . . . . . . . . . . . . . . . . . . . .
Durch den X3D Unity Parser unterstützte X3DKnoten . . . . . . . . . . . . . . . . . . . . . . .
13
14
28
37
43
59
64
68
xi
Tabelle 9
Tabelle 10
ISO 10303 (STEP) – Anwendungsprotokolle . .
ISO 10303 (STEP) – Units of Functionality im
AP214 . . . . . . . . . . . . . . . . . . . . . . . .
ABKÜRZUNGSVERZEICHNIS
Ajax
Asynchronous JavaScript and XML
AP
Application Protocol
API
Application Programming Interface
CAD
Computer-Aided Design
CAE
Computer-Aided Engineering
CAM
Computer-Aided Manufacturing
CORBA
Common Object Request Broker Architecture
DCC
Digital Content Creation
DCOM
Distributed Component Object Model
DIN
Deutsches Institut für Normung
DOM
Document Object Model
GUI
Graphical User Interface
HPC
High Performance Computing
HTML
Hypertext Markup Language
HTTP
Hypertext Transfer Protocol
ISO
International Organization for Standardization
JSDAI
Java Standard Data Access Interface
JSON
JavaScript Object Notation
JT
Jupiter Tesselation
LOD
Level of Detail
NURBS
Non-Uniform Rational B-Spline
OpenGL
Open Graphics Library
PDM
Product Data Management
xii
77
79
abkürzungsverzeichnis
PLM
Product Lifecycle Management
REST
Representational State Transfer
RFC
Remote Function Call
RMI
Remote Method Invocation
SDK
Software Development Kit
SOA
Service-Oriented Architecture
SOAP
Simple Object Access Protocol
STEP
STandard for the Exchange of Product model data
UML
Unified Modeling Language
UoF
Unit of Functionality
URL
Uniform Resource Locator
VPE
Virtuelle Produktentstehung
VR
Virtual Reality
VRML
Virtual Reality Modeling Language
W3C
World Wide Web Consortium
WebGL
Web Graphics Library
WS
Webservice
WSDL
Web Services Description Language
WWW
World Wide Web
XML
Extensible Markup Language
XSLT
Extensible Stylesheet Language Transformation
X3D
Extensible 3D
xiii
1
EINLEITUNG
1.1
motivation
Unternehmen, welche mechatronische Produkte herstellen – etwa in
der Automobilindustrie oder im Maschinen- und Anlagenbau – sehen
sich aktuell mit einem erheblichen Wandel der Marktbedingungen
konfrontiert. Eine wesentliche Ursache für diesen Wandel ist in der
Globalisierung zu sehen.
Auf der einen Seite führt sie zu einer potentiellen Erweiterung des
Absatzmarktes und auf der anderen Seite zu einer Zunahme der Konkurrenz durch globale Mitbewerber am Markt. Beide Entwicklungen
stellen neue Anforderungen an produzierende Unternehmen.
Die Erschließung neuer Absatzmärkte führt zu heterogener werdenden Zielgruppen mit verschiedenen Ansprüchen an die Produkte. Im Automobilbau zeigt sich zum Beispiel der Trend, durch eine
steigende Anzahl von Fahrzeugvarianten mit zunehmender Ausstattungsvielfalt möglichst viele Kundenwünsche bedienen zu wollen.
Das Ziel ist eine höhere Marktabdeckung.
Auch im Maschinen- und Anlagenbau müssen zunehmend eigentlich standardisierte Produkte an die Anforderungen des Auftraggebers angepasst werden [Kon07, S. 19]. Dies macht es zum Beispiel
einem Vertriebsmitarbeiter schwer, für einen Kunden mit speziellen
Anforderungen das richtige Produkt unter Tausenden bis Millionen
theoretisch möglicher Zusammenstellungen zu wählen. Ebenso hat es
der Kunde schwer sich über die möglichen Varianten eines Produktes
zu informieren.
Abhilfe für dieses Problem versprechen elektronische Produktkonfiguratoren. Sie unterstützen den Vertriebsmitarbeiter oder den Endkunden bei der Zusammenstellung eines Produktes aus vorgegebenen Produktkomponenten unter Beachtung von Konfigurationsregeln.
So übernehmen sie beispielsweise die Prüfung, ob bestimmte Konfigurationen von Produkten technisch realisierbar sind, führen Preisberechnungen durch und erzeugen Stücklisten. Dadurch wird die fehlerfreie Erstellung von Angeboten in kürzester Zeit ermöglicht.
In diesem Zusammenhang kommt auch der 3D-Visualisierung eine
tragende Rolle zu. Sie ermöglicht die sofortige Darstellung des konfigurierten Produktes und stellt damit eine wichtige Form der Kommunikation dar. Die Anwendung von 3D-Technologien im Vertrieb
bleibt dabei nicht auf das Zusammenspiel mit Produktkonfiguratoren beschränkt. Generell ist es von großem Nutzen dem Kunden die
1
Entwicklung:
komplexer werdende
mechatronische
Produkte
Folge:
Bedarf an
3D-Visualisierung
und -Konfiguration
2
Entwicklung:
zunehmend virtuelle
Produktentwicklung
einleitung
zunehmend komplexer werdenden mechatronischen Produkte räumlich erfahrbar zu machen.
Die zweite wichtige Folge der Globalisierung, neben der angesprochenen Erweiterung der Zielgruppe und der damit einher gehenden
Erhöhung der Produktkomplexität, stellt der zunehmende Konkurrenzdruck dar. Durch moderne Logistik und Kommunikationskanäle sind Kunden immer weniger an lokale Hersteller gebunden. Dies
äußert sich für Unternehmen beispielsweise in einem zunehmenden
Innovationsdruck, steigenden Qualitätsansprüchen und dem Zwang,
die Produkteinführungszeit (engl. time to market) verringern zu müssen. All dies ist verbunden mit der Anforderung die Kosten für die
Entwicklung und die Produktion zu senken.
Um diesen Entwicklungen Rechnung zu tragen, setzten Unternehmen seit Jahren verstärkt auf die virtuelle Produktentstehung (engl.
virtual engineering). Darunter wird die durchgehende Rechnerunterstützung bei der Produkt- und Produktionsentwicklung auf Basis digitaler realitätsnaher Modelle verstanden.
Um in heutigen globalen Märkten erfolgreich zu sein, müssen
Unternehmen, und dies schließt kleine und mittelständische Unternehmen explizit ein, adäquate Kompetenzen im Bereich der
virtuellen Produktentstehung aufbauen. [ES09, S.47]
Herausforderung:
Ergebnisse virtueller
Produktentwicklung
optimal für
3D-Anwendungen
nutzen
Die dargestellten Trends, in Form des steigenden Bedarfs an Lösungen zur Produktkonfiguration und -visualisierung einerseits und der
zunehmenden Verbreitung der virtuellen Produktentstehung andererseits, werfen die folgende Frage auf: In wieweit lassen sich die Ergebnisse der virtuellen Produktentstehung für Lösungen zur Konfiguration und zur Visualisierung von mechatronischen Produkten nutzen?
1.2
ziele
Das Ziel dieser Arbeit liegt in der Erstellung eines Konzepts zur optimierten Nutzung von Produktmodellen im Kontext von interaktiven 3D-Anwendungen.
Dabei stellen die Produktmodelle das Ergebnis der virtuellen Produktentstehung in produzierenden Unternehmen dar. Neben der Betrachtung, was die Ergebnisse dieses Prozesses sind und in welcher
Form sie vorliegen, stellt sich vor allem die Frage, wie die resultierenden Daten für 3D-Applikationen bereitgestellt werden können.
Da die Produktmodelle nicht primär für die Nutzung in interaktiven 3D-Anwendungen zu Vertriebszwecken optimiert wurden, legt
dies weiterhin die Notwendigkeit der Aufbereitung dieser Daten nahe. Aus diesem Grunde wird untersucht, welche Schritte der Datenverarbeitung nötig sind, welche existierenden Werkzeuge dazu herangezogen werden können und wie sich diese in eine Gesamtsoftwarearchitektur integrieren lassen.
1.3 aufbau der arbeit
3
Besonderes Augenmerk bei der Entwicklung einer solchen Softwarearchitektur soll auf einem möglichst hohen Automatisierungsgrad liegen. Es wird zu untersuchen sein, wie weit auf manuelle Bearbeitung der Datensätze verzichtet werden kann und welche Kompromisse dabei unter Umständen in Kauf genommen werden müssen.
Weiterhin besteht die Anforderung, Produktmodelle und Teile von
Produktmodellen zur Laufzeit in eine 3D-Anwendung nachladen zu
können. Dies stellt eine wichtige Voraussetzung für den Einsatz im
Kontext von 3D-Webanwendungen dar.
1.3
aufbau der arbeit
An dieser Stelle soll ein Überblick über den Inhalt der vorliegenden
Arbeit gegeben werden, um das methodische Vorgehen beim Erarbeiten der Lösung nachvollziehen zu können.
In Kapitel 1 wird auf aktuelle Entwicklungen im Umfeld der herstellenden Industrie hingewiesen, welche die Grundlage für die zu
bearbeitende Aufgabenstellung bilden. Aus der beschriebenen Situation und den daraus resultierenden Anforderungen der Unternehmen
wird weiterhin die Zielstellung formuliert.
Kapitel 2 führt in die Grundlagen der zu verarbeitenden Produktmodelle ein und stellt relevante 3D-Technologien vor.
Um die Produktinformationen der Industrie sinnvoll in 3D-Applikationen nutzen zu können, ist es nötig, die Inhalte von Produktmodellen zu kennen und zu verstehen. Dazu werden der Produktlebenszyklus, die Inhalte und die Strukturen von Produktmodellen
untersucht. Daraufhin erfolgt die Vorstellung von STEP als wichtigen
Standard zur Repräsentation von Produktdaten. Nachdem damit das
Fundament für das Verständnis der Produktdaten auf Seiten der herstellenden Industrie geschaffen ist, werden mögliche Technologien
zur Darstellung dieser Informationen beschrieben. Dies sind im Besonderen neuere Technologien zur Implementierung von 3D-Anwendungen für das Web und für mobile Geräte.
Kapitel 3 dient der Diskussion relevanter Arbeiten auf dem Gebiet
der verteilten Visualisierung. Der Schwerpunkt liegt im Besonderen
auf aktuellen Entwicklungen im Bereich der kollaborativen Produktentwicklung. Dazu werden 3D-Formate im Engineering-Umfeld sowie Konzepte und Softwaresysteme zur Verteilung, Verarbeitung und
Visualisierung von Produktdaten betrachtet. Darüber hinaus erfolgt
eine Betrachtung allgemeiner Trends im Feld der verteilten Visualisierung im Hinblick auf Hardwareplattformen, Browserentwicklugnen
sowie neue Geschäftsmodelle.
Im Kapitel 4 werden die bis dahin vorgestellten Erkenntnisse zur
Entwicklung einer neuen Lösung genutzt. Dazu ist es zunächst nötig
auf die besonderen Anforderungen einer 3D-Anwendung zur Präsentation von Produkten außerhalb des Engineerings einzugehen. An-
Einleitung
Grundlagen
Verwandte Arbeiten
Konzeption
4
Implementierung
Auswertung
einleitung
schließend wird das Konzept zur optimierten Bereitstellung und Verarbeitung von Produktdaten für 3D-Anwendungen entwickelt. Der
Fokus liegt dabei im Besonderen auf der Quelle der Produktdaten,
deren Verarbeitung sowie deren Visualisierung.
Das Kapitel 5 beschreibt die prototypische Implementierung der
vorgestellten Softwarearchitektur. Es wird auf die Auswahl konkreter
Werkzeuge und Softwarebibliotheken zur Umsetzung eingegangen
und dargelegt, welche Teile der Konzeption implementiert sind.
Kapitel 6 fasst die Ergebnisse dieser Arbeit zusammen und zeigt
Potential für die theoretische und praktische Weiterentwicklung der
vorgestellten Lösung auf.
2
GRUNDLAGEN
2.1
produktmodelle
Um die in der Industrie entstehenden Informationen rund um Produkte besser in 3D-Anwendungen nutzen zu können, ist ein grundlegendes Verständnis für die Verarbeitung und Speicherung dieser
Informationen in den Unternehmen nötig.
Wenn im Rahmen dieser Arbeit von Unternehmen oder der herstellenden Industrie gesprochen wird, ist damit primär der Sektor des
Maschinen- und Anlagenbaus gemeint. In diesem Zusammenhang
sind mit Produkten die Erzeugnisse dieser Branchen gemeint. Man
spricht auch von mechatronischen Produkten. Der Begriff bezeichnet Systeme, die Elemente der Mechanik, Elektronik und Informatik
vereinen. Fabrikate der Automobil- sowie der Luft- und Raumfahrtindustrie gehören ebenfalls dazu.
Im Folgenden wird zu klären sein, welche Informationen die herstellende Industrie über deren Erzeugnisse verwaltet, in welcher Form
die Daten abgelegt werden und welche Möglichkeiten zum Auslesen
der Informationen bestehen. Somit bilden die folgenden drei Themen
die Schwerpunkte dieses Kapitels:
• Inhalt von Produktmodellen
• Struktur von Produktmodellen
• Auslesen von Produktmodellen
Erst wenn klar ist welche Informationen wie zur Verfügung stehen,
lassen sich Ansätze für eine optimierte Nutzung der Daten im Kontext der 3D-Visualisierung finden.
Da der Begriff des Produktmodells eine wesentliche Rolle innerhalb der vorliegenden Arbeit spielt, muss dieser zunächst erläutert
werden. Anschließend veranschaulicht die Vorstellung des Produktlebenszyklus den Ursprung der produktbeschreibenden Informationen. Um den Inhalt und die Struktur von Produktmodellen besser
verstehen zu können, werden die möglichen Inhalte vorgestellt, um
dann auf konkrete Standards und Dateiformate einzugehen, welche
in der Lage sind, die entsprechenden Informationen abzubilden. Die
Möglichkeiten zum Auslesen jener Informationen lassen sich nachfolgend durch die Diskussion wesentlicher Merkmale informationstechnischer Systeme zur Verwaltung von Produktdaten erkennen.
Zunächst wird das Konzept des Produktmodells vorgestellt. Es
existieren verschiedene Definitionen dessen, was der Begriff Produkt-
5
6
grundlagen
Anforderungen
Sammeln der
Anforderungen
Produktplanung
Programm- /
Portfolioplanung
Projektplan,
Team- & Budgetbestimmung
Anforderungsbestimmung
Methodik
Konzeption
Entwicklung
Mechanische
Konstruktion
Elektrische
Konstruktion
Elektronische
Konstruktion
Softwarekonzeption
Simulation
DMU/PMU
Prozessplanung
Produktion
Betrieb
Prozessplanung
Herstellung
Distribution
Werkzeugdesign
Zusammenbau
Service
Herstellungsressourcenfestlegung
Qualitätsabsicherung
Wartung &
Revision
Recycling
Recycling
Einkauf
Simulation/
Testen
Testen
Dokumentation
Abbildung 1: Phasen und Tätigkeiten des Produktlebenszyklus, nach
[ES09, S. 9]
modell bezeichnet. Diese Arbeit geht von folgendem Verständnis des
Begriffs aus (vgl. [ES09, S. 27], [Nur09, S. 54]).
produktmodell: Ein Produktmodell ist die modellhafte Darstellung eines Produktes in digitaler Form. Ziel ist die Abbildung
des Produkts mit seinen für den gesamten Lebenszyklus relevanten Informationen.
2.1.1
Phasen im
Produktlebenszyklus
Der Produktlebenszyklus
Wie für viele weitere Erzeugnisse lässt sich auch für mechatronische
Produkte ein Lebenszyklus erkennen. Dieser beschreibt die Phasen
im Leben eines Produktes von den ersten Überlegungen bis hin zur
Entsorgung. Nach STARK ist der Lebenszyklus jedoch nicht einheitlich, sondern stets abhängig von der Sicht auf diesen. Für den Vertrieb
könnten sich die Phasen als Produkteinführung, Anstieg des Absatzes, Sättigung des Marktes und Absinken des Absatzes darstellen.
Der Produktlebenszyklus lässt sich ebenfalls aus dem Blickwinkel
des Herstellers oder des Endkunden betrachten sowie im Hinblick
auf die globale Ressourcenkette [Sta05, S. 17-19].
Für die weiteren Betrachtungen ist die Sicht vom Hersteller von besonderer Bedeutung. Schließlich ist es der Hersteller, der im Rahmen
der virtuellen Produktentwicklung (VPE) die wesentlichen Informationen zu seinen Produkten verwaltet und speichert.
Der Produktlebenszyklus ist aus dem Grunde von Bedeutung, da
mit jeder Phase aus Sicht des Unternehmens bestimmte Tätigkeiten
verbunden sind. Zu diesen Tätigkeiten werden Informationen über
die Produkte verarbeitet und gespeichert. Der Produktlebenszyklus
dient hier dem Überblick der im produzierenden Unternehmen für
ein Produkt anfallenden Daten. Abbildung 1 zeigt die Phasen im Produktlebenszyklus mit den zugehörigen Tätigkeiten.
In den mittleren Phasen Produktplanung, Entwicklung, Prozessplanung und Produktion fallen in herstellenden Unternehmen traditio-
2.1 produktmodelle
nell die meisten Informationen an. Dieser Teil wird als Produktentstehungsprozess bezeichnet [ES09, S. 10]. Ziel des Produktentstehungsprozesses, als Bereich des Produktlebenszyklus, ist die vollständige
elektronische Beschreibung des virtuellen Produktes. Die Dokumente betreffen dazu neben dem Produkt selbst auch deren Produktion.
In diesem Zusammenhang wird auch deutlich, dass sich der Lebenszyklus weniger auf das konkrete physische Produkt in den Händen
des Kunden bezieht, als viel mehr auf die intellektuelle Beschreibung
der Produktreihe als Eigentum des Unternehmens. In den Unternehmen setzt sich zunehmend die Erkenntnis durch, dass es nicht ausreichend ist, nur Daten des Produktentwicklungsprozesses einheitlich zu speichern und zu verarbeiten. Eine ganzheitliche Sichtweise
auf den Produktlebenszyklus verbreitet sich zunehmend. Herstellende Unternehmen verwalten heute auch Daten, welche die Produkte betreffen, nachdem sie die Werkshallen verlassen haben. Aktivitäten in diesem Zusammenhang werden als Product Lifecycle Management (PLM) bezeichnet.
2.1.2
Inhalt und Struktur von Produktmodellen
Durch den Lebenszyklus der Produkte ist bereits deutlich geworden,
aus welchen Aktivitäten und Phasen sich die produktbezogenen Informationen ergeben. An dieser Stelle soll dargestellt werden, welche
Daten in Industrieunternehmen potentiell zu deren Produkten vorliegen und wie sich diese inhaltlich strukturieren lassen. Weiterhin ist
von Interesse, welche dieser Daten besonders relevant für die Verwendung in 3D-Anwendungen zu Vertriebszwecken sind.
Generell lässt sich feststellen, dass es eine vollständige Auflistung
aller möglichen Informationen zu Produkten nicht geben kann. Welche Daten ein Unternehmen über seine Produkte führt, hängt unter
anderem von der Branche, dem Unternehmen und nicht zuletzt von
der Art der Produkte ab. Es wäre nicht sinnvoll alle Typen von Informationen auflisten zu wollen, die je über ein Produkt der hier fokussierten Branchen angefallen sind. In diesem Sinne lässt sich kein
allgemeingültiges Informationsmodell für mechatronische Produkte
formulieren. Wohl aber lassen sich jene Daten bezeichnen, die besonders häufig in solchen Unternehmen anfallen und als branchenüblich
gelten.
In der Literatur finden sich unterschiedliche Ansätze, um die Inhalte von Produktmodellen strukturiert aufzuführen. Es lassen sich
Aspekte erkennen wie die Phase im Lebenszyklus, in der die Informationen erzeugt werden. Auch eine Kategorisierung danach, ob ein
direkter Bezug zum Produkt besteht oder nicht, ist denkbar. Bei Daten mit direktem Produktbezug wird auch von produktdefinierenden oder produktbeschreibenden Daten gesprochen [SI08, S. 7]. Dem
gegenüber stehen etwa Informationen zu Bestellprozessen, der Ferti-
7
8
grundlagen
gung oder dem Personalwesen, die zwar eine Zugehörigkeit zu einer
konkreten Produktreihe erkennen lassen, diese selbst jedoch nicht direkt beschreiben.
Nach EIGNER und STELZER ergibt sich der Inhalt von Produktmodellen aus folgenden Teilen [ES09, S 28]:
• Produktstammsatz und Produktstruktur
• Dokumente und Dokumentenstruktur
Unter Stammdaten werden dabei jene Daten verstanden, die selbstständig, ohne Beziehung zu anderen Daten aussagefähig sind. Beschreibungen der Geometrie oder Preisinformationen fallen beispielsweise in diese Kategorie. Strukturdaten stellen dagegen die Beziehungen zwischen den Ausprägungen von Stammdaten her. Stücklisten
erfüllen unter anderem dieses Kriterium.
Ein Dokument stellt laut DIN 6789 eine als Einheit gehandhabte Zusammenstellung von Informationen dar, die nicht flüchtig auf einen
Informationsträger gespeichert sind [ES09, S. 29]. Sie lassen sich in
technische und kommerzielle Dokumente einteilen und enthalten eine Dokumentenstruktur. Sie basieren weiterhin auf Industriestandards,
proprietären Formaten oder genormten Formaten.
SAAKSVUORI und IMMONEN betrachten Produktdaten hingegen unter anderen Aspekten. Sie erkennen in Bezug auf den Inhalt
von Produktdaten im Groben drei Gruppen [SI08, S. 7]:
• Daten zur Produktdefinition
• Daten zum Produktlebenszyklus
• Metadaten zur Beschreibung der Produkt- und Lebenszyklusdaten
Daten zur Produktdefinition beschreiben dabei physikalische oder
funktionale Eigenschaften. Dies beinhaltet sowohl technische Daten,
als auch abstrakte oder konzeptionelle Informationen. Daten dieser
Gruppe dienen somit der kompletten Definition des Produktes.
In der zweiten Gruppe sehen SAAKSVUORI und IMMONEN jene
Daten, mit Bezug zu Prozessen des Produktlebenszyklus. Dies beinhaltet Informationen aus den Bereichen Forschung, Design, Produktion, Nutzung, Wartung und Produktbeseitigung. Auch offizielle Regularien und Vorschriften fallen in diese Kategorie.
Darüber hinaus gehören zu den Produktdaten auch Metainformationen. Im Sinne einer Information über Informationen beschreiben
sie wiederum die Daten der Produktdefinition und die des Produktlebenszyklus. Beispiele dafür sind Angaben zur Art der Informationen,
zum Ablageort, zum Autor oder zu den Zugriffsbeschränkungen.
2.1 produktmodelle
Produktdatenmodell
Technische Informationen
Kommerzielle Informationen
Produkt-Geometrie
Absatz
Darstellung 3D/2D
Darstellungsangaben
Abmessungen
Toleranzen
Produkt-Technologie
Werkstoff
Oberflächen-Farbe
Oberflächen-Muster
Oberflächen-Reflexion
Oberflächen-Transparenz
Festkörper-Simulation
Kinematische-Simulation
Funktion
Physikalische Eigenschaften
Technische Klassifikation
Teileart
Normierte Benennung
Statusdaten
Varianten-Entwurfsstückliste
Varianten-Planungsstückliste
Varianten-Auslieferungsstückliste
Varianten-Wartungsstückliste
Dokumentation
Fertigung
Fertigungspläne
Betriebsmittel
Schablonen
Methodenpläne
NC-Programmierung
Urmodelle
Qualitätssicherung
Verkaufspreis
Rabatte
Bonuskonditionen
Mindestverkaufsmenge
Verpackungsmengen
Bestand
Akkumulierte Bestände
Akkumul. reservierte Bestände
Mindestbestand
Bedarf
Bedarfsart
Akkumulierter gedeckter Bedarf
Disposition
Beschaffungsart
Dispositionsart
Dispositionsstufe
Ersatzteileart
Kalkulation
Materialkosten
Lohnkosten
Maschinenkosten
Auftragswiederholkosten
Lagerkostensatz
Produktion
Materialkosten
Lohnkosten
Maschinenkosten
Auftragswiederholkosten
Beschaffung
Lohnkosten
Maschinenkosten
Auftragswiederholkosten
Abbildung 2: Inhalte von Produktmodellen
9
10
grundlagen
Bezogen auf die Kategorisierung von Produktdaten nach SAAKSVUORI und IMMONEN besitzen die produktdefinierenden Informationen der ersten Gruppe die höchste Relevanz für diese Arbeit. Diese
sind für die Nutzung im Rahmen von 3D-Anwendungen besonders
von Interesse. Schließlich soll in einer Anwendung zur Vertriebsunterstützung vor allem das Produkt selbst beschrieben und beworben
werden.
Im Folgenden wird daher besonders zu klären sein, welche Daten
mit direktem Produktbezug innerhalb produzierender Unternehmen
anfallen und welchen Nutzen diese im Kontext von 3D-Vertriebsanwendungen haben können.
Eine Übersicht von Informationen, die häufig zu Produkten in der
Industrie verwaltet werden, ist in Abbildung 2 dargestellt. Im Groben
lässt sich eine Einteilung nach Inhalten mit technischen Bezug und
Inhalten mit kommerziellen Bezug treffen. Zu den technischen Daten
gehören zum einen Angaben mit direktem Produktbezug, etwa Beschreibungen der Geometrie oder der Technologie des Artikels. Zum
anderen existieren technische Informationen mit weniger direktem
Produktbezug. Diese Gruppe von Daten bezieht sich hauptsächlich
auf Prozesse der Fertigung. Da die Letztgenannten nicht das Produkt
selbst beschreiben, sind sie für die Betrachtungen im Rahmen dieser
Arbeit weniger von Interesse.
Neben der Aufzählung der Inhalte von Produktmodellen ist in Abbildung 2 auch die Relevanz der jeweiligen Inhalte für die Verwendung in 3D-Vertriebsanwendungen dargestellt. Die grau abgebildeten Inhalte sind für solche Anwendungen weniger relevant. Essentiell
sind hingegen die geometrischen Informationen, die in den Phasen
des Designs und der Konstruktion mit Werkzeugen des CAD entstehen.
Neben zweidimensionalen Zeichnungen betrifft dies vor allem dreidimensionale Modelle der Produkte. Diese liegen in sogenannten Volumenmodellen vor und stellen mathematisch präzise Beschreibungen der Produktgeometrie dar. Bei dieser Art von Geometrierepräsentation lässt sich die Form jederzeit anhand von Parametern ändern. Für den Prozess der Konstruktion ist diese Methode günstig,
da sie nachträgliche Änderungen an der Form ermöglicht und diese darüber hinaus für Prozesse der Fertigung sehr präzise beschreibt.
Für 3D-Anwendungen zur Präsentation der Produkte ist diese Form
der Geometriebeschreibung ungeeignet, da sie hohe Anforderungen
an die Rechenleistung bei der Darstellung stellt. In Kapitel 4 wird
dieses Problem näher beschrieben und Lösungsmöglichkeiten vorgestellt. Relevant für die Darstellung im Kontext einer Vertriebsanwendung sind neben der Geometrie selbst auch Angaben über die Abmessungen von Teilen und Baugruppen.
Bezogen auf die Technologie der Produkte sind besonders Angaben zur Beschaffenheit, zur Struktur und zu physikalischen Eigen-
2.2 step – standard für den produktdatenaustausch
schaften von Interesse. Die Beschaffenheit wird durch Angaben zum
Werkstoff und durch Oberflächeneingenschaften wie Farbe, Reflexion
oder Transparenz beschrieben. Informationen zur Struktur der Produkte liegen explizit in Form von Stücklisten, aber auch implizit innerhalb der 3D-Modelle vor.
Der im Kapitel 1 beschriebene Umstand der zunehmenden Komplexität von Artikeln zeigt sich in der Form der Strukturdarstellung
innerhalb von Produktmodellen. Die Stücklisten beschreiben die Hierarchie und die Quantität von Baugruppen und Einzelteilen, aus denen Produkte zusammengesetzt sind. Dabei besteht ein Produkt aus
einer oder mehreren Baugruppen und eine Baugruppe wiederum aus
mehreren Einzelteilen. Die einzelnen Produktvarianten sind nicht explizit in einer Stückliste aufgelistet, sondern in Form von regelbasierten Variantenstücklisten beschrieben (vgl. [ES09, S. 87]). Zudem existieren verschiedene Stücklisten aus Sicht des Produktlebenszyklus.
Neben den Entwurfs- und Planungsstücklisten sind besonders die
Auslieferungs- und Wartungsstücklisten für die Nutzung in 3D-Anwendungen relevant.
Die Beschreibung von physikalischen Eingenschaften erfolgt in der
Regel durch Messung oder Simulation. Dazu gehören Angaben des
Gewichts oder der Oberflächensteifigkeit, bis hin zu Ergebnissen der
Festkörper- und Kinematiksimulation.
Bezüglich der kommerziellen Informationen über Produkte interessieren im Hinblick auf vertriebsunterstützende Anwendungen vor
allem die Absatzinformationen wie Verkaufspreise, Rabatte oder Bonuskonditionen.
2.2
step – standard für den produktdatenaustausch
In diesem Abschnitt wird beschrieben, auf Grundlage welcher Formate Produktdaten in der Praxis gespeichert und verarbeitet werden. Diese Problematik ist innerhalb der produzierenden Industrie
nach wie vor ein aktuelles Thema (siehe [Fro11], [DBM+ 07], [BDP07]).
Aufgrund der vielschichtigen Anforderungen unterschiedlicher Branchen und einer Vielzahl von Softwarelösungen sind die Standards in
diesem Bereich hoch komplex.
Für die Betrachtung im Rahmen dieser Arbeit wird mit STEP der
aktuell wohl wichtigste internationale Standard in dieser Domäne näher betrachtet (vgl. [Fro11, S. 4]). Der Fokus liegt im Besonderen auf
den Fragen, welche Produktinformationen von einem solchen Standard abgedeckt sind und wie diese üblicherweise ausgetauscht werden. Neben diesen Fragen wird es für ein Grundverständnis dieser
wichtigen Norm auch nötig sein, die Grundstrukturen des Standards
kurz vorzustellen.
11
12
grundlagen
2.2.1
Überblick
ist ein durch die internationale Normungsorganisation ISO zertifizierter Standard für den Austausch von Produktdaten. Die formelle
Bezeichnung lautet ISO 10303. Die Abkürzung STEP beschreibt hingegen den Inhalt des Standards und steht für STandard for the Exchange
of Product model data. Der Standard stellt in Bezug auf Produktdaten
folgende Funktionalitäten zur Verfügung (vgl. [And00, S. 10]):
STEP
• Speicherung
• Austausch
• Archivierung
• Transformation
Ziele von STEP
Es werden Mechanismen bereitgestellt, die besonders die systemunabhängige Beschreibung und den Austausch von Produktdaten ermöglichen. Der Fokus liegt dabei auf der Abdeckung von Produktinformationen bezogen auf den gesamten Produktlebenszyklus.
Als Folge der Standardisierung zählt STEP heute zu den wichtigsten
Austauschformaten im Bereich der virtuellen Entwicklung mechatronischer Produkte. Üblicherweise wird STEP innerhalb von CAD, CAM,
CAE, PDM, PLM und anderen CAx-Systemen für den Datenaustausch
verwendet.
Dabei stellt STEP nicht einfach nur ein Datenformat dar. Es lässt
sich viel mehr als Sammlung von Standards verstehen, zu der kontinuierlich neue Teile hinzukommen. In diesem Sinne spricht man von
ISO 10303 auch als Normenreihe [And00, S. 45].
Tabelle 1 zeigt den groben Inhalt des STEP-Standards durch dessen
Einteilung in Serien. Sie fassen inhaltlich zusammengehörige Teile
der Norm zusammen. Der Aufbau kann so verstanden werden, dass
zunächst grundlegende Strukturen und Inhalte definiert werden, um
sie in verschiedenen höheren Anwendungsbereichen nutzen zu können. Als Beispiel sei die Modellierungssprache EXPRESS erwähnt. Eigens für STEP entwickelt, ermöglicht sie das Erstellen von Referenzmodellen für mehrere Anwendungsdomänen. So wurden mit Hilfe
dieser Modellierungssprache spezialisierte Referenzmodelle für den
Datenaustausch im Bereich des Automobil- sowie des Schiffbaus definiert.
In diesem Sinne können die Teile (engl. parts) 1-100 als grundlegende Werkzeuge verstanden werden, um die Beschreibung und den
Austausch von Produktinformationen in unterschiedlichen Anwendungsbereichen zu ermöglichen. Zu diesen grundlegenden Inhalten
zählen neben der bereits erwähnten Modellierungssprache etwa Festlegungen zur Implementierung und Qualitätssicherung von Softwarelösungen. Erwähnenswert sind darüber hinaus die Inhalte der 40erSerie. Dort werden generische Ressourcen zur Beschreibung der Geo-
2.2 step – standard für den produktdatenaustausch
serie
inhalt
1-10
Einführende Dokumente, Zielsetzung, Aufbau der
Norm
10er
Spezifikationsmethoden zur Beschreibung von Modellen (Modellierungssprache EXPRESS)
20er
Normen zur Implementierung von Softwarelösungen
30er
Methoden zur Konformitätsprüfung von Implementierungen
40er
Anwendungsneutrale Produktmerkmale (z. B. Geometriemodell, Produktstruktur, Präsentationsmodell)
100er
Anwendungsbezogene
Basismodelle
Zeichnungserstellungs-, Kinematikmodell)
200er
Anwendungsprotokolle (AP) zur Verwendung von Produktmodellen in bestimmten Anwendungskontexten
300er
Testfälle zur Konformitätsprüfung der AP
500er
Allgemeine Konstrukte des Produktmodells
(z. B.
Tabelle 1: Strukturierung von ISO 10303 (STEP) in Serien (vgl. [And00, S. 44])
metrie und der Struktur von Produkten sowie Angaben zur Präsentation von Produktdaten bereitgestellt.
2.2.2
Anwendungsprotokolle
Die vorgestellten Grundstrukturen werden durch sogenannte Anwendungsprotokolle (AP) für bestimmte Domänen genutzt. Deren Inhalte
definieren die Teile der 200er-Serie. In folgende Gruppen von Anwendungsbereichen lassen sich die AP im Wesentlichen gliedern:
• Mechanisches Design
• Elektronik
• Schiffbau
• Fertigung
• Life Cycle Support
Eine Liste der Anwendungsprotokolle ist im Anhang in Tabelle 9
dargestellt. Davon sind für die Praxis allerdings nur wenige relevant.
Die mit Abstand am weitesten verbreiteten Protokolle finden sich innerhalb der Gruppe des mechanischen Designs. Die Inhalte und Refe-
13
14
grundlagen
jahr
ap-nr
name
1994
AP 203
Configuration-controlled 3D designs of mechanical parts and assemblies
1995
AP 214
Core data for automotive mechanical design
processes
2012
AP 242
Managed model based 3d engineering
Tabelle 2: Wichtige Anwendungsprotokolle (AP) im mechanischen Design
und deren Veröffentlichungsdaten
renzmodelle dieser Anwendungsprotokolle sind es, die durch CAD, PDM- oder PLM-Systeme implementiert werden, um Produktdaten
zwischen ihnen auszutauschen.
Tabelle 2 stellt die wichtigsten Anwendungsprotokolle vor, die im
Bereich des mechanischen Designs relevant sind. Am Veröffentlichungsdatum ist zu erkennen, in welcher Reihenfolge diese erschienen sind.
Dabei umfasst das spätere Anwendungsprotokoll jeweils die Inhalte
des Vorherigen und erweitert diese entsprechend den Erfahrungen
und Bedürfnissen der Industrie.
Das Anwendungsprotokoll 214 ist, von den drei genannten, aktuell von größter Bedeutung. Es ist überhaupt eines der in der Praxis
meistgenutzten Teile der ISO 10303 Normenreihe für den Produktdatenaustausch. Aus dem Grund wird darauf im folgenden Kapitel
gesondert eingegangen.
aktuelle entwicklungen In Tabelle 2 wird weiterhin das AP
242 genannt. Es stellt den Folgestandard des aktuell genutzten Protokolls AP 214 dar und soll voraussichtlich Ende 2012 als ISO-Standard
verabschiedet werden.
Die Daten sollen dabei verstärkt im XML-Format abgelegt und
ausgetauscht werden [Prob]. Dadurch lassen sie sich leichter in internetbasierte Anwendungen integrieren. Vor allem im Bereich des
WWW wird das XML-Format häufig zur Verarbeitung und Verbreitung strukturierter Informationen eingesetzt. Daher ist zu erwarten,
dass aufgrund von weit verbreitetem know-how und einer Vielzahl
von Werkzeugen zur XML-Verarbeitung künftige Datenmodelle der
Industrie besser weiterverarbeitet werden können. Bisher gestaltet
sich das Lesen und Schreiben von Daten im STEP-Format, ohne erhebliches Wissen um den Standard und spezielle Softwarebibliotheken,
als schwierig.
Weiterhin kommt im Standardisierungsprozess des AP 242 auch der
Umstand zum tragen, dass die Ergebnisse der virtuellen Produktentwicklung zunehmend für Anwendungen im Visualisierungsumfeld
2.2 step – standard für den produktdatenaustausch
genutzt werden sollen. So wird im Rahmen der Entwicklung dieser
Norm speziell auf Anforderungen der Visualisierung eingegangen.
Zu diesem Zweck soll die Normung des AP 242 eng mit dem,
ebenfalls aktuell in der Standardisierung befindlichen, Grafikformat
Jupiter Tesselation (JT) abgestimmt werden. Es ist geplant, beide Formate so zu spezifizieren, dass JT als leichtgewichtiges Format für die
Repräsentation der Geometrie dient und STEP als Informationsträger
für Daten des Produktlebenszyklus genutzt wird.
Das JT-Format ist dazu deutlich stärker auf Anforderungen der Visualisierung in verteilten Umgebungen optimiert. Möglichkeiten der
Kompression beschleunigen beispielsweise die Übertragung der Daten und verschiedene Detailgrade (Level of Detail (LOD)) der Geometrie sorgen für eine Anpassung der Geometriekomplexität an die
Leistungsfähigkeit der darstellenden Geräte.
2.2.3
Anwendungsprotokoll 214
Wie bereits erwähnt, stellt das AP 214 einen der wichtigsten Teile der
ISO 10303 dar und ist damit ein weit verbreitetes Format für den Austausch von Produktdaten im Bereich des mechanischen Designs. Der
Name Core data for automotive mechanical design processes lässt vermuten, es handle sich um einen Standard ausschließlich zur Verwendung
in der Automobilindustrie. Die Norm findet jedoch auch in der Luftund Raumfahrtindustrie sowie im Maschinen- und Anlagenbau breite Anwendung (vgl. [Scr06, S. iv]).
Der Fokus dieses Anwendungsprotokolls liegt auf Daten, die während der Designphase entstehen. Dies beinhaltet den Austausch von
produktbeschreibenden Daten, wie Geometrien auf der einen Seite
und den Austausch von organisatorischen Daten, etwa jene der Prozessplanung, auf der anderen Seite [And00, S. 132]. Im Vordergrund
stehen dabei die Produktstruktur und die Handhabung der Varianten von Produkten, die in der Automobilindustrie üblicherweise zahlreich sind.
Welche Produkteigenschaften durch STEP entsprechend des AP 214
beschrieben werden, ist im Standard durch eine Reihe von Funktionseinheiten, Unit of Functionality (UoF) genannt, festgelegt. Der
Standard ordnet diese Funktionseinheiten dabei in folgende logische
Gruppen entsprechend deren Inhalten:
• Oberflächeneigenschaften
• Zeichnungen
• Externe Referenzen
• Formmerkmale
• Geometrie
15
16
grundlagen
• Kinematik
• Messdaten
• Produkteigenschaften
• Darstellung
• Produktstruktur
• Toleranzen
Im Anhang sind in Tabelle 10 die logischen Gruppen mit den entsprechenden UoF des AP 214 aufgelistet. Im Folgenden soll nur auf
die für diese Arbeit wichtigsten Inhalte näher eingegangen werden.
In Unterabschnitt 2.1.2 sind bereits die generellen Inhalte von Produktmodellen im Umfeld des Maschinen- und Anlagenbaus genannt
worden. Viele davon finden sich im AP 214 wieder.
oberflächeneigenschaften Der Standard bietet die Möglichkeit die Oberflächenbeschaffenheit von Produkten zu beschreiben. Dazu gehören vor allem visuelle und haptische Informationen. Zu den
visuellen Informationen zählen Angaben wie Farb-IDs, Farbnamen,
die Reflektivität, die Bezeichnung der Musterung (z.B. für Sitzbezüge) oder der Grad der Transparenz der Oberfläche. Darüber hinaus
lassen sich auch Informationen zum Härtegrad und zur Oberflächenrauigkeit machen. Angaben zum Werkstoff sind ebenfalls möglich.
geometrie Die UoF der Gruppe Geometrie des Anwendungsprotokolls 214 definieren acht mögliche Formen der Geometrierepräsentation (siehe Tabelle 10, Anhang). Einige beschreiben lediglich grundlegende geometrische Primitiven oder erweitern andere Teile um bestimmte Eigenschaften. So lassen sich im wesentlichen folgende vier
Formen geometrischer Modelle im Anwendungsprotokoll 214 erkennen:
• Drahtgittermodelle
• Flächenmodelle
• Konstruktive Festkörpergeometrien
• Punktwolken
Die Drahtgittermodelle (engl. wireframe models) besitzen keine
Flächen und bestehen lediglich aus Punkten, Linien und Kurven. Die
Norm kennt zwei- und dreidimensionale Drahtgittermodelle.
Oberflächenmodelle (engl. surface model), in der durch STEP definierten Form, beschreiben die Hüllen geometrischer Körper. Dabei
besteht die Hülle aus einer Sammlung von miteinander verbundenen
Flächen. Diese Flächen werden wiederum zwischen Punkten, Kanten
2.2 step – standard für den produktdatenaustausch
oder Kurven aufgezogen. Das AP 214 kennt in dem Zusammenhang
Oberflächenmodelle, die nur aus planaren Flächen bestehen und jene,
die auch kurvige Geometriekörper enthalten können.
Konstruktive Festkörpergeometrien ermöglichen den Austausch von
Geometrien, wie sie in der Regel im Rahmen der CAD-Modellierung
anfallen. Ein solches Modell setzt sich aus Primitiven wie Würfeln,
Zylindern oder Kugeln zusammen, die durch boolesche Operationen
zu komplexeren Formen verknüpft werden. Die Objekte, sog. solids,
können darüber hinaus veränderbare Parameter besitzen, deren Werte die Geometrie beeinflussen.
Punktwolken sind zwar nicht durch eine eigene UoF beschrieben,
aber dennoch im Standard enthalten. Sie stellen eine Sammlung kartesischer Koordinaten, mit oder ohne Richtungsvektor dar und entstehen üblicherweise als Ergebnis von 3D-Scans.
Neben den vier vorgestellten Formen der Geometrierepräsentation definiert das AP 214 ein sogenanntes Verbundmodell (engl. compound model). Dieses stellt jedoch keine eigene geometrische Beschreibungsform dar. Ein Verbundmodell sammelt verschiedene geometrische Objekte und vereint sie in einem topologisch verbundenen
Modell. Dazu gehören Drahtgitter- und Flächenmodelle sowie konstruktive Festkörpergeometrien.
produktstruktur: variantenmanagement Das Prinzip hinter der Handhabung der Variantenvielfalt durch STEP beruht auf einer generischen Produktstruktur (vgl. [MPMS98, S. 1]). Das heißt, es
existiert keine einzigartige Bezeichnung für jede produzierbare Variante eines Produktes. Es werden vielmehr Regeln definiert, die eine
Kombination verschiedener Komponenten spezifizieren. Das Ziel der
Anwendung dieser Regeln ist es, zu prüfen, ob die Kombination bestimmter Produktkomponenten zulässig ist.
Um die grundlegenden Konzepte des Variantenmanagements, auf
Basis des AP 214, anschaulich darzustellen, soll ein Beispiel herangezogen werden. Abbildung 3 stellt eine einfache generische Produktstruktur eines Fahrzeuges dar. Die Grafik beschränkt sich dabei auf
die wichtigsten Konzepte. Das Anwendungsprotokoll 214 bietet zur
Beschreibung von Produktvarianten einige Möglichkeiten mehr. Das
im Beispiel vorgestellte Produktmodell könnte bei gleicher Bedeutung auch in anderer Form definiert werden.
Das Grundkonzept dieser generischen Produktstruktur basiert auf
der Definition von Produktklassen (product class) und deren näherer
Beschreibung durch Eigenschaften. Zu diesen Eigenschaften gehören Spezifikationskategorien (specication category), Spezifikationen
(specication), Spezifikationsausdrücke (specication expression) und Spezifikationseinbeziehungen (specication inclusion). Diese Eigenschaften werden als Anwendungsobjekte (application objects) bezeichnet
und sind in Abbildung 3 rechts dargestellt. Auf der linken Seite der
17
18
grundlagen
»Wohnmobil«
PRODUCT CLASS
class_category_association;
mandatory
»Motorisierung«
class_specification_association;
replaceable standard
SPECIFICATION
CATEGORY
category
»Motor 2,3l«
SPECIFICATION
alternative_solution
»Motor 2,8l«
»Komfort-Paket«
»Dachfenster«
»Dachantenne«
»Tempomat«
NOT [Dachfenster AND Dachantenne]
class_condition_association;
validity
if [Komfort-Paket]:
Dachfenster AND Tempomat
SPECIFICATION
EXPRESSION
SPECIFICATION
INCLUSION
class_inclusion_association;
Abbildung 3: Grundlagen des Variantenmanagements im AP 214 (STEP)
2.3 3d-darstellung im web und auf mobilen geräten
Abbildung finden sich die zugehörigen Instanzen dieser Anwendungsobjekte entsprechend des Beispiels.
Eine Produktklasse stellt dabei eine Menge gleichartiger Produkte
dar, die durch ein Unternehmen angeboten werden. Spezifikationen
dienen dazu, die Produktklasse im Hinblick auf Charakteristik und
Funktion näher zu beschreiben. Sie stellen in der Regel zur Produktklasse eine »besteht-aus« Beziehung her. Damit beschreiben sie Produktkomponenten und können zu Kategorien von Spezifikationen
zusammengefasst werden. Eine solche Spezifikationskategorie stellt
eine Eigenschaft dar, die ein Produkt prinzipiell besitzen kann. Erst
durch eine Spezifikation nimmt diese einen konkreten Wert an.
Im Beispiel hält die Produktklasse Wohnmobil eine Beziehung zur
Kategorie Motorisierung mit dem Parameter mandatory, was darauf
hinweist, dass ein Produkt dieser Klasse eine Spezifikation dieser Kategorie besitzen muss. Darüber hinaus sind auch optionale Kategorien möglich.
Für Spezifikationen können Alternativen angegeben werden. Im
Beispiel geschieht dies durch eine Verbindung vom Typ alternative_solution zwischen den Spezifikationen Motor 2,3l und Motor 2,8l. Eine dieser Spezifikationen stellt dabei zunächst die Standardbelegung
dar.
Ein Spezifikationsausdruck (specication expression) stellt einen logischen Ausdruck zur Formulierung gültiger Konfigurationen dar. Er
setzt sich aus Operatoren und Operanden zusammen. Als Operanden können entsprechend des Beispiels Spezifikationen dienen, welche durch die Operationen AND, OR, ONEOF und NOT verknüpft
sind.
Spezifikationseinbeziehungen binden weitere Spezifikationen ein,
falls bestimmte Spezifikationen in der Variante bereits enthalten sind.
Dies können im Sinne des Beispiels vordefinierte Pakete sein. Denn
jede Spezifikation besitzt eine Eigenschaft package, wodurch sich Spezifikationen einem Paket zuordnen lassen.
2.3
3d-darstellung im web und auf mobilen geräten
Die Idee, dreidimensionale Inhalte in das Web zu bringen, ist nicht
neu. Schon Ende der neunziger Jahre wurde mit VRML97 eine Markupsprache entwickelt, auf deren Grundlage 3D-Inhalte im Browser
dargestellt werden können. Verschiedene Gründe führten jedoch dazu, dass ein räumliches Erlebnis im Web zunächst die Ausnahme
blieb. Allgemein geringe Rechenleistungen und fehlende Hardwareunterstützung für 3D-Darstellungen gehörten genauso dazu, wie
langsame Internetverbindungen und mangelnde Initiative auf Seiten
der Browserhersteller. Zur Anzeige von VRML im Web wurden spezielle Plugins benötigt.
19
20
grundlagen
In allen genannten Punkten wurden seitdem erhebliche Fortschritte
gemacht. Mehrkernprozessoren und dedizierte Grafikhardware, selbst
auf kleineren mobilen Geräten, sind mittlerweile die Regel und nicht
die Ausnahme. Breitbandige Internetverbindungen trugen in den letzten Jahren zur rasenden Verbreitung von Videoinhalten im Web bei.
Damit steht auch der Übertragung dreidimensionaler Inhalte kein
Übertragungsproblem im Wege.
Vor allem aktuelle Anstrengungen der Standardisierungsgremien
und Browserhersteller 3D-Darstellungen mit HTML 5 zu harmonisieren wecken Zuversicht, dass solche Anwendungen in Zukunft starke
Verbreitung finden (vgl. [Vö12, S. 111]). Im folgenden werden drei aktuelle 3D-Technologien im Bereich des Web und mobiler Plattformen
vorgestellt:
• WebGL [Weba]
• Unity3D [Uni]
• Stage 3D [Stab]
webgl Seit 2009 wird unter der Schirmherrschaft der Khronos Group
und Mozilla der offene Webstandard Web Graphics Library (WebGL)
entwickelt. Dadurch hält hardwarebeschleunigte 3D-Grafik Einzug
in den Browser. Technisch stellt WebGL eine JavaScript Bindung auf
OpenGL Embedded Systems (ES) 2.0 dar. Das heißt in einem Browser mit entsprechender Unterstützung des Standards können Grafikbefehle mithilfe von JavaScript direkt auf der Grafikkarte ausgeführt
werden.
Wie auch bei den beiden, im Folgenden vorgestellten Technologien,
wird bei dieser 3D-API ein prozeduraler Ansatz verfolgt. Damit ist gemeint, dass in Funktionen definiert wird, wie der Inhalt auf den Bildschirm gezeichnet wird. Deklarative Techniken wie X3DOM [X3D]
und XML3D [XML] setzen dagegen, ähnlich wie HTML, auf die Auszeichnung der Inhalte und beschreiben damit was dargestellt wird.
Ein wesentlicher Vorteil von WebGL besteht darin, dass kein Browser-Plugin zur Darstellung der 3D-Inhalte benötigt wird. Die Technologie ist direkt im Browsern implementiert.
Da die Grafikprogrammierung jedoch auf OpenGL basiert, was traditionell nicht zu den Kernkompetenzen eines Webentwicklers gehört, existieren Frameworks, mit denen auf höherer Ebene Applikationen geschrieben werden können. Zwei verbreitete Vertreter dieser
JavaScript Bibliotheken sind Three.js [Thr] und GLGE [GLG].
unity 3d Mit Unity3D bietet das US-Amerikanische Unternehmen Unity Technologies eine 3D-Engine an, die es ermöglicht für
eine Vielzahl von Plattformen zu entwickeln. Anwendungen können
neben dem Webbrowser auch für mobile Geräte auf Basis von Android oder iOS entwickelt werden. Zur Ausführung im Browser wird die
2.3 3d-darstellung im web und auf mobilen geräten
Installation eines Plugins vorausgesetzt, die sich beim Aufruf einer
3D-Webapplikation allerdings schnell und unkompliziert durchführen lässt.
Auch die Erstellung klassischer Desktopanwendungen für WindowsBetriebssysteme und Mac OS X sind möglich. Eine komfortable grafische Entwicklungsumgebung bietet Unterstützung bei der Erstellung
der Programme. Zur Programmierung dienen die Skriptsprachen JavaScript, Boo und C#.
Für diese Technologie sprechen die umfangreichen Funktionen vorhandener Bibliotheken, die gute Integration weiterer 3D-Werkzeuge in den Entwicklungsprozess sowie die grafische Unterstützung
bei der Entwicklung. Darüber hinaus ist es für das Erreichen einer
breiten Zielgruppe sehr nützlich, einmal entwickelte Anwendung für
mehrere Softwareplattformen exportieren zu können.
stage 3d Mit Stage 3D (ehemals Molehill) steht seit Ende 2011
nun auch für die Flash-Plattform hardwarebeschleunigte 3D-Grafik
bereit. Technisch stellt es eine API für die Skriptsprache ActionScript
3.0 dar, die wiederum unter Windows auf die Grafikbibliothek DirectX
9 zugreift und unter Mac OS X und Linux auf OpenGL 1.3. Aufgrund
der hohen Verbreitung des Flash-Plugins in Browsern stellt es eine
Alternative zu den beiden vorher genannten Techniken dar. Im April
2012 verfügten über 95% der Nutzer im Web über das Flash Plugin.
Bereits 64% hatten die, zu dem Zeitpunkt, aktuelle Version 11 installiert und damit 3D-Unterstützung [Staa].
21
3
V E R WA N D T E A R B E I T E N
Im Folgenden werden Arbeiten vorgestellt, die sich mit dem Austausch von Produktmodellen, deren Verarbeitung sowie deren Visualisierung befassen. Vor allem neuere Forschungen im Bereich der virtuellen Produktentwicklung sind für die vorliegende Arbeit relevant.
Die Handhabung und Darstellung der Entwicklungsstände beinhaltet ähnliche Aufgaben wie die spätere Verarbeitung und Präsentation
finaler Produktmodelle.
Durch die im Kapitel 1 bereits angesprochenen Folgen der Globalisierung, ergeben sich für die herstellende Industrie neue Entwicklungsprozesse. Unternehmen trennen sich aktuell zunehmend von
der Strategie, die Produktentwicklung vollständig selbst durchzuführen. Es kommt mehr und mehr zu einer Fokussierung auf Kernkompetenzen und die Auslagerung von Aktivitäten an Partnerunternehmen [KMH10, S. 1].
Bei dieser Teilung von Aufgaben spricht man von kollaborativer
Produktentwicklung. Häufig sind die Teilnehmer dieser Kollaborationen über den Globus verteilt. Daraus folgen spezielle Anforderungen
an den Austausch der Produktdaten und der Bedarf einer möglichst
direkten Kommunikation am Modell.
Ein Problemfeld der kollaborativen Produktentwicklung – auch kollaboratives Design genannt – ist die Thematik der verteilten Visualisierung. Dabei wird im Wesentlichen die Darstellung von Inhalten
in einem verteilten System verstanden. Diese ist nicht auf den Einsatz im Bereich der Produktentwicklung beschränkt. Gegenstand der
Visualisierung können ebenso wissenschaftliche Daten sein.
3.1
datenformate für den austausch und die visualisierung von produkten
Für die Repräsentation von Produktmodellen mit samt der Geometrie
existieren eine Reihe von Datenformaten, die jeweils für bestimmte Anwendungsfälle unterschiedlich geeignet sind. Besonders interessant sind auf der einen Seite Formate für einen möglichst vollständigen Austausch der Produktmodelle und auf der anderen Seite leichtgewichtige Formate für die Darstellung und die Übertragung im Internet. Mehrere Untersuchungen widmeten sich in dieser Hinsicht
der Gegenüberstellung verbreiteter 3D-Formate im Engineering-Umfeld [Fro11] [BFS10] [DBM+ 07].
BECKERS et al. untersuchten Anwendungsgebiete und geeignete Formate für die 3D-Visualisierung im Bereich des Engineering
23
24
verwandte arbeiten
[BFS10]. Sie sehen mögliche Einsatzgebiete vor allem in denen der
Konstruktion nachgelagerten Phasen. Dazu gehören etwa Vertrieb,
Marketing und Kundendienst. Aktuelle Anwendungsszenarien seien,
neben jenen der Produktentwicklung, die High-End Visualisierung.
Für den Einsatz im Rahmen der genannten Szenarien schlagen
BECKERS et al. ein neutrales leichtgewichtiges Visualisierungsformat
vor. Wichtig sei weiterhin dessen Standardisierung, um die Anzahl
der eingesetzten Formate in der Praxis im Interesse der Nutzer einzuschränken. Dabei wird JT als vielversprechendes Format zur Lösung
dieser Aufgaben hervorgehoben. Dieses stellt ein besonders leichtgewichtiges Format mit Möglichkeiten der Kompression und unterschiedlich detailreichen 3D-Modellen dar, um eine zügige Übertragung und verschiedene Level-of-Detail zu realisieren.
JT ist sowohl in der Lage, tesselierte Geometrien zu speichern, als
auch exakte Produktrepräsentationen, wie sie für Aufgaben der Entwicklung benötigt werden. Besonders interessant ist das Format durch
die Option Material-, Farb- und Texturinformationen speichern zu
können. Materialinformationen – insbesondere Texturen – sind bei
Austauschformaten im Kontext der herstellenden Industrie die Ausnahme, zur hochwertigen Darstellung von Produkten jedoch oft unverzichtbar.
BECKERS et al. stellen in ihrer Arbeit Untersuchungen zur Praxistauglichkeit des Formates im Hinblick auf die Unterstützung durch
die Hersteller von branchenüblicher Software an. Dazu wurden die
im Automobilbau verbreiteten CAD-Anwendungen CATIA V5 [Cat],
Pro/ENGINEER [Proa] und NX [NX] auf deren Qualität in Bezug auf
die Unterstützung von JT betrachtet. Gemeint sind damit die Fähigkeiten, das Format einlesen und auf die innere Datenstruktur abbilden
zu können, wie auch die umgekehrte Prozedur in Form des Exports
der Produktdaten.
Dieser Praxistest zeige eine größtenteils korrekte Verarbeitung der
Geometrie, aber nur in wenigen Fällen den richtigen Umgang mit
Farbwerten (RGB). Eine Konvertierung von Texturen konnte bei den
getesteten Softwarepaketen jedoch nicht nachvollzogen werden.
Das Resümee der Arbeit liegt darin, JT zum Zeitpunkt der Untersuchung nicht für den produktiven Einsatz zu empfehlen [BFS10, S. 339].
Der Stand sei jedoch ermutigend und lässt darauf schließen, dass in
absehbarer Zeit eine ähnlich umfangreiche Unterstützung und Robustheit der Implementierungen, wie auch bei STEP erwartet werden
kann [BFS10, S. 342].
In einer weiteren Studie wurde die Eignung ausgewählter 3D-Formate für den Einsatz in häufig auftretenden Anwendungsszenarien im Engineering-Umfeld untersucht [Fro11]. Die Ergebnisse sollen
einen Überblick und eine Orientierungshilfe zur Identifizierung des
3.1 datenformate für den austausch und die visualisierung von produkten
Legende
Sehr gut geeignet
Gut geeignet
Geeignet mit Einschränkungen
Szenario
STEP
3D XML
JT
3D PDF
Viewing
Datenaustausch
DMU
Dokumentation
und Archivierung
Portable PLM
Document
Abbildung 4: 3D-Formate im Engineering-Umfeld, nach [Fro11, S. 4]
passenden 3D-Formats für bestimmte Aufgaben geben. Identifiziert
wurden dabei folgende Szenarien.
1. Visualisierung von Engineering-Daten
2. Datenaustausch
3. Digital Mock-Up
4. Dokumentation und Archivierung
5. Verwendung von 3D-Informationen in Bereichen mit Engineering-Bezug
Relevant für die vorliegende Arbeit sind im besonderen die Ergebnisse bezüglich der ersten drei Anwendungsfälle. Abbildung 4 stellt
zusammenfassend die Resultate der Untersuchung dar.
Für das erste Szenario stellt sich die Frage nach dem besten Format für die Darstellung in 3D-Viewern und die realitätsnahe Abbildung in VR-Systemen. Für diesen Anwendungsfall wurden die Performanz der Darstellung, sowie die Möglichkeit der Abbildung von
Metadaten berücksichtigt. Weitere Anforderungen für die Visualisierung sieht FROEHLICH in einer quellsystemunabhängigen Darstellung, einer Filterung durch verschiedene Sichten oder Ebenen und in
der Unterstützung von Texturen und Lichtquellen für die Darstellung
in VR-Systemen.
Die Studie kommt zu dem Schluss, dass sich für den Anwendungsfall der Visualisierung von Engineering-Daten JT und 3D-PDF am besten eignen würden. Die Stärken von JT seien in diesem Zusammenhang die Fokussierung auf eine leichtgewichtige Repräsentation der
Visualisierung
25
26
Datenaustausch
Digital Mock-Up
verwandte arbeiten
Modelle in Form von tesselierter Geometrie. Darüber hinaus sei die
Verfügbarkeit von kostenfreien 3D-Viewern ein Grund für die Bewertung [Fro11, S. 19].
Für das Szenario des Datenaustausches wurden die 3D-Formate
auf deren Potenzial hin untersucht, die Geometrie möglichst exakt
und die Produktstruktur möglichst vollständig repräsentieren zu können. Für den Austausch von Daten im Engineering-Umfeld ist neben
der Übertragung der Geometrie auch die Übertragung von textbasierten Produktbeschreibungen und von 3D-Annotationen gefordert.
Gefordert ist für diesen Anwendungsfall weiterhin, dass der Datenaustausch in einer Form erfolgt, welche die Nachbearbeitung der Produktmodelle begünstigt.
FROEHLICH empfiehlt für den Datenaustausch, mit den soeben
beschriebenen Anforderungen, die Nutzung von STEP. Es sei prädestiniert für dieses Szenario, da es eine ausgereifte internationale Norm
darstellt und eine Vielzahl von Anwendungen dieses Format unterstützen. Darüber hinaus wird angeführt, dass der Einsatz von STEP
zum Datenaustausch bereits gängige Praxis in den Branchen Automobil- und Maschinenbau, sowie in der Luft- und Raumfahrt sei.
Für den Austausch reiner Geometriedaten würde sich darüber hinaus auch JT eignen. Dieses Format habe allerdings noch keinen so
hohen Reifegrad wie STEP erlangt [Fro11, S. 19].
Das dritte durch FROEHLICH betrachtete Szenario befasst sich mit
der Prüfung von mechanischen Zusammenhängen von Produkten anhand computergestützter Versuchsmodelle. Für diese Prüfung werden neben der Geometrie auch Metainformationen und die Produktstruktur benötigt. Für Simulationen wie die Kollisionsprüfung sind
Hüllgeometrien des Produktes in tesselierter Form erforderlich.
Wie Abbildung 4 erkennen lässt, legen die Ergebnisse der Arbeit
den Einsatz des JT-Formates für das Digital Mock-Up nahe. Dieses
sei aufgrund der leichtgewichtigen facettierten (tesselierten) Geometrieformen besonders für diesen Anwendungsfall geeignet. Es wird
jedoch angemerkt, dass JT Einschränkungen in der Repräsentation
von Kinematiken habe [Fro11, S. 20].
Die Studie stellt fest, dass trotz der generellen Empfehlungen der
3D-Formate für bestimmte Szenarien eine Gewichtung der Eigenschaften für den konkreten Anwendungsfall in einem Unternehmen erforderlich ist [Fro11, S. 6].
Für den in dieser Arbeit fokussierten Anwendungsfall einer 3DAnwendung für Vertriebszwecke lassen sich aus dieser Arbeit wichtige Hinweise auf das zu verwendende Datenformat entnehmen. Der
in der vorliegenden Arbeit fokussierte Anwendungsfall vereint Anforderungen der von FROEHLICH betrachteten Szenarien Viewing
und Datenaustausch. Unterschiede bestehen jedoch darin, dass die
hier angestrebte 3D-Anwendung zur Vertriebsunterstützung über eine bloße Betrachtung der Geometrie hinaus geht. Ein 3D-Viewer mit
3.2 serviceorientierte ansätze im kollaborativen produktdesign
vorgefertigtem festen Funktionsumfang ist daher ungeeignet für die
Darstellung der Produkte.
Bezogen auf den Datenaustausch stellt der Anwendungsfall dieser Arbeit ebenfalls die Anforderung ein Produkt möglichst vollständig beschreiben zu können, verzichtet jedoch auf die Möglichkeit
der Nachbearbeitung von Produktmodellen. Aufgrund der Ergebnisse von FROEHLICH wurden STEP und JT als besonders interessante
Formate für die in dieser Arbeit zu lösenden Aufgabe identifiziert. JT
ist jedoch kaum in der Lage, Informationen zu Produkten über die
Geometrie hinaus zu repräsentieren. Ein weiteres Manko ist die, im
Vergleich zu STEP, noch nicht so starke Verbreitung in der Industrie
und das Vorhandensein nur eines SDKs (JT Open Toolkit) zur Entwicklung von Anwendungen mit JT-Unterstützung in der für Webanwendungen unvorteilhaften Programmiersprache C++.
3.2
serviceorientierte ansätze im kollaborativen produktdesign
Neben dem Format für den Datenaustausch spielt auch die Methode eine entscheidende Rolle. Dies gilt sowohl für das in dieser Arbeit
angestrebte Szenario der Aufbereitung von Produktmodellen zur Darstellung in vertriebsorientierten 3D-Anwendungen, als auch für das
in der herstellenden Industrie aktuelle Thema der kollaborativen Produktentwicklung.
Im Bereich der verteilten Systeme nimmt in diesem Zusammenhang das Konzept der serviceorientierten Architekturen (SOA) einen
hohen Stellenwert ein. Eine Reihe von Arbeiten befasste sich mit der
Anwendung dieses Konzeptes auf Problemstellungen des kollaborativen Designs [KMH10] [SLV08] [YTD06] [CLG06].
KIM et al. entwickelten ein Framework zum Teilen von CAD-Daten auf Basis von Webservices. Firmen soll damit eine Integration von
IT-Systemen für die temporäre Zusammenarbeit während der Produktentwicklung ermöglicht werden. Mit Hilfe von standardisierten
Schnittstellen, Datenformaten und Protokollen kann eine lose Kopplung solcher Systeme für den Datenaustausch realisiert werden. Damit werden Daten zwischen Softwaresystemen geteilt und nicht mehr
im herkömmlichen Sinne durch Import und Export von Dateien ausgetauscht.
Tabelle 3 stellt die Unterschiede zwischen dem Austausch und dem
Teilen von Daten am Beispiel von CAD-Daten gegenüber.
Das Ziel eines serviceorientierten Ansatzes ist es, die Abhängigkeiten zwischen den beteiligten Systemen zu minimieren. Die Änderung
einer Komponente beeinflusst andere Komponenten in einer serviceorientierten Architektur nur minimal. Webservices setzen das Konzept der SOA nach Auffassung von KIM et al. am besten um und lösen die Probleme ähnlicher Kommunikationstechnologien wie COR-
27
28
verwandte arbeiten
austausch von cad-daten
teilen von cad-daten
Veranlasst durch Urheber
Veranlasst durch Empfänger
Konvertierung in neutrales
Nutzung einer API des
Format
Urhebers
Daten bestimmt durch festen
Daten auf Anfrage in Echtzeit
Zeitpunkt
Erzeugung einer Kopie
Einheitlicher Datenbestand
Tabelle 3: Gegenüberstellung der Konzepte des Austauschs und des Teilens
von CAD-Daten (vgl. [KMH10, S. 3])
BA, JavaRMI oder DCOM. Dazu gehören beispielsweise die Plattformabhängigkeit und Schwierigkeiten beim Passieren von Firewalls
[KMH10, S. 4].
Das von KIM et al. entwickelte Softwaresystem zum Austausch
von Konstruktionsdaten stützt sich auf eine mehrschichtige Architektur zur Abstraktion der jeweils darunter liegenden Schicht. Die drei
Schichten sind folgende [KMH10, S. 7].
• Web Service Layer
• CAD Adaptor Layer
• CAD System Layer
Die erste Schicht stellt die Schnittstelle nach außen dar und bietet entsprechend dem SOAP-Protokoll für Webservices eine Beschreibung der verfügbaren Dienste in Form einer WSDL an. Auf Anfrage
durch einen Client liefert der Dienst ein auf XML basierendes, durch
die Autoren der Arbeit selbst definiertes, Datenformat mit den entsprechenden Konstruktionsdaten.
Der CAD Adapter als zweite Schicht dient der Abstraktion der darunter liegenden CAD-Systeme. Durch seine neutrale API stellt er eine
Überbrückung der high-level Webservice Schicht und der low-level
CAD-System Schicht dar. Damit ist ein Tausch des CAD-Systems mit
nur minimalen Anpassungen verbunden.
Die unterste Schicht stellt die API der Konstruktionssoftware dar,
welche durch deren Hersteller vorgegeben ist.
KIM et al. führen weiterhin an, dass sie datenzentrierte Schnittstellen statt methodenzentrierten Schnittstellen für ihre Architektur einsetzen. Diese seien simpler und ermöglichten die Übertragung größerer Datenmengen pro Transaktion. Potenzielle Schwächen sehen die
Autoren der genannten Arbeit in der offenen Natur von Webservices.
In dieser Hinsicht seien Anforderungen an Sicherheit, Autorisierung
und Authentifizierung zu berücksichtigen [KMH10, S. 6].
3.3 entwicklungen im bereich verteilter visualisierungen
Bezogen auf die Aufgabenstellung der vorliegenden Arbeit dienen
die Erkenntnisse von KIM et al. der Konzipierung der Schnittstellen und Komponenten einer Softwarearchitektur zur Aufbereitung
von Produktdaten. Besonders hervorzuheben sind dabei die Eigenschaften der Serviceorientierung, welche eine lose Kopplung von Systemkomponenten ermöglicht, die mehrschichtige Architektur zur Abstraktion darunter liegender Ebenen sowie die Datenzentriertheit des
vorgestellten Konzeptes.
Zur Anwendung der Erkenntnisse der eben diskutierten Arbeit
auf die vorliegende Aufgabenstellung unterliegt jedoch Einschränkungen. KIM et al. fokussierten ihre Arbeit auf den Austausch von
CAD-Daten. Es wurden weder weitergehende Produktinformationen
im Sinne von Metainformationen in die Überlegungen einbezogen,
noch spielt die Aufbereitung der Daten eine Rolle. Es lassen sich lediglich die Informationen nach außen bereitstellen, die das CAD-System auf unterster Ebene durch seine API anbietet. Darüber hinaus
stellt die Nutzung eines eigenen XML-Formates eine Einschränkung
in der Interoperabilität mit anderen Anwendungen dar.
3.3
aktuelle entwicklungen im bereich der verteilten
visualisierung
In den letzten Jahren führten ein Reihe von Entwicklungen in der
Informationstechnik zu neuen Lösungen und Geschäftsmodellen. An
dieser Stelle sollen dies betreffend wichtige Technologien und Paradigmen vorgestellt und Lösungen im Bereich der kollaborativen Visualisierung angesprochen werden, die davon profitieren.
MOUTON et al. führten in diesem Zusammenhang eine Untersuchung aktueller Trends im Bereich der verteilten Visualisierung durch
[MSG11]. Die folgenden Ausführungen stützen sich auf die Erkenntnisse dieser Arbeit, beschränken sich jedoch nicht darauf.
entwicklungen Eine prägende Technologie in jüngster Zeit ist
das cloud computing. Durch eine Abstraktion der zugrunde liegenden Hardware von IT-Infrastrukturen können Rechenleistung und
Dienste dynamisch an den Bedarf angepasst werden. Dabei spielt
im Besonderen der Einsatz virtueller Maschinen eine Rolle. Diese
sind auf mehreren physischen Rechnern verteilt und vereinnahmen
je nach Bedarf mehr oder weniger Ressourcen.
Darauf aufbauende Geschäftsmodelle ermöglichen die flexible Nutzung von Infrastrukturen und damit verbunden die Abrechnung im
Sinne des »pay-per-use« ohne größere Vorabinvestitionen [MSG11, S.
105].
Ein weiterer relevanter Trend ist die Veränderung des Formfaktors von Computern hin zu kleineren mobilen Geräten. Wichtig ist
in diesem Zusammenhang, dass sich der Gebrauch von Mobilgerä-
29
30
verwandte arbeiten
ten längst nicht nur auf Multimediaanwendungen im Freizeitbereich
beschränkt.
Beim Einsatz privat erworbener Geräte in Unternehmen durch die
Mitarbeiter spricht man vom Trend des »bring-your-own-device«. Da
von den Mitarbeitern oft hohe Flexibilität erwartet wird, setzten diese zunehmend auf den Einsatz von Smartphones und Tablets als Produktivwerkzeuge [Goo12, S. 3]. Hinzu kommt, dass die Leistungsfähigkeit dieser Geräteklasse im Laufe weniger Jahre deutlich gestiegen
ist. Seit dem Frühjahr 2012 sind Quad-Core Prozessoren für Smartphones auf dem Markt, eine Technologie, die bis vor kurzem noch
PC-Workstations vorbehalten war (vgl. [Hei]). Dies, zusammen mit
den hohen Bandbreiten der Mobilfunknetze, führt zur Situation, dass
für die Visualisierung im Privaten, wie auch im Unternehmensumfeld, zunehmend kleinere mobile Geräte attraktiv werden.
Durch die hohe Bandbreite der Netze und die hardwarebeschleunigte Video-Dekodierung lassen sich hochauflösende Videoströme auf
mobile Geräte übertragen und abspielen.
Diese Form des Streamings im Bereich interaktiver 3D-Grafikanwendungen zeigt der gaming-on-demand Anbieter OnLive [OnL]. Dessen Lösung erlaubt es, auf mobilen Geräten Videospiele mit den höchsten Anforderungen an Rechenleistung spielen zu können. Ermöglicht
wird dies durch die Ausführung der Anwendung auf einem Server
des Anbieters, in Verbindung mit dem Streaming eines speziell komprimierten Videoformates auf den mobilen Client. Vom Client zum
Server werden lediglich Nutzereingaben übertragen. Diese Idee löst
sich vom klassischen Konzept, eine 3D-Anwendung nur auf dem Gerät ausführen zu können, auf dem sie installiert ist.
Diesem Ansatz des Renderns der 3D-Szenen auf dem Server mit
anschließender Übertagung als Videostream, steht das Konzept des
clientseitigen Renderns gegenüber. Dabei wird der Szenengraph auf
das Gerät übertragen und das Bild lokal berechnet.
In diesem Zusammenhang gibt es aktuelle Anstrengungen des Web3D Konsortiums, eine Methode zur binären Kompression des X3DFormates zu standardisieren. In komprimierter Form soll dieses Format, genannt X3D-binary, nur etwa 10% des Datenvolumens der herkömmlich textkodierten Variante ausmachen. Damit eignet es sich
besonders zur Übertragung von 3D-Inhalten im Kontext des Internet. Seit 2011 liegt die zweite Version des Standards mit dem Status
»final-draft« vor, der letzten Stufe vor der Veröffentlichung als internationaler Standard [Webb].
Weitere relevante Entwicklungen betreffen das Web und im Besonderen die Standardisierung im Umfeld von HTML 5. Spätestens mit
dem Aufkommen von Ajax, als Konzept der asynchronen Kommunikation im Web, begann eine Migration von klassischen Desktopanwendungen in das Web.
3.3 entwicklungen im bereich verteilter visualisierungen
Der aktuelle Prozess der Spezifizierung der WebSocket API durch
das W3C geht noch einen Schritt weiter und ermöglicht eine bidirektionale asynchrone Kommunikation im Vollduplex Übertragungsmodus [W3C]. Vollduplex meint dabei, dass zeitgleich mit maximaler
Geschwindigkeit sowohl gesendet als auch empfangen werden kann.
Auch die File API und die Unterstützung von Videos in HTML 5
werden komplexere Webanwendungen ermöglichen, ohne auf ein Browser-Plugin angewiesen zu sein.
Vor allem aber wird WebGL die Implementierung von Anwendungen zur verteilten und kollaborativen Visualisierung im Web vorantreiben. Erst dadurch werden ohne Plugins dreidimensionale Inhalte hardwarebeschleunigt im Browser dargestellt. Unter der Schirmherrschaft der Khronos Group entwickelt, bietet WebGL die Möglichkeit, mittels JavaScript 3D-Objekte auf die Leinwand (»canvas«) von
HTML 5 zu zeichnen.
anwendung der entwicklungen Eine Anwendung der genannten Technologien liegt in der kollaborativen Visualisierung wissenschaftlicher Inhalte. Im Rahmen des COLLAVIZ (Remote Collaborative Visualizer) Projektes [COL] wurde ein Framework zur Durchführung von numerischen Simulationen von mechanischen Komponenten entwickelt.
Teil des Projektes ist eine webbasierte Komponente zur Steuerung
und Darstellung der Simulationsergebnisse [NKB10]. Unter Verwendung von HTML 5, Ajax und WebGL können in einer nativen Webanwendung Parameter für die Simulation eingestellt und nach der
Durchführung die Ergebnisse betrachtet und Nachjustierungen vorgenommen werden. Durch diese Lösung werden Dienste des High
Performance Computing HPC vom Web aus nutzbar.
Durch die Nutzung von standardisierten Webtechnologien ist eine
Nutzung dieser Lösung mit mobilen Geräten möglich. NIEBLING et
al. stellen im dem Zusammengang fest, dass die Grafikleistung moderner Mobilgeräte ausreichend ist, um auch große Polygonanzahlen in hoher Frequenz zu rendern. Sie sehen jedoch beim Parsen der
3D-Daten nach der Übertragung vom Server zum Client einen potenziellen Flaschenhals. Beim Einlesen der Geometrie mittels JavaScript
sehen sie, trotz der in letzter Zeit deutlich schneller gewordenen JavaScript-Browserengines, Optimierungsbedarf [NKB10, S. 107].
Eine weitere Arbeit im Rahmen der kollaborativen wissenschaftlichen Visualisierung nimmt sich der eben besprochenen Performanzprobleme beim Übertragen und Parsen von 3D-Inhalten an. MAGLO
et al. entwickelten – ebenfalls im Rahmen des angesprochenen COLLAVIZ Projektes – ein Framework zum progressiven Streaming von
binären X3D Daten [MLL+ 10]. Damit lässt sich ein 3D-Modell in verschiedenen Detailgraden (LOD) übertragen und nach und nach verfeinern. Der Einsatz des 3D-Streamings für webbasierte Anwendungen
31
32
verwandte arbeiten
im Kontext des kollaborativen Designs wird auch durch FUH und LI
[FL05, S. 573-576] anschaulich vorgestellt.
Eine weitere Software zur Visualisierung wissenschaftlicher Inhalte
wurde von CALLIERI et al. implementiert. Auf Basis von WebGL und
der JavaScript Bibliothek SpiderGL [Ben] lassen sich durch ihre Lösung Erkenntnisse der Molekularbiologie interaktiv im Web darstellen. Die Autoren der Studie stellen unter anderem fest, dass sich mit
3D-Webtechnologien im Anwendungsfall der Darstellung von Proteinen ein ähnlich ansprechender visueller Stil im Vergleich zur vorgerenderten Videos, erzeugt durch die Software Blender [Ble], erreichen
lässt [CADB+ 10, S. 122].
3.4
zusammenfassung
Es wurden Arbeiten vorgestellt, die einen Beitrag im Feld der verteilten Visualisierung leisten. BECKERS et al. untersuchten die Eignung verschiedener 3D-Formate im Umfeld des kollaborativen Designs [BFS10]. Die Ergebnisse zeigen, dass es derzeit kein Format
gibt, dass uneingeschränkt für unterschiedliche Anwendungsfälle zu
empfehlen ist. Für die in der vorliegenden Arbeit besonders relevanten Anwendungsszenarien des Datenaustausches und des Betrachtens dreidimensionaler Produktmodelle zeigten sich die Standards
STEP, sowie JT als besonders geeignet. Das weiterhin vorgeschlagene
Format 3D PDF soll für diese Arbeit als Datencontainer aufgrund
mangelnder Unterstützung der Interaktivität sowie der Integration
in eigene Anwendungen nicht weiter betrachtet werden.
In Bezug auf aktuelle Architekturkonzepte verteilter Visualisierungssysteme zeigen sich in mehreren Arbeiten die Vorteile offener serviceorientierter Ansätze [KMH10][NKB10]. WebServices erweisen sich als
besonders geeignet für die Kommunikation zwischen Softwareanwendungen oder -komponenten im Problemfeld der Aufbereitung und
Darstellung von Produktmodellen (vgl. [YTD06], [CLG06]). Durch
den Datenaustausch per HTTP gibt es damit vor allem in Unternehmensnetzwerken keine Probleme durch Firewallbeschränkungen.
In den verwandten Arbeiten mit dem Schwerpunkt der Verarbeitung und Bereitstellung mechatronischer Produktmodelle zeigte sich
weiterhin mehrmals der Einsatz des Client/Server Konzeptes in der
Form Storage-Server-Client. Dabei kamen auf der Serverseite in der
Regel mehrere Schichten zur Abstraktion verschiedener Softwareebenen zur Anwendung (vgl. [KMH10], [SPSS08], [CCW06], [ZSG04]).
MOUTON et al. beschreiben im Bereich der verteilten Visualisierung mehrere Trends, besonders in Bezug auf Hardwareplattformen
und Browserentwicklungen. Sie sehen im mobilen Zugriff auf highend Visualisierungen durch den Einsatz von cloud computing und
aktuelle Web-3D Technologien wie WebGL großes Potenzial. Weiterhin
schlagen sie die Entwicklung eines Systems zum hybriden Client/Ser-
3.4 zusammenfassung
ver Rendering vor. Durch Kombination des Streamings gerenderter
Bilder und der Übertragung des Szenengraphen würden sich lokale
Ressourcen der Clients optimal nutzen lassen [MSG11, S. 107].
33
4
KONZEPTION
4.1
analyse des problems
Um für die Problemstellung dieser Arbeit in strukturierter Weise eine zielorientierte Lösung erarbeiten zu können, ist ein hinreichendes
Verständnis für das Problem von Nöten. Dabei ist die Problematik der
Produktmodellverarbeitung nicht losgelöst vom umgebenden Kontext zu betrachten.
Dies bedeutet, den Sachverhalt nicht nur aus rein technischer Sicht
zu betrachten, sondern betriebswirtschaftliche Prozesse und den Menschen als Teil der Lösung zu verstehen. Es stellen sich beispielsweise
die Fragen, welche Interessengruppen in die Thematik involviert sind
und wie deren Ziele und Anforderungen in Bezug auf eine Lösung
aussehen.
4.1.1
Interessengruppen
Grundsätzlich lassen sich drei Parteien erkennen, die es für die Lösungsfindung zu berücksichtigen gilt. Dies sind der Hersteller der
mechatronischen Erzeugnisse, der Entwickler einer Softwarelösung
zur Vermarktung dieser Produkte sowie der Endkunde im Sinne des
Nutzers der Visualisierungsanwendung.
Abbildung 5 beschreibt schematisch die Situation und zeigt die
genannten Interessengruppen. Die Pfeile weisen auf den Pfad der
Produktdaten im Prozess der Entwicklung einer 3D-Vertriebsanwendung hin. Der Hersteller hält ein digitales Produktmodell vor, dessen Informationen am Ende dem Kunden in verständlicher Form zugänglich gemacht werden sollen. In der Regel wird das herstellende
Unternehmen jedoch auf die Expertise eines Spezialisten für die Entwicklung von Anwendungen zu Vertriebszwecken angewiesen sein.
Der Rolle des Entwicklers kommen dabei im Wesentlichen die Aufgaben der Aufbereitung der produktbeschreibenden Daten sowie die
Erstellung der Softwareanwendung zur Präsentation dieser Daten zu.
In den vorangegangenen Kapitel ist bereits die Situation beim Hersteller näher beschrieben worden. Der Abschnitt 2.1 verdeutlicht mit
dem Lebenszyklus von Produkten bereits wesentliche Prozesse in den
betreffenden Unternehmen. Darüber hinaus wurden die Inhalte der
verwalteten Produktinformationen vorgestellt.
Im Folgenden liegt der Fokus daher auf den Interessengruppen Entwickler und Endkunde. Es wird zu klären sein, welche Anforderungen die beteiligten Gruppen in diesem Kontext an eine Lösung stellen.
35
HERSTELLER
Produktmodell
ENTWICKLER
Datenaufbereitung
Anwendungslogik
ENDKUNDE
3D-Anwendung
Abbildung 5: Die
Interessengruppen
36
konzeption
Wichtig ist in diesem Zusammenhang, dass sowohl Anforderungen
an den Prozess der Datenverarbeitung und der Anwendungsentwicklung bestehen, als auch an die resultierende Anwendung selbst. Zum
Teil sind die Anforderungen an die Lösung jedoch nicht direkt auf
Ansprüche der Interessengruppen zurückzuführen, sondern auch abhängig von bestimmten Rahmenbedingungen. Diese sollen zunächst
identifiziert werden.
4.1.2
Fähigkeiten
Hardware
Software
Rahmenbedingungen
Die folgenden Rahmenbedingungen beziehen sich auf die resultierende 3D-Anwendung und können als Voraussetzungen seitens der
Nutzer zur Ausführung dieser Applikation verstanden werden.
Die Voraussetzungen zur Bedienung der Anwendung lassen sich
als nicht-technische Rahmenbedingungen beschreiben. Sie beziehen
sich in erster Linie auf die Fähigkeiten der Benutzer. Im Kontext von
3D-Vertriebsanwendungen kann man nicht davon ausgehen, dass die
Nutzer über weitreichende Kenntnisse im Umgang mit komplexen
3D-Softwarewerkzeugen verfügen, wie sie üblicherweise bei der Konstruktion von Maschinen genutzt werden. In der Regel verfügen die
Endkunden jedoch über Kenntnisse im Umgang mit Webanwendungen. Darüber hinaus hat der Kunde eine bestimmte Sicht auf ein Produkt. Diese deckt sich nicht zwingend mir der Sicht, die der Hersteller auf sein Produkt hat. Man kann in dem Zusammenhang auch von
verschiedenen mentalen Modellen eines Produktes sprechen.
Als Voraussetzungen zur Ausführung der Anwendung sind technische Rahmenbedingungen zu betrachten. Diese betreffen sowohl die
Hard-, als auch die Software der genutzten Geräte. Da die Zielgruppe der 3D-Anwendung die potentiellen Käufer der mechatronischen
Produkte sind und nicht etwa Vertriebsmitarbeiter des herstellenden
Unternehmens, ist mit einer heterogenen Rechnerlandschaft auf Seiten der Nutzer zu rechnen. Es ist nicht der Fall, dass sich Unternehmensrichtlinien definieren lassen, welche die verwendete Hardund Software zur Ausführung der Anwendung vorschreiben. Somit
kann von unterschiedlichen Rechnertypen wie Desktop-PCs oder mobilen Geräten, etwa Notebooks, ausgegangen werden. Dies bedingt
beispielsweise variierende Leistungsmerkmale und unterschiedliche
Eingabemöglichkeiten der Geräte.
Ähnliches gilt in Bezug auf die verwendete Software. Dies betrifft
vor allem das Betriebssystem im Hinblick auf native Anwendungen,
sowie den verwendeten Browser hinsichtlich Webanwendungen. Jeweils sind verschiedene Ausstattungen zu berücksichtigen.
4.1 analyse des problems
3d-anwendung
datenaufbereitung
– Webtauglichkeit
– Skalierbarkeit
– Darstellungsrealismus
– Assoziationswahrung
– Aktualität
– Schnittstellenneutralität
– Unverfälschtheit
Tabelle 4: Anforderungen an die 3D-Anwendung und den Prozess der Produktdatenaufbereitung
4.1.3
Anforderungen
Die angesprochenen Rahmenbedingungen führen zu Anforderungen,
die zum einen die 3D-Applikation betreffen und zum anderen den
Prozess der Datenaufbereitung zur Nutzung von Produktmodellen
für diese Anwendung. Dabei beeinflussen Anforderungen an die 3DAnwendung häufig auch die vorangehende Datenverarbeitung.
webtauglichkeit Die Anforderung der Webtauglichkeit bezieht
sich primär auf die 3D-Anwendung. Um einen möglichst großen Kundenkreis zu erreichen, ist es unabdingbar, dass eine Webanwendung
in allen gängigen Browsern ausführbar ist. Darüber hinaus ist es von
Vorteil, wenn dazu keine Installation eines Browser-Plugins vorausgesetzt wird.
Im Kontext von Webanwendungen muss beim Nutzer mit unterschiedlichen, teils geringen, Bandbreiten gerechnet werden. Dieses
Problem wird durch die mitunter komplexen Produkte mit hohen
Datenvolumen verschärft, die es zu übertragen und darzustellen gilt.
Aus dieser Situation ergibt sich die Anforderung, Teile von Produktmodellen auf Anfrage nachladen zu können. Die Ladezeiten wären
nicht vertretbar, sollten Produktreihen vor dem Starten der Anwendung erst vollständig geladen werden müssen. Nach Möglichkeit sind
nur jene Daten zu übertragen, die für den Nutzer zum entsprechenden Zeitpunkt von Interesse sind.
Für die Datenverarbeitung bedeutet die Anforderung der Webtauglichkeit somit die Bereitstellung der Produktdaten in nicht-monolithischen, im Web üblichen, Formaten.
darstellungsrealismus Der Darstellungsrealismus als Anforderung an die 3D-Anwendung bezieht sich auf die optische Qualität
in der Abbildung von Oberflächen. Für die Darstellung mechatronischer Produkte ist deren visuelle Anmutung in der Regel von großer
Bedeutung. Generell soll die Hochwertigkeit dieser Produkte vermittelt werden. Bei vielen Darstellungen ist daher Fotorealismus angestrebt.
37
38
konzeption
aktualität Für eine Vertriebsanwendung ist die Aktualität der
Daten von hoher Bedeutung. Unwahrscheinlich ist eine Änderung
der grundlegenden produktdefinierenden Daten, wie die Form oder
physikalische Eigenschaften. Für kommerzielle Informationen, zum
Beispiel Preise und Rabatte, gilt dies jedoch nicht. Dazu kommen Marketingkampagnen, wie die Bündelung verschiedener Ausprägungen
des Produktes zu einem Paket, die im Nachgang der Produktveröffentlichung denkbar sind. Demnach sind Schnittstellen der Vertriebsanwendung zu Informationssystemen nötig.
unverfälschtheit Bei der Aufbereitung der Produktdaten für
3D-Anwendungen ist eine Reduktion und Filterung aufgrund der Datenmenge und Quellformate unerlässlich. Dabei ist aber ein optimaler
Kompromiss zwischen Kompaktheit und Genauigkeit der produktbeschreibenden Daten anzustreben. Dies könnte unter anderem die
Produktform bei der Reduzierung der Geometriekomplexität betreffen. Beispielsweise ist das Karosseriedesign in der Automobilindustrie ein entscheidender Verkaufsfaktor. Es darf in der 3D-Darstellung
nicht zu einer sichtbaren Abweichung vom Original kommen.
skalierbarkeit Mit Bezug auf den Verarbeitungsprozess der Produktdaten meint die Skalierbarkeit die Fähigkeit, mit potentiell vielen komplexen und variantenreichen Produkten umgehen zu können.
Damit stellt sie eine Anforderungen des Entwicklers an den Verarbeitungsprozess und nicht an die Anwendung selbst dar. Ein Konzept
zur Produktdatenaufbereitung sollte im Hinblick auf die zu verarbeitende Datenmenge genauso in kleinen wie großen Projekten anwendbar sein.
assoziationswahrung Wichtig bei der Verarbeitung der Produktdaten ist es, die Verbindung der Daten untereinander zu wahren. Damit ist vor allem gemeint, die Verknüpfung von Geometrie
mit Zusatzinformationen während Konvertierungs- und Filterungsprozessen nicht zu verlieren. Dazu gehören zum Beispiel die Hierarchie und relative Positionierung von Baugruppen und Bauteilen oder
die Zugehörigkeit physikalischer Eigenschaften zu bestimmten Baugruppen.
schnittstellenneutralität Eine Softwarelösung zur (teilautomatisierten) Aufbereitung von Produktmodellen sollte neutrale
Schnittstellen nach außen zur Verfügung stellen. Dies bezieht sich
zum einen auf eine möglichst breite Unterstützung der von Herstellern genutzten Softwaresysteme zur Bereitstellung der Quelldaten.
Zum anderen gilt dies auch für die Schnittstellen, mit denen die
aufbereiteten Produktdaten für 3D-Anwendungen zur Verfügung gestellt werden.
4.1 analyse des problems
Vorbedingung
Aufbereitung
Nachbedingung
Quellformat
geometrische
Informationen
nicht-geometrische
Informationen
Zielformat
Abbildung 6: Produktmodellaufbereitung mechatronischer Produkte
4.1.4
Vor- und Nachbedingungen der Produktmodellaufbereitung
Die Schritte der Aufbereitung von Produktdaten hängen neben den
bereits angesprochenen Anforderungen wesentlich von den genutzten Technologien und Formaten ab. Damit sind auf der einen Seite
die Software und Datenformate zur Erzeugung von Produktmodellen gemeint und auf der anderen Seite jene Technologien, die nach
einer Datenaufbereitung zur Darstellung der Produkte, zum Beispiel
im Web, zum Einsatz kommen.
Allgemein kann der Zustand der Produktmodelle vor der Verarbeitung als Vorbedingung bezeichnet werden und jener danach als
Nachbedingung. Dieser Umstand, der im Folgenden noch genauer
zu untersuchen sein wird, ist in Abbildung 6 dargestellt. Darüber
hinaus lässt sich eine Unterteilung der Datenverarbeitung in die Aufbereitung von geometrischen Daten und die Aufbereitung von nichtgeometrischen Daten treffen.
vorbedingungen Die Situation vor der Verarbeitung der produktbeschreibenden Daten ist charakterisiert durch die Software und
Formate, mit denen Produkte innerhalb von Unternehmen entwickelt
und verwaltet werden.
Elementare Werkzeuge der Produktentwicklung stellen Softwarelösungen für das CAD dar. Abbildung 7 zeigt exemplarisch die Applikation SolidWorks mit dem Konstruktionsmodell eines Kompressors.
Die in solchen Systemen entstehende Geometrie stellt die Grundlage für weitere Prozesse der Produktentwicklung dar. Darunter fallen
etwa physikalische Berechnungen im Rahmen der Festkörpersimulation oder Fertigungsprozesse im Sinne des CAM.
39
40
konzeption
Abbildung 7: CAD Software: SolidWorks 2010 Premium
Die Geometrie liegt üblicherweise in Form von Volumen- und Flächenmodellen vor. Dabei handelt es sich um mathematische Beschreibungen der Formen. Diese haben die Eigenschaft auch kurvige Formen sehr exakt zu beschreiben und nicht etwa nur eine Annäherung
darzustellen.
Volumenmodelle, auch als konstruktive Festkörpergeometrie bezeichnet (vgl. Unterabschnitt 2.2.3), werden aus einfachen Objekten
durch Kombinationen der Objekte miteinander erzeugt. Die Verknüpfung dieser Primitiven erfolgt mit Hilfe von booleschen Operationen,
wie in Abbildung 8 dargestellt. Auf diese Weise können durch Kombination von Objekten durch Vereinigung, Bildung der Differenz oder
des Schnittes, komplexe Objekte hervorgebracht werden. Weiterhin
können Teile von Volumenmodellen mit Parametern versehen und somit nachträglich leicht verändert werden. Beispiele dafür sind Durchmesser, Materialstärken oder Radien.
Volumenmodelle besitzen die Eigenschaft, wie der Name bereits
andeutet, einen geschlossenen Körper zu bilden. Sie unterscheiden
somit zwischen einem inneren und einem äußeren Bereich des Modells.
Eine weitere verbreitete Repräsentationsform von Geometrie im
CAD-Bereich sind Freiformflächen. Ähnlich wie Volumenmodelle eignen sie sich für Anwendungsfälle, bei denen es auf Präzision ankommt. Diesen Formen liegen mathematische Beschreibungen in Form
von polynomialen Funktionen zugrunde. Auf diese Weise können organische Kurven mittels weniger Kontrollpunkte definiert und schnell
verändert werden. Verbreitete Arten von Freiformen in der Ebene
4.1 analyse des problems
=
Vereinigung
=
Differenz
=
Schnitt
Parameter
+
10 mm
=
Abbildung 8: Volumenmodelle und Parametrisierung
sind Bézier- und B-Spline-Kurven. Mittels NURBS werden diese Prinzipien auf den Raum übertragen (siehe Abbildung 9). Auf Grund der
komplexen Formen ist diese Methode prädestiniert für Anwendungen wie das Design von Karosserieteilen in der Automobilbranche.
nachbedingungen Die Situation nach der Verarbeitung der Daten ist geprägt durch die verwendeten Technologien zur Darstellung
der Produktmodelle. Davon hängt ab, in welcher Form die Daten an
diesem Punkt vorliegen müssen. Der Fokus liegt letztlich darin, dem
Kunden das Produkt mit seiner Geometrie und weiteren nichtgeometrischen Informationen zu präsentieren und eine Konfiguration komplexer Produkte zu ermöglichen.
Da eine Veränderung der Produktinformationen in dieser Phase
nicht mehr stattfindet, werden Lösungen aus dem Bereich der virtuellen Realität oder 3D-Web Technologien eingesetzt. Dies bedingt eine spezielle Repräsentationsform der Geometrie. Entgegen den Werkzeugen des CAD, bei denen mit mathematischen Beschreibungen der
Formen gearbeitet wird, sind hier polygonale Geometrien gefordert.
Ein Polygon (Vieleck) ist dabei Teil der Hülle eines Objektes und
setzt sich aus Punkten und Kanten zusammen. Übliche Polygone sind
Dreiecke (engl. triangles) und Vierecke (engl. quadrilateral). Ein Polygonnetz (engl. mesh) setzt sich wiederum aus mehreren Polygonen
zusammen und beschreibt auf diese Weise die Oberfläche eines geometrischen Objektes. Abbildung 10 zeigt das Verhältnis von Punkten,
Kanten, Polygonen und Polygonnetzen.
41
42
konzeption
Abbildung 9: Freiformflächen am Beispiel NURBS
Punkte
Kanten
Polygone
Polygonnetz
(vertex)
(edge)
(face)
(mesh)
Abbildung 10: Zusammensetzung von Polygonnetzen
4.2 aufgaben der produktmodellaufbereitung
geometrische daten
nichtgeometrische daten
Extraktion
Reduktion
Tesselierung
Oberflächenbeschreibung
Animation
Konvertierung
Zerlegung
Bereitstellung
Tabelle 5: Kernaufgaben der Produktmodellaufbereitung
4.2
aufgaben der produktmodellaufbereitung
Wie bereits erläutert wurde, ist die Verarbeitung von Produktdaten
auf der einen Seite für die Geometrie eines Produktes zu betrachten
und auf der anderen Seite für die nichtgeometrischen Daten (vgl. Abbildung 6). Für beide Typen von Daten fallen somit im Rahmen der
Produktmodellaufbereitung eine Reihe von Bearbeitungsschritte an.
Diese ergeben sich unter anderem aus den Rahmenbedingungen
des Problemfeldes und den Anforderungen an die Softwareanwendung zur Präsentation der Modelle gegenüber dem Kunden (vgl. Unterabschnitt 4.1.2, Unterabschnitt 4.1.3). Darüber hinaus ergeben sich
die Aufgaben aus dem Zustand der Daten auf Seiten des Herstellers
und aus dem benötigten Zustand der Daten zur Präsentation der Produkte in einer Vertriebsanwendung. Bezogen auf die Aufgaben der
Produktmodellaufbereitung spielen die Vor- und Nachbedingungen
dieses Prozesses eine entscheidende Rolle (vgl. Unterabschnitt 4.1.4).
Tabelle 5 stellt die allgemeinen Aufgaben der Produktdatenaufbereitung dar. Dabei gibt es Arbeitsschritte, die prinzipiell für geometrische und nichtgeometrische Daten auszuführen sind. Einige betreffen darüber hinaus speziell die 3D-Modelle. Die genannten Aufgaben
werden im Folgenden näher beschrieben.
extraktion Für die Aufbereitung der Daten stellt sich zunächst
die Aufgabe, die Informationen aus dem Eingangsdatensatz zu extrahieren. Bestimmte Teile der Produktmodelle erfordern eine gesonderte Behandlung, weshalb sie vom Rest der Daten separiert werden
müssen. Dies trifft besonders für die getrennte Extraktion von geometrischen und nichtgeometrischen Daten zu, falls diese in einer Datei
vorliegen. Dies kann etwa bei einer STEP-Datei als Eingangsdatensatz
43
44
konzeption
der Fall sein. Wichtig bei dieser Aufgabe ist es, die Assoziationen
zwischen den Daten nicht zu verlieren. Ein Produkt besitzt in diesem Sinne eine geometrische Gestalt und darüber hinaus verschiedene beschreibende Eigenschaften. Wenn verschiedene Informationen
getrennt aus dem Eingangsdatensatz entnommen werden, muss sichergestellt sein, dass jederzeit klar ist, zu welchem Produkt oder
Teil eines Produktes ein Informationsblock gehört.
Entfernen von
Geometrie
Vereinfachen von
Geometrie
Vernachlässigung
unrelevanter
Daten
reduktion Die Aufgabe der Reduktion von geometrischen Daten
beinhaltet zwei Facetten. Die erste besteht darin, Teile der Geometrie
komplett zu entfernen und die zweite liegt in der Reduktion der Datenmenge, mit denen die Formen beschrieben werden. Beide Methoden führen zu zwei Vorteilen. Zum einen werden die Übertragungszeiten der 3D-Modelle zum Client verringert, was sich besonders im
Umfeld von 3D-Webanwendungen positiv bemerkbar macht. Auf der
anderen Seite beanspruchen schlankere 3D-Modelle die Grafikhardware weniger. Dies führt allgemein zu einer flüssigeren Ausführung
von 3D-Anwendungen.
Mit dem Entfernen von Geometrie ist gemeint, das bestimmte Bauteile komplett oder teilweise aus dem 3D-Modell entfernt werden.
Dies gilt besonders für Kleinteile, da sie in der Regel wenig zur Gesamterscheinung eines Produktes beitragen, jedoch in der Summe erhebliche Hardwareressourcen binden. Das Entfernen von Geometrie
ist somit nötig, falls Teile der Geometrie für die Gesamterscheinung
wenig relevant sind oder im Inneren eines Objektes liegen und daher
nicht zu sehen sind. Ein weiterer Anwendungsfall, der diesen Arbeitsschritt nötig macht, ist der Schutz von intellektuellem Eigentum. So
können bestimmte Teile entfernt werden, die Aufschluss über die innere Funktionsweise eines Produktes liefern.
Die Vereinfachung von Geometrie meint hingegen die Optimierung
des polygonalen Modells auf einen angemessenen Detailgrad. Dabei
ist der bestmögliche Kompromiss zwischen Formtreue des reduzierten Modells und größter Datenreduktion anzustreben. Für die Vereinfachung der Geometrie gibt es im Wesentlichen zwei Ansatzpunkte.
Dabei ist zu unterscheiden, ob die Vereinfachung während oder nach
der Tesselierung durchgeführt wird. Im ersten Fall wird die mathematisch beschriebene CAD-Geometrie direkt im optimalen Detailgrad in
eine polygonale Repräsentation überführt. Dieser Fall ist anzustreben,
jedoch schwer automatisierbar. Der zweite Fall läuft darauf hinaus,
die polygonale Geometrie nachträglich zu vereinfachen, falls das Modell nach der Tesselierung zu hoch aufgelöst ist. Dazu existieren eine
Reihe von Algorithmen, die abhängig von Eingabeparametern, Formen unterschiedlich stark vereinfachen.
Eine Reduktion der Datenmenge ist auch in Bezug auf nichtgeometrische Informationen von Bedeutung. Am Ende sollten möglichst
nicht mehr Daten an die 3D-Anwendung übertragen werden, als im
4.2 aufgaben der produktmodellaufbereitung
jeweiligen Anwendungskontext nötig ist. Dies kann bedeuten, dass
nur der relevante Teil der Quelldaten überhaupt berücksichtigt und
weiterverarbeitet wird.
tesselierung Für die Repräsentation der Form von Produkten
ergeben sich besondere Aufgaben. Es ist nicht ausreichend diese Informationen aus dem Eingangsdatensatz zu extrahieren, in ein anderes Dateiformat zu überführen und in Teile zu zerlegen. Die innere
Struktur dieser Daten macht eine Überführung in eine andere Form
notwendig.
Auf Grund der unterschiedlichen Repräsentationsformen von Geometrie, die für die Konstruktion auf der einen Seite und für die interaktive Darstellung auf der anderen Seite verwendet werden, ergibt
sich die Notwendigkeit der Tesselierung (Kachelung) der Objekte.
Die Formen werden von einer mathematischen Beschreibung in
ein Polygonnetz überführt und somit diskretisiert. Dieser Prozess, im
Englischen als meshing, mesh construction oder grid generation bezeichnet, zielt auf eine Annäherung an die Originalform durch Polygone
ab.
Zunächst werden Punkte entlang der Kurven verteilt und diese anschließend zu einem Gitternetz verbunden. Die häufigste Grundform
bei der Erstellung des Polygonnetzes aus den Punkten stellen Dreiecke dar. Ein Verfahren, welches über die letzten Jahre besonders viel
Aufmerksamkeit in diesem Bereich erlangte, ist die Triangulierung
mittels des Algorithmus von Delaunay und darauf aufbauende Ansätze (vgl. [FG08, S. 114]). Diese Methode ermöglicht die Kontrolle
über die Stärke der Approximation des zu triangulierenden Objektes
[CCW06, S. 273]. Damit liegt das Geometriemodell nach der Tesselierung im Optimalfall in der richtigen Auflösung vor und eine weitere
Vereinfachung der Geometrie, wie im Folgenden Absatz beschrieben,
ist nicht notwendig.
oberflächenbeschreibung Der Fokus von Konstruktionswerkzeugen aus dem Bereich des CAD liegt üblicherweise nicht auf der
fotorealistischen Darstellung der Produkte, sondern auf deren Form,
Struktur und physikalischen Eigenschaften. Für eine Präsentation der
Produkte für Vertriebszwecke ist allerdings eine hochwertige Materialanmutung erforderlich. Die bloße Zuweisung von Farben für die
Bauteile und Baugruppen ist nicht ausreichend.
Aus diesem Grunde stellt eine Teilaufgabe, während der Produktmodellaufbereitung, die Bearbeitung der Materialoberflächen der Modelle dar. In der Computergrafik werden zur hochwertigen Darstellung von Oberflächen spezielle Shader in Verbindung mit Texturen
eingesetzt. Diese bedingen in der Regel allerdings einen gewissen
manuellen Aufwand. Es wird im Folgenden noch zu klären sein, wel-
45
46
konzeption
che Lösungsmöglichkeiten und Potentiale der Automatisierung sich
für diese Aufgabe bieten.
animation Szenen der 3D-Computergrafik werden erst durch Bewegung und Animation wirklich dreidimensional. Auch eine statische Grafik kann ein Gefühl von Raumtiefe vermitteln. Schwierig
wird es allerdings, wenn ein Objekt von allen Seiten gezeigt werden
soll oder zeitliche Abläufe darzustellen sind.
Neben der Bewegung der Kamera in der Szene bieten sich dafür
Möglichkeiten der Animation von Objekten an. Gemeint ist in diesem Zusammenhang die Veränderung bestimmter Eigenschaften von
Teilen oder ganzen Produkten über eine Zeitspanne hinweg. Beispiele für solche veränderlichen Eigenschaften sind die Position, Rotation
oder Skalierung von Objekten. Für die Darstellung mechatronischer
Produkte kann auch die Animation von Materialeigenschaften wie
Transparenz oder das Verformen von Objekten interessant sein.
Praktisch ergeben sich drei Szenarien für die Anwendung von Animationen im hier diskutierten Kontext:
1. Erstellung durch Hersteller (CAD)
2. Erstellung durch 3D-Artist (DCC)
3. Erstellung durch 3D-Entwickler (Scripting)
Animation durch
CAD-Werkzeuge
Animation durch
DCC-Werkzeuge
Im ersten Fall werden die Animationen auf der Herstellerseite umgesetzt. Dazu bieten CAD-Anwendungen Möglichkeiten die Kinematik von Bauteilen und Baugruppen näher zu beschreiben. Üblicherweise dient dies dem Zweck Kollisionen von Teilen zu erkennen oder
Simulationen durchzuführen. Es ist jedoch auch möglich in Softwarewerkzeugen der Konstruktion Animationen und zum Teil sogar Filme
zu erstellen. Für den hier diskutierten Anwendungsfall können die erstellten Bewegungsabläufe zur weiteren Verarbeitung in ein neutrales
Datenformat exportiert werden. X3D und dessen Vorgänger VRML
sind Beispiele universeller 3D-Formate, die Animationen aufnehmen
können. Die CAD-Software SolidEdge mit dem integrierten Animationswerkzeug Simply Motion bietet beispielsweise die Möglichkeit,
Animationen zu erstellt und zur weiteren Verwendung samt den 3DDaten zu exportieren [Wag09, S. 17].
Liefert der Produkthersteller keine Animationen mit den darzustellenden Produktmodellen aus, können diese auch nachträglich erzeugt werden.
Eine Möglichkeit der späteren Erstellung der Animationen liegt im
Gebrauch von Werkzeugen der DCC. Damit ist Software gemeint, die
zur Medienproduktion von 3D-Artists eingesetzt wird. Diese Tools,
wie etwa Autodesk 3ds Max oder Blender, bieten Möglichkeiten, Keyframeanimationen zu erstellen und ebenso, wie bereits für CAD-Werkzeuge erwähnt, diese zu exportieren. Bei der Keyframeanimation wer-
4.2 aufgaben der produktmodellaufbereitung
den für die zu animierenden Parameter manuell feste Werte für bestimmte Zeitpunkte vorgegeben. Diese Keyframes – oder Schlüsselbilder – geben diskrete Stationen der Animation vor. Sämtliche dazwischen liegenden Werte für die sogenannten Interframes können
anschließend automatisch vom Rechner interpoliert werden.
Über die Keyframeanimation hinaus gibt es die Möglichkeit, Animationen zu programmieren. Damit wird die Veränderung von Parametern nicht durch vorgegebene Werte zu bestimmten Zeitpunkten
vorgegeben, sondern durch Programmlogik kontinuierlich verändert.
Dazu wird die Animation nicht erstellt und in ein 3D-Format exportiert, sondern in der Skriptsprache, der zur Darstellung genutzten
3D-Engine, geschrieben. Dies bietet die Möglichkeit, die Animation
dynamischer zu gestalten und zum Beispiel vom Zustand der 3D-Anwendung oder von Eingaben des Benutzers abhängig zu machen.
konvertierung Die Geometrie mechatronischer Produkte entsteht, wie bereits angesprochen, mit Werkzeugen des CAD. Dazu
verwendete Dateiformate sind, neben den nativen Formaten eines
jeden CAD-Programms, verschiedene Austauschformate, wie etwa
STEP. Die in diesem Bereich verwenden Dateiformate sind jedoch speziell für Anforderungen der mechatronischen Konstruktion optimiert
und nicht für die hochwertige Darstellung in 3D-Anwendungen zur
Präsentation vor dem Endkunden. Aus diesem Grund ist eine Überführung der geometrischen Informationen in ein universelles Visualisierungsformat nötig. Beispiele hierfür sind X3D, Collada oder FBX.
Diese sind speziell für die Speicherung von Polygonnetzen optimiert,
wie sie nach dem Prozess der Tesselierung entstehen und bieten bessere Möglichkeiten die Oberflächen der Modelle zu beschreiben. Dazu gehört beispielsweise die Einbettung von Texturen. Hinzu kommt,
dass die CAD-Formate nicht für die Verwendung im Kontext von 3DWebanwendungen geeignet sind.
Auch produktbeschreibende Informationen aus dem Bereich des
PLM sollten für eine weitere Nutzung durch Webanwendungen in ein
günstiges Format überführt werden. Für diesen Zweck sind auf XML
basierende Formate oder JSON deutlich besser geeignet.
zerlegung Primär aus der Anforderung der Webfähigkeit der resultierenden 3D-Anwendung und der damit begrenzten Bandbreite
für Datenübertragungen resultiert die Aufgabe, die Daten der Produktmodelle in Teilen übertragen zu können. Je nach Komplexität des
Produktes ist es sinnvoll, dessen Geometrie nicht als Ganzes zu übertragen und darzustellen. Eine Zerlegung in Bauteile und Baugruppen
ist nötig. Vorteilhaft ist dies außerdem bei Anwendungsfällen wie der
Konfiguration, bei der Baugruppen und Bauteile Alternativen füreinander darstellen.
47
Animation durch
Scripting
48
konzeption
Der Austausch von 3D-Objekten in einer Anwendung lässt sich
effizienter gestalten, falls diese in Teilen nachgeladen und verarbeitet werden können. Dies gilt für geometrische Informationen genauso wie für nichtgeometrische. Produktbeschreibende Informationen
müssen zunächst als Einzelkomponenten angesprochen und verarbeitet werden, um sie auf Anfrage zur Verfügung stellen zu können.
bereitstellung Nachdem die Produktmodelle entsprechend den
Anforderungen zur Darstellung in vertriebsorientierten 3D-Anwendung vorbereitet wurden, müssen sie eben diesen Anwendungen bereitgestellt werden. Um die Aktualität der Produktinformationen in
einer solchen 3D-Anwendung zu gewährleisten, ist eine Lösung erforderlich, die ein nachträgliches Hinzufügen und Verändern des Datenbestandes ermöglicht. Für diesen Anwendungsfall ist es ungenügend
die Produktmodelle statisch in die 3D-Software einzubetten. Auch im
Hinblick auf die Anforderung der Skalierbarkeit des Datenaufbereitungsprozesses stellt die manuelle Übergabe der Daten mit anschließender Integration in die 3D-Anwendung durch einen Entwickler eine Hürde dar.
Zur Lösung bietet sich eine Onlineschnittstelle an, die das gezielte
Nachladen von Produktinformationen auf Anfrage des Nutzers ermöglicht. Eine solche Schnittstelle lässt sich beispielsweise in Form
von Webservices umsetzten. Dabei werden zur Kommunikation zwischen Softwareanwendungen wohldefinierte Funktionalitäten nach
außen zur Verfügung gestellt.
4.3
modellierung des softwaresystems
Nach der Analyse des Problems kann eine Lösung erarbeitet werden,
um die Produktmodelle entsprechend den Anforderungen und den
zu lösenden Teilaufgaben aufbereiten zu können. Vor der Beschreibung von Einzelheiten des Systems, sollen zunächst grundlegende
Gedanken zur Lösungsfindung dargelegt werden. Zur Bearbeitung
der in Tabelle 5 identifizierten Aufgaben wird ein Softwaresystem
vorgeschlagen, das alle am Problemfeld beteiligten Interessengruppen bei deren Aktivitäten unterstützt. Dieses Gesamtsystem wird im
Folgenden als CAD2Web-Softwaresystem bezeichnet.
Der grundlegende Charakter der Lösung wird wesentlich durch
zwei Anforderungen bestimmt. Zum einen ist hoher Realismus bei
der Darstellung von Produkten in der 3D-Anwendung gefordert. Zum
anderen wird die Lösung maßgeblich geprägt durch die Anforderung
der Skalierbarkeit des Datenaufbereitungsprozesses.
Um große Datenmengen im Sinne vieler Produkte aufbereiten zu
können, ist ein möglichst hoher Grad an Automatisierung anzustreben. In der Aufbereitung von Produktmodellen stellen sich jedoch
Aufgaben, die vollständig maschinell nur schwer zu bewältigen sind.
4.3 modellierung des softwaresystems
49
CAD2Web Softwaresystem
Hersteller
Produkt hinzufügen
« extends »
Produktdaten nachbearbeiten
« extends »
Geometrieoptimierung
3D-Entwickler
Texturierung
Animation
« includes »
Produktmodell freigeben
Produkte auflisten
Nutzer
Produktdetails anfordern
Abbildung 11: UML-Anwendungsfalldiagramm des Szenarios der Datenaufbereitung
Aus den in Tabelle 5 dargestellten Aufgaben der Produktmodellaufbereitung zählen vor allem jene betreffend der Geometrie dazu. Im
Besonderen lassen sich die Arbeiten der Geometriereduktion, Oberflächenbeschreibung und Animation mit qualitativ besseren Ergebnissen händisch durchführen.
Daher stellt sich für den Prozess der Datenaufbereitung eine Kombination aus Automatisierung und manueller Nachbearbeitung als
beste Lösung dar. Der grundlegende Charakter der vorgestellten Lösung lässt sich in folgenden Punkten festhalten:
• durchgängige Automatisierung
• optionale Nachbearbeitung
• Datenaustausch durch Standards
• serviceorientierter Ansatz
Um eine hohe Zahl von Produktmodellen in kürzester Zeit verarbeiten und somit für vertriebsorientierte 3D-Anwendungen bereitstellen zu können, wird ein automatisierter Prozess bereitgestellt. Bei
besonders hohen Anforderungen an die Qualität der resultierenden
Daten kann zusätzlich eine Optimierung und Anreicherung der resultierenden Modelle mit speziellen Werkzeugen manuell erfolgen.
Kernkonzept der
Lösung
50
konzeption
Abbildung 11 zeigt die wesentlichen Aktivitäten der am System
beteiligten Akteure. Das Anwendungsfalldiagramm zeigt allerdings
nur von Menschenhand durchgeführte Prozesse und nicht etwa das
gesamte Funktionsspektrum.
Zur letztendlichen Darstellung der Produktmodelle müssen diese dem System durch den Hersteller zunächst zugänglich gemacht
werden. Damit initiiert dieser den Prozess der Datenaufbereitung.
Die Aktivität Produkt hinzufügen bezeichnet allerdings nicht nur den
Schritt des Einspielens der Quelldaten, sondern schließt die Verarbeitung der Daten und die anschließende Freigabe mit ein. In diesem
Sinne ist ein Produkt dem System hinzugefügt, wenn es letztendlich
nach außen für Nutzer von 3D-Anwendungen zur Verfügung steht.
Dies kann optional durch einen 3D-Entwickler nachbearbeitet werden. Der Prozess des Hinzufügens eines Produktes zum Softwaresystem stellt eine grundlegende Operation dar und wird daher noch
vertieft (vgl. Abbildung 12).
Darüber hinaus interagiert der Nutzer mit dem System, indem er
sich die Menge der enthaltenen Produkte präsentieren lässt und zu
ausgewählten Produkten beschreibende Informationen anfragt. Der
Akteur Nutzer steht stellvertretend für die Endkunden und die Vertriebsmitarbeiter und bildet somit eine Zusammenfassung dieser Interessengruppen.
Der Ablauf des Hinzufügens eines Produktes zum System ist in Abbildung 12 in Form eines UML-Aktivitätsdiagramm dargestellt. Die
drei am Prozess beteiligten Akteure übernehmen folgende Aufgaben:
• Hersteller: Erzeugen der Daten
• CAD2Web-Server: automatische Verarbeitung
• 3D-Entwickler: Freigabe und manuelle Nachbearbeitung
Auf Seiten des Herstellers werden bei diesem Ablauf zunächst Austauschformate durch Spezialsoftware erzeugt. Diese kommen zum
einen aus den CAD-Werkzeugen und zum anderen aus den PLM-Systemen. Der CAD2Web-Server hält einen eigenen Datenbestand, um
im Falle eines Ausfalls des PLM-Servers den Dienst aufrecht erhalten
zu können. Dieser führt auf Basis der Eingangsdaten die Verarbeitung der geometrischen Daten und sonstigen Produktinformationen
durch. Eine tiefer gehende Beschreibung des CAD2Web-Servers wird
im Unterabschnitt 4.3.2 gegeben.
Letztendlich erfolgt eine Freigabeprüfung, der automatisch verarbeiteten Produktmodelle, durch einen 3D-Entwickler bzw. 3D-Designer. Diesem wird Zugriff auf die verarbeiteten Produktmodelle ermöglicht, um sie bei Bedarf mit Spiezialwerkzeugen weiter zu optimieren oder anreichern zu können.
Die Struktur des Softwaresystems orientiert sich an der Struktur
des Problems. Für die Verarbeitung der Produktmodelle existieren
4.3 modellierung des softwaresystems
« subsystem »
CAD2Web - Server
Hersteller
3D-Entwickler
CADFormat
Austauschformat
erzeugen
STEP
Produktdaten
hochladen
Bestand
prüfen
[Produkt
vorhanden?]
Ja
Nein
STEP
Verarbeitung
Geometrie
X3D
Verarbeitung
Nichtgeometrie
XML
Freigabe
Ja
Nein
Geometrieoptimierung
Texturierung
Animation
Abbildung 12: UML-Aktivitätsdiagramm: Produkt hinzufügen
51
52
konzeption
GUI - Graphical User Interface
WS - Webservice
CAD2Web Softwaresystem
Hersteller
PLM - System
GUI
WS
WS
CAD2Web - Server
3D-Entwickler
GUI
WS
WS
3D-Client
Nutzer
GUI
Abbildung 13: UML-Architektur-Montagediagramm
Vor- bzw. Nachbedingungen in Form des gegebenen Zustands der
Quelldaten und des geforderten Zustandes der Zieldaten. Aus diesen Bedingungen ergibt sich das in der Datenverarbeitung klassische
EVA-Prinzip: Eingabe-Verarbeitung-Ausgabe.
Diesem Schema entsprechend sind die in Abbildung 13 dargestellten drei Komponenten bzw. Subsysteme des Gesamtsoftwaresystems
zu sehen. Dieses Prinzip trifft zum einen für das Systems als Ganzes,
als auch für die Komponenten im Einzelnen zu. Auf die Teilkomponenten wird im Folgenden noch näher einzugehen sein.
Für die Gesamtarchitektur des Systems gilt, dass die Subsysteme
untereinander über definierte Schnittstellen zur Kommunikation verfügen müssen. Für eine solche Kommunikation zwischen verteilten
Softwaresystemen existieren eine Reihe von Mechanismen. Beispiele
solcher Technologien sind, JavaRMI [Gro11] für den Methodenaufruf
zwischen verteilten Java-Anwendungen, CORBA [Sie96] als Spezifikation einer objektorientierten Middleware für verteilte Systeme und
DCOM [Red97] für die Kommunikation von Prozessen auf WindowsBetriebssystemen über ein Netzwerk.
Aus der Anforderung der Schnittstellenneutralität (siehe Tabelle 4)
geht jedoch hervor, dass die Schnittstelle unabhängig von der zur Programmierung der Komponenten verwendeten Sprache oder des ein-
4.3 modellierung des softwaresystems
53
gesetzten Betriebssystems sein sollte. Webservices (WS) stellen eine
solche sprachen- und plattformneutrale Technologie zur Kommunikation zwischen Softwareanwendungen dar. Von den genannten Technologien entsprechen sie am besten dem Gedanken der serviceorientierten Architektur (SOA) und eignen sich besonders für den Einsatz
im WWW [KMH10, S. 2].
Für deren Implementierung bieten sich zum einen das SOAP-Protokoll und zum anderen das REST-Programmierparadigma an. Für
weitere Informationen zu Webservices sei auf [Mel10] und [WP11]
verwiesen.
Neben den Webservice-Schnittstellen für die Maschine–zu–Maschine Kommunikation der Komponenten untereinander, sind grafische
Benutzungsschnittstellen (GUI) erforderlich. Sie dienen der Interaktion der beteiligten Interessengruppen mit dem System. Zu diesen grafisch gestützten Aktivitäten gehören das Einpflegen der Quelldaten
auf Herstellerseite, die Umsetzung des Freigabeprozesses, die optionale manuelle Nachbearbeitung durch einen 3D-Entwickler und das
Konsumieren der Produkte durch den Nutzer mithilfe einer 3D-Anwendung.
Auf Herstellerseite wird das Einpflegen von Daten dabei zum einen
durch Hinzufügen zum PLM-System ermöglicht und zum anderen
durch direkten Upload auf den CAD2Web-Server.
Die jeweiligen Schnittstellen werden im Folgenden für die einzelnen Subsysteme näher beschrieben.
4.3.1
Subsystem: PLM-System
In herstellenden Unternehmen werden zur Umsetzung einer Strategie des Produktdatenmanagements spezielle Anwendungsserver eingesetzt. Entsprechend, des im Unterabschnitt 2.1.1 vorgestellten Produktlebenszyklus, beschreiben die Daten sämtliche Phasen innerhalb
der Lebensdauer eines Produktes. Diese produktbezogenen Informationen werden mithilfe solcher Systeme verwaltet und gepflegt.
Zur internen Repräsentation der Daten werden in diesen Systemen
zwar eigene Logiken und Strukturen eingesetzt, für die Interoperabilität mit anderen Anwendungen stehen jedoch sogenannte LoaderKonzepte bereit. Dadurch ist es möglich, die interne Struktur aus
externen Files aufzubauen und umgekehrt externe Files aus der internen Struktur zu generieren.
Dem zweiten Fall, in Form des Datenexports, kommt hier besondere Aufmerksamkeit zu. Im Kontext der vorgestellten Lösung dienen
PLM-Systeme als Datenquelle für den Aufbereitungsprozess.
Für diesen Anwendungsfall kann es nützlich sein, die Freigabeverwaltung und Sicherheitsmechanismen dieser Systeme zu nutzen. So
ist es beispielsweise denkbar, nur jene Produkte und Baugruppen mit
PLM-System als
Datenquelle
54
Datenschnittstellen
konzeption
dem Status »freigegeben« bereitzustellen oder über Benutzerberechtigungen den Zugriff auf die Produktpalette einzuschränken.
Häufig legen Unternehmen vereinfachte Geometriemodelle zusammen mit den Konstruktions- und Fertigungsmodellen in den PLM-Systemen ab, die unternehmensintern zur Visualisierung genutzt werden [ES09]. Nach einer Prüfung im Einzelfall können diese Daten
direkt für die Darstellung der Geometrie genutzt und so Verarbeitungsschritte eingespart werden.
Für den Export von Daten aus einem PLM-Server sind grundsätzlich zwei Typen von Schnittstellen zu unterscheiden. Zum einen ist
dies die Datenschnittstelle. Sie bezieht sich auf die Formate der Daten,
welche aus dem System heraus generiert werden können. Weiterhin
sind die Kommunikationsschnittstellen von Interesse. Sie legen fest,
durch welche Technologien eine Anwendung mit dem PLM-System
kommuniziert. Auf diese Weise können entfernte Funktionsaufrufe
realisiert oder Produktinformationen in einem Austauschformat angefordert werden.
Im Hinblick auf die Datenschnittstelle existieren zwei Austauschformate, die in PLM-Systemen besonders häufig eingesetzt werden
(vgl. [HS07, S. 529]):
• STEP
• XML-basierte Formate
Im erstgenannten Fall werden die internen Datenstrukturen durch
Nutzung eines STEP-Toolkits entweder in das Dateiformat STEP physical file (ISO 10303 Part 21) oder STEP-XML (ISO 10303 Part 28) überführt. Die Lösung mySAP PLM bietet beispielsweise die Möglichkeit,
Objekte für die Freigabe im STEP-Format zu selektieren und stellt diese mithilfe eines STEP Servers und eines RFC Servers für andere Systeme zur Verfügung [HS07, S. 530].
Die zweite wichtige Datenschnittstelle stellen XML-basierte Formate dar. Diese werden vom PLM-System ebenfalls durch einen Mapper aus den internen Strukturen erzeugt. Hierbei bieten sich jedoch
Möglichkeiten die XML-Struktur speziell an die zu lösende Aufgabe
anzupassen. Darüber hinaus besitzen verschiedene Systeme spezielle
XML-Schemata. Dieser Ansatz bietet zwar mehr Flexibilität, lässt es,
im Gegensatz zu STEP mit den klar definierten Anwendungsprotokollen, aber an Einheitlichkeit mangeln.
Davon abgesehen stellt XML eine interessante Alternative dar. Die
Beschreibungssprache ist ebenfalls ein herstellerunabhängiger Standard. Darüber hinaus ist die Verarbeitung der so beschriebenen Daten
einfacher. Verglichen mit STEP sind keine teuren Bibliotheken sowie
Spezialwissen zur Entwicklung von Software, die dieses Format unterstützt, nötig. Ein weiterer Vorteil ist die einfache Kombinierbarkeit
mit HTTP. Dadurch eignen sich in XML beschriebene Daten besonders für den Einsatz im Web.
4.3 modellierung des softwaresystems
55
GUI - Graphical User Interface
WS - Webservice
CAD2Web - Server
Controller
Prozessor:
Geometrie
GUI
Datenhaltung
WS
Prozessor:
Produktbeschreibung
Abbildung 14: Komponenten des CAD2Web-Subsystems
Für den Austausch mit anderen Anwendungen stellen PLM-Systeme eine ganze Reihe von Technologien bereit. Die für diesen Anwendungsfall favorisierte Kommunikationsschnittstelle stellen Webservices
dar. Sie ermöglichen eine Interaktion zwischen Software-Agenten durch
Aufruf von URLs und den Austausch von XML-Artefakten. Solche
Dienste stellen damit eine lose Kopplung von Funktionskomponenten im Sinne einer serviceorientierten Architektur dar und sind dabei weder auf bestimmte Plattformen, noch Programmiersprachen beschränkt.
Eine weitere in diesem Zusammenhang erwähnenswerte Technologie, genannt PDMEnabler, wurde von der Objects Management Group
standardisiert. Diese PDMEnabler stellen CORBA-Objekte dar und
dienen dem Zugriff auf Eigenschaften und Methoden zur Manipulation von PDM-Daten. Das Konzept umfasst mehrere funktionale Module, darunter auch explizit den Im- und Export von STEP-Daten.
Für weitere Informationen zu PLM-Systemen und deren Schnittstellen sei auf [ES09] und [HS07] verwiesen.
4.3.2
Subsystem: CAD2Web-Server
Der in Abbildung 14 dargestellte CAD2Web-Server stellt die eigentliche Softwarelösung zur Realisierung des Aufbereitungsprozesses der
Produktdaten dar. Strukturell integriert er einen Application- und
einen Webserver. Der Applicationserver dient der Verarbeitung von
Quelldaten und der Webserver der Bereitstellung von Zieldaten.
Kommunikationsschnittstellen
56
Controller
Prozessor:
Geometrie
konzeption
Der Controller ist für die Kommunikation nach außen und für die
Steuerung interner Komponenten verantwortlich. Was die Eingangsseite der Daten angeht, ist eine Kommunikation mit dem PLM-System
nötig, um festzustellen ob neue Quelldaten im Sinne neuer Produkte vorliegen. Im Wesentlichen bieten sich dazu zwei Möglichkeiten.
Bei der ersten, dem sogenannten polling, wird zyklisch eine Anfrage
gestellt, ob neue Daten vorliegen. Beim zweiten Mechanismus, dem
pushing, informiert der PLM-Server aktiv den CAD2Web-Server über
Änderungen.
Für das Hinzufügen und Abfragen neuer Quelldaten wird folgende Strategie vorgeschlagen. Ein Polling-Mechanismus im Controller
fragt periodisch am PLM-Server an, ob neue Produktmodelle zur Verarbeitung vorliegen. Dies hat den Vorteil, dass ein Polling-Mechanismus im Rahmen von Webservices leicht zu implementieren ist. Darüber hinaus ist nicht davon auszugehen, dass auf Seiten des Herstellers in Abständen von Minuten oder Sekunden neue Produkte hinzukommen. Denkbar wäre demnach eine Abfrage im Minuten- oder
Stundentakt. Zusätzlich wird durch die grafische Benutzungsoberfläche des CAD2Web-Servers die Möglichkeit geboten, die Abfrage manuell zu starten. Dadurch kann der Datenimport, zum Beispiel nach
der Installation des Servers manuell angestoßen werden.
Für Anwendungsfälle, in denen keine Anbindung eines PLM-Systems als Datenquelle möglich ist, muss eine Alternative bereitgestellt
werden. Dieses Problem kann beispielsweise dadurch gelöst werden,
indem der CAD2Web-Server über eine Webanwendung den Upload
von Produktmodellen ermöglicht.
Für die Kommunikation mit den 3D-Clients ist ebenfalls die Bereitstellung einer Schnittstelle erforderlich. In diesem Sinne nimmt der
Controller Anfragen entgegen und liefert angeforderte Informationen
in Form der Zieldaten.
Ein wichtiger Gedanke in Bezug auf die Geometrieverarbeitung ist
die Integration vorhandener Softwaretools in den CAD2Web-Server.
Da auf dem Markt ausgereifte Lösungen existieren, bietet es sich an,
diese zu nutzen. Eine Eigenentwicklung wäre mit erheblichem Aufwand verbunden. Wesentliche Punkte für die Auswahl solcher Werkzeuge, im hier diskutierten Kontext, sind die Funktionalitäten und
die Möglichkeiten der Integration. Für die Erweiterbarkeit in Bezug
auf die Anforderungen an die Gesamtarchitektur ist ein großer Funktionsumfang dieser Kernkomponenten unabdingbar.
Zwei besonders geeignete Werkzeuge sollen im Folgenden unter
den hier interessanten Gesichtspunkten vorgestellt werden:
• Okino PolyTrans [Pol]
• Autodesk 3ds Max [3ds]
4.3 modellierung des softwaresystems
Beide Werkzeuge, dargestellt in Abbildung 15, bieten vor allem ausgereifte Funktionen zur Geometriebearbeitung und die Möglichkeit
des Scriptings.
(a) Okino PolyTrans
(b) Autodesk 3ds Max 2013
Abbildung 15: 3D-Anwendungen zur Integration in den CAD2Web-Server
Wie der Name PolyTrans bereits andeutet – Polygon und Transformation – ist die Applikation aus den Anforderungen der Datenkonvertierung von 3D-Modellen entstanden. Daraus resultiert eine sehr
gute Unterstützung für den Import von 3D-Formaten aus dem industriellen Umfeld. Während der nun 24-jährigen Entwicklungszeit ist
der Funktionsumfang über die Konvertierung hinaus stark gestiegen.
Zur Automatisierung von Aufgaben bietet PolyTrans Möglichkeiten durch Skripte auf eine Reihe interner Funktionen zuzugreifen.
Dazu stehen unter anderem, die von Microsoft entwickelten Skriptsprachen, VBScript und JScript zur Verfügung. Der so erstellte Pro-
57
58
Prozessor:
Produktbeschreibung
konzeption
grammcode kann nicht nur aus der grafischen Oberfläche heraus,
sondern auch durch Aufruf des Programm per Kommandozeile an
PolyTrans übergeben und abgearbeitet werden.
Autodesk 3ds Max wird vor allem zur Erstellung von 3D-Animationen, Videospielen und zur Architekturvisualisierung eingesetzt. Man
bezeichnet Werkzeuge in diesem Umfeld üblicherweise als DCC-Tools.
Besonders geeignet für die hier zu lösenden Aufgaben ist diese Software, da sie Funktionen bietet, um visuell hochwertige Ergebnisse zu
erzielen und gleichzeitig in der Lage ist, Datenformate aus dem Bereich der Konstruktion zu verarbeiten. Als eines von wenigen Werkzeugen dieser Art ist diese Applikation in der Lage das Industrieformat STEP einzulesen.
Sämtliche Funktionen, die im Rahmen der grafischen Benutzungsoberfläche ausgeführt werden können, sind in Autodesk 3ds Max
durch externe Skripte aufrufbar. Dafür wurde eigens die Skriptsprache MAXScript entwickelt. Diese Programmierbarkeit zusammen mit
der Möglichkeit, Skripte beim Start der Anwendung durch Kommandozeilenparameter übergeben zu können, ermöglichen die Einbindung von Autodesk 3ds Max in eigene Anwendungen. Auf diese
Weise können Aufgaben im Rahmen einer automatisierten Verarbeitungspipeline an die Anwendung delegiert werden.
Bei der Verarbeitung nichtgeometrischer Daten geht es darum, die
beschreibenden Informationen zu einem Produkt aus dem STEP-File
zu extrahieren und in ein neutrales Format, wahlweise XML, zu überführen. In dieser Form können die Informationen leichter in Teilen
ausgeliefert und von 3D-Anwendungen interpretiert werden. Zur Extraktion der Daten aus dem STEP-Format bieten sich softwareseitig
zwei Optionen an. Dies ist zum einen die Programmierung mithilfe
von Spezialbibliotheken und zum anderen die Definition von Transformationsregeln basierend auf XSLT.
Es existieren Bibliotheken für verschiedene Programmiersprachen,
um STEP-Daten zu lesen, zu manipulieren und zu schreiben. Ihnen
allen ist gemein, dass sie sehr robust sind und, in Bezug auf die STEPSpezifikation, über einen umfangreichen Funktionsumfang verfügen
[Fro11, S. 15]. Tabelle 6 stellt drei verbreitete STEP-Bibliotheken in einer Übersicht dar.
Liegen die Produktmodelle in dem XML-basierten Format STEPXML (ISO 10303 Part 28) vor, bietet sich eine alternative Verarbeitungsmethode zu den genannten STEP-Bibliotheken an. In dem Fall
lassen sich die Produktmodelle mit XSLT verarbeiten und dadurch
in ein anderes XML-Format überführen. Dabei werden für einzelne XML-Knoten der Eingangsdaten Verarbeitungsregeln durch XSLTTemplates definiert. Dieses Szenario setzt die Implementierung dieser
Templates für sämtliche zu berücksichtigenden Inhalte des STEP Standards voraus.
4.3 modellierung des softwaresystems
59
JSDAI (Java Standard Data Access Interface) [JSD]
Lizenz
open source, proprietär
Entwickler
LKSoft GmbH
Programmiersprache
Java
ST-Developer [STD]
Lizenz
proprietär
Entwickler
STEP Tools Inc. (USA)
Programmiersprache
C++, Java
STEP Class Library [STE]
Lizenz
open source
Entwickler
(Community Projekt)
Programmiersprache
C++, Python
Tabelle 6: Übersicht – STEP-Bibliotheken (SDKs)
Von den vorgestellten Möglichkeiten zur Verarbeitung STEP-basierter
Daten scheint die Bibliothek JSDAI besonders für den Einsatz im Kontext der vorliegenden Aufgabenstellung geeignet. Sie bietet Werkzeuge, um die Quelldaten auf Standardkonformanz zu testen. Darüber
hinaus ist die Unterstützung künftiger Anwendungsprotokolle über
einen Compiler gegeben, mit dessen Hilfe Java-Klassen aus der Modellierung dieser AP generiert werden können. Nicht zuletzt eignet
sich diese Bibliothek aufgrund der Programmiersprache Java, mit deren Hilfe sich so entwickelte Softwarekomponenten gut in eine serverseitige Webanwendung integrieren lassen.
Auf dem CAD2Web-Server müssen die Quelldaten für die Verarbeitung und die Zieldaten für die Bereitstellung nach außen verfügbar sein. Der Controller legt die Quelldaten in Form von STEP-Dateien in einem speziellen Bereich ab. Diese werden durch die Verarbeitungskomponenten gelesen und die Resultate in Form von X3D
und XML-Dateien abgelegt. Bei einer Anfrage durch einen 3D-Client
greift der Controller auf die vorgehaltenen Zieldaten zu und liefert
sie per HTTP an die anfragende Anwendung aus.
4.3.3
Subsystem: 3D-Client
An dieser Stelle sollen die Mindestanforderungen an 3D-Technologien dargelegt werden, die nötig sind, um die vom CAD2Web-Server
gelieferten Inhalte interpretieren und darstellen zu können. Die drei
Datenhaltung
60
Kommunikation
mittels HTTP
API zur Szenengraphmanipulation
konzeption
in Abschnitt 2.3 vorgestellten Technologien (Unity3D, WebGL, Stage
3D) erfüllen die Anforderungen und können somit zur Implementierung eines 3D-Clients im Rahmen des hier vorgestellten Gesamtkonzeptes eingesetzt werden.
Der Grundgedanke der Gesamtlösung besteht darin, Produktmodelle »live« dem System hinzuzufügen. Demnach sind die konkreten Produktmdodelle zur Zeit der Entwicklung der 3D-Anwendung
nicht bekannt. Die prinzipielle Struktur der Inhalte ist zwar klar, um
die Programmlogik der Software entsprechend erstellen zu können,
die eigentlichen Inhalte werden jedoch zur Laufzeit geladen und instanziiert.
Da der CAD2Web-Server die verarbeiteten Produktmodelle durch
Webservices bereitstellt, ist eine Kommunikation mit der 3D-Anwendung durch HTTP erforderlich. Dabei ist es technisch unerheblich,
ob es sich beim 3D-Client um eine Webanwendung im Browser, eine
klassische Desktopanwendung oder um eine App auf einem mobilen
Gerät handelt. Eine 3D-Anwendung kann die gelieferten Inhalte generell verarbeiten, so lange sie über eine Internetverbindung und die
Möglichkeit verfügt, Inhalte aus dem Web aufzurufen.
Die Produktmodelle werden der anfragenden Applikation ähnlich
einer klassischen Webseite in Textform übermittelt. Dabei kommen
übliche Kodierungen wie etwa UTF-8 zum Einsatz. Der Unterschied
liegt lediglich darin, dass die Geometrien und nichtgeometrischen
Daten nicht als HTML-Dokument an den Client übertragen werden,
sondern in Form von X3D und weiteren XML-Formaten.
Wie auch bei der Interpretation klassischer zweidimensionaler Webseiten durch den Browser, kennt die darstellende Anwendung das
Format und kann die Inhalte entsprechend darstellen. Für immersive
Webanwendungen erfordert die interaktive Darstellung die Modifikation des Szenengraphen zur Laufzeit. 3D-Technologien bieten dafür
jeweils eine eigene API, um Objekte der 3D-Szene zu manipulieren
oder neue hinzuzufügen.
4.4
zusammenfassung
Um eine Lösung für die Optimierung der Produktmodellaufbereitung zu finden, wurde zunächst die Problemstellung analysiert, um
anschließend ein Konzept für die Softwareunterstützung zu entwickeln. Es zeigten sich drei am Lösungsprozess beteiligte Interessengruppen. Dies sind der Hersteller als Urheber der Produktmodelle,
der Entwickler im Sinne eines Dienstleisters zur manuellen Produktmodellaufbereitung und Anwendungsentwicklung sowie der Endkunde als Nutzer der 3D-Anwendung. Weiterhin wurden in diesem
Kontext Anforderungen an eine Lösung beschrieben. Diese beziehen
sich zum einen auf den Prozess der Datenaufbereitung und zum anderen auf die 3D-Applikation zur Darstellung der Produkte.
4.4 zusammenfassung
Um Teilaufgaben für den Prozess der Produktmodellaufbereitung
ableiten zu können, wurde die Struktur der Produktgeometrie näher
betrachtet. Dies beinhaltet den Zustand der Daten auf der Eingangsseite des Prozesses und den benötigten Zustand der Daten auf der
Ausgangsseite für die Darstellung in einer 3D-Anwendung.
Die Betrachtungen führten zur Konzeption eines Softwaresystems
bestehend aus drei Hauptkomponenten mit dem Ziel, die vorliegende Problemstellung durch Automatisierung zu lösen und gleichzeitig
eine optionale manuelle Nachbearbeitung zu unterstützen.
61
5
IMPLEMENTIERUNG
5.1
zielstellung der implementierung
Im Folgenden wird die prototypische Implementierung des in Kapitel 4 beschriebenen Konzeptes zur Unterstützung der Produktmodellaufbereitung beschrieben. Ziel der Implementierung ist es, den Prozess der Aufbereitung von Anfang bis Ende zu unterstützen. Bezüglich des Umfangs der Funktionalitäten – also der Breite des Prozesses
– erfolgt jedoch eine Einschränkung auf die wesentlichen Bereiche.
Zur Beschreibung der Implementierung wird nachfolgend die Umsetzung der drei Subsysteme der Lösung in Anlehnung an Abschnitt 4.3
erläutert.
5.2
abstraktion des plm-systems
Um der Anforderung der Aktualität der Daten zu genügen, wurde in
Abschnitt 4.3 die Anbindung eines PLM-Systems als Datenquelle vorgeschlagen. Ebenfalls sind STEP und XML als übliche Exportformate
für diese Systeme genannt worden. Auf Grundlage dieser Kenntnis
dient ein Webserver, welcher Daten in den genannten Formaten als Ergebnis von Anfragen liefert, als Abstraktion eines PLM-Systems. Diese Maßnahme vereinfacht den Kommunikationsaufwand für die Beschaffung der Daten im Rahmen des Prototypen erheblich. Dadurch
kann eine Fokussierung auf die Verarbeitung der Daten erfolgen.
Ein Webserver liefert in diesem Szenario beim Aufruf einer URL
eine Liste der verfügbaren Produktmodelle in Form von XML. Darin enthalten sind für jedes Produkt dessen Name sowie die Namen
der zugehörigen STEP-Dateien, welche die Produktmodelle beinhalten. Diese können ebenfalls durch Senden eines HTTP-Requests vom
CAD2Web-Server angefragt werden. Durch diese Konstruktion können größere Mengen von Produktmodellen beim Starten des CAD-
Webserver
products.xml
1. Req(Produktliste)
Resp(products.xml)
ProduktA.stp
2. Req(ProduktA)
ProduktB.stp
..
.
Resp(ProduktA.stp)
CAD2Web-Server
config.xml
Webserver-URL
..
.
Abbildung 16: Abstraktion des PLM-Systems
63
64
implementierung
geometrische daten
nichtgeometrische daten
Extraktion
Reduktion
Tesselierung
Oberflächenbeschreibung
Animation
Konvertierung
Zerlegung
Bereitstellung
Tabelle 7: Umgesetzte Aufgaben der Produktmodellaufbereitung
2Web-Servers initial geladen und verarbeitet sowie durch zyklische
Abfragen neu hinzugekommene Produktmodelle berücksichtigt werden. Die Adresse des abstrahierten PLM-Systems ist der Serveranwendung dabei vorher durch eine Konfigurationsdatei bekannt gemacht
worden. Abbildung 16 stellt diesen Zusammenhang grafisch dar.
5.3
cad2web-server
Der Server zur Verarbeitung und Bereitstellung der Produktmodelle
hat das Ziel, die in Abschnitt 4.2 identifizierten Aufgaben der Produktmodellaufbereitung abzuarbeiten. Im Rahmen der prototypischen
Implementierung werden die in Tabelle 7 hervorgehobenen Aufgaben
unterstützt. Die Abarbeitung dieser Kernaufgaben stellt die Voraussetzung für einen Verarbeitungsprozess im Sinne der Zielstellung dieser Arbeit dar.
Die automatische Umsetzung der Reduktion von geometrischen
Daten sowie die automatisierte Erstellung von Animationen stellen
dagegen zusätzliche Funktionalitäten dar, die eine solche Lösung optimieren, beziehungsweise erweitern würden. Die algorithmische Lösung dieser Aufgaben repräsentiert ein Problem höherer Komplexität
und erfordert weiteres Evaluieren und Implementieren von Softwarekomponenten. Die Zerlegung der Datenpakete stellt weniger komplexe Anforderungen an die Implementierung, dient jedoch – ähnlich
wie die Reduktion der Daten – der Optimierung der Performance.
Die drei in Tabelle 7 nicht hervorgehobenen Aufgaben wurden aus
den genannten Gründen nicht in die vorliegende Implementierung
aufgenommen.
Im Folgenden wird beschrieben, welche in die Serveranwendung
integrierten Werkzeuge die automatisierte Umsetzung der Aufgaben
5.3 cad2web-server
GEOMETRISCHE
DATEN
NICHTGEOMETRISCHE
DATEN
STEP
3DS Max
JSDAI
Java
Objekt
VRML
CyberX3D
for Java
Java API
for XML
X3D
Jersey, Java
Server Pages
X3D
Abbildung 17: Softwarekomponenten im Prozess der Produktmodellaufbereitung
ermöglichen. Es ist zu klären, welchen Komponenten in der Anwendung welche Aufgaben zugeordnet sind. Darüber hinaus sollen die
Ausführungen dem Verständnis des Verarbeitungsprozesses mit den
sich darin ändernden Repräsentationsformen der Produktmodelle dienen.
Das Rückgrat der Serveranwendung stellt ein in Java implementierter Teil dar. Dieser Programmteil dient der Steuerung von weiteren Softwarekomponenten im Sinne des in Abschnitt 4.3 eingeführten Controllers. Zur Ausführung dieser Applikation kommt Apache
Tomcat [Tom] zum Einsatz. Tomcat stellt als Servlet-Container eine
Umgebung zur Ausführung von Java-Code bereit. Durch den integrierten HTTP-Server können Java-Anwendungen als serverseitige
Webanwendungen eingesetzt werden. Auf dieser Grundlage ist die
grafische Schnittstelle des Prototyps darüber hinaus mit JavaServer
Pages umgesetzt.
Der Prozess, der innerhalb des CAD2Web-Servers abläuft und für
den die Java-Anwendung das Bindeglied darstellt, ist in Abbildung 17
abgebildet. Es sind sowohl, die zur Verarbeitung geometrischer und
nichtgeometrischer Daten, eingesetzte Software zu erkennen, als auch
die jeweilige Eingabe- und Ausgabestruktur der Daten. Der Verarbeitungsprozess kann als Abbildung zwischen den Datenformaten STEP
65
66
implementierung
und X3D verstanden werden. Darüber hinaus findet eine Veränderung der inhaltlichen Struktur der Daten statt.
Zur Verarbeitung der Geometrien wird zum einen die externe Software Autodesk 3ds Max bemüht, und zum anderen die Java-Bibliothek CyberX3D for Java [Cyb] eingebunden. Durch die Scriptingfunktionalität von Autodesk 3ds Max wird mittels eines MAXScripts ein
Batch-Prozess zur Konvertierung mehrerer Produktmodelle vom STEPFormat nach VRML ausgeführt. Die inhaltliche Schnittmenge der beiden Formate hat zur Folge, dass bei diesem Prozess sämtliche nichtgeometrische Informationen unberücksichtigt bleiben. Aus den Quelldaten wird somit die Geometrie extrahiert, tesseliert und in ein universelles Visualisierungsformat überführt.
Zur letztendlichen Konvertierung nach X3D dient die erwähnte
Java-Bibliothek CyberX3D for Java. Dabei ist es essentiell, dass die Bezeichner von Baugruppen und Teilen mitgeführt werden, um später
die Zuordnung von weiteren Informationen zur Geometrie gewährleisten zu können. Dieses Kriterium führte zum Ausschluss weiterer
getesteter Bibliotheken wie zum Beispiel VrmlMerge [Vrm].
Für die Extraktion und Verarbeitung nichtgeometrischer Informationen kommt die Java-Bibliothek des Werkzeuges JSDAI zum Einsatz.
Mit deren Hilfe lassen sich die Quelldaten im STEP-Format auslesen
und im Falle des Prototyps textuelle Informationen zur Beschreibung
der Produkte sowie zur Verwendung von Materialien in Java weiterverarbeiten. Die bei der Verarbeitung der Geometrie vorher erzeugten
X3D-Daten werden in diesem Schritt mit den erwähnten produktbeschreibenden Informationen angereichert.
Nach außen hin erfolgt die Bereitstellung der Daten durch einen sogenannten RESTFul Webservice. Dabei wird für je eine aufzurufende
URL ein bestimmter Dienst geboten. Man spricht in diesem Zusammenhang auch von Ressourcen. Der Webservice ist mittels der JavaBibliothek Jersey [Jer] implementiert und bietet für die 3D-Clients
zwei Dienste an. Die Struktur der URLs für deren Aufruf stellt sich
wie folgt dar:
• http://SERVER-ADRESSE/CAD2Web/rest
• 1.) /getproducts
• 2.) /getProductX3D?productname=PRODUKTNAME
Die Ergebnisse werden, wie im Umfeld von Webservices üblich,
in Form von XML geliefert. Der erste Dienst übergibt auf Anfrage
eine Liste der im System enthaltenen Produkte. Der zweite gibt bei
Angabe eines Produktes das zugehörige aufbereitete Produktmodell
in Form von X3D zurück.
5.4 3d-client
Abbildung 18: Unity 3D-Webclient und Uploadformular
5.4
3d-client
Abbildung 18 zeigt die grafische Schnittstelle des Systems in Form
eines HTML-Formulares für den Upload der Produktmodelle und
ebenfalls die 3D-Webanwendung zur Präsentation dieser Inhalte. Das
Formular dient neben dem vereinfachten PLM-System als zweite Quelle zum Einspielen von Daten in das System. Der Kompaktheit halber
wird das Formular zusammen mit der 3D-Anwendung auf einer Seite
präsentiert. In einer Produktivumgebung würde entsprechend des in
Kapitel 4 beschriebenen Szenarios das Hinzufügen von Produktmodellen in einem geschützten Bereich durch einen Mitarbeiter erfolgen.
Die Implementierung des 3D-Clients ist mithilfe von Unity3D als
Webanwendung umgesetzt. Durch die Wahl dieser Technologie ist
es mit relativ geringem Aufwand möglich, die 3D-Anwendung auch
für andere Plattformen als den Webplayer zu portieren. Im Fokus
stehen dabei besonders Android und iOS als Betriebssysteme mobiler
Geräte.
Da dem Client die URL des CAD2Web-Servers bekannt ist, erfolgt
beim Start zunächst eine Abfrage der vorhandenen Produkte. Nach
dem Parsen der erhaltenen XML-Datei erfolgt die Darstellung der
Produkte in Form einer Liste. Die Produktmodelle selbst werden an
67
68
implementierung
x3d-knoten
beschreibung
Transform
Gruppierungsknoten für das Koordinatensystem der Kindknoten
IndexedFaceSet
Geometrie: Polygone als Vierecke
IndexedTriangleSet
Geometrie: Polygone als Dreiecke
Shape
beinhaltet Geometrie- und Materialknoten
Appearence
beinhaltet Oberflächenbeschreibungen
Material
beinhaltet numerische Werte für Shader
MetadataString
Name-Wert Paare zur Beschreibung von
X3D-Knoten
Tabelle 8: Durch den X3D Unity Parser unterstützte X3D-Knoten
X3D Unity Parser
nichtgeometrische
Informationen:
Produktbeschreibung und
Materialangaben
dieser Stelle jedoch nicht übertragen. Um die Ladezeit zu verringern
und Ressourcen nicht unnötig zu belasten, erfolgt dies erst bei der
Auswahl eines Produktes durch den Nutzer. Da das Herunterladen
und Parsen der Produktmodelle je nach Komplexität circa eine Sekunde bis mehrere Dutzend Sekunden in Anspruch nimmt, wird dem
Nutzer nur Wartezeit für Produkte abverlangt, die für ihn relevant
sind. Einmal geladen, bleiben die Modelle im Speicher der Webanwendung und erscheinen bei erneuter Auswahl sofort.
Zur Anzeige der Geometrie ist ein mapping von X3D auf die interne Datenstruktur von Unity nötig. Die Recherche zeigte, dass diese
Funktionalität zum Zeitpunkt der Durchführung dieser Arbeit weder
durch die Unity-eigenen Entwicklungswerkzeuge, noch durch Skripte von Dritten verfügbar ist. Daher wurde zum Einlesen von X3D-Inhalten zur Laufzeit ein eigener Parser entwickelt.
Tabelle 8 zeigt die unterstützten X3D-Knoten. Diese stellen einen
Ausschnitt der in der Spezifikation von X3D definiten Knotenmenge dar. Der Parser deckt somit nicht die gesamten, sondern die für
diesen Anwendungsfall relevanten Inhalte dieses Standards ab.
Bezüglich nichtgeometrischer Informationen werden vom 3D-Client
Beschreibungen der Produkte und Angaben zu den Materialien – beziehungsweise Werkstoffen – der Baugruppen und Teile unterstützt.
Sobald ein Produkt ausgewählt ist, erscheint dessen textuelle Beschreibung oberhalb der Produktliste, sofern diese in den Quelldaten vorhanden ist.
Durch Angabe des Werkstoffs, aus dem ein Teil besteht, lässt sich
durch die 3D-Anwendung ein passender Shader auf das 3D-Objekt
anwenden und diesem damit spezielle optische Eigenschaften zuweisen. Zu diesem Zweck ist eine Materialbibliothek vorhanden, welche
5.5 zusammenfassung
die Eigenheiten verschiedener Werkstoffe bezogen auf deren Darstellung beinhaltet. Einem Teil kann eine Materialgruppe zugewiesen
sein, wodurch für das betreffende Objekt ein spezieller Shader und
bestimmte optische Eigenschaften, wie die Größe von Glanzpunkten,
gesetzt werden. Der Prototyp unterstützt die Gruppen Metall, Plastik,
Gummi und Glas. Die Zuweisung der Farbe wird in diesen Fällen aus
den Quelldaten übernommen, die üblicherweise in den CAD-Anwendungen bei der Erstellung der Geometrie gesetzt werden.
Neben den Materialgruppen ist auch die Anwendung konkreter
Materialien auf Teile möglich. Dies ist exemplarisch für die Materialien Aluminium, Kupfer und Gold umgesetzt. Bei der Beschreibung
eines Bauteils mit diesen Materialien wird neben dem entsprechenden Shader ein vordefinierter Farbwert für das 3D-Objekt gesetzt.
Für den Fall, dass in den Produktmodellen keine solche Angaben
über die Werkstoffe enthalten sind, kommt ein festgelegter Shader
zur Anwendung und die Farbinformationen werden den Quelldaten
entnommen.
5.5
zusammenfassung
Die prototypische Implementierung setzt die wichtigsten Teile des
Konzeptes aus Abschnitt 4.3 in Form von drei Teilsystemen um. Zur
Simulation des PLM-Systems auf der Eingangsseite kommt ein Webserver zum Einsatz. Weiterhin können dem System Produktmodelle
über ein Upload-Formular hinzugefügt werden.
Die Verarbeitung der Daten basiert auf einer serverseitigen Java-Anwendung, die vorhandene Softwarewerkzeuge und Bibliotheken integriert. Geometrische Teile werden mittels Autodesk 3ds Max und CyberX3D for Java verarbeitet. Für die Aufbereitung nichtgeometrischer
Produktdaten kommen JSDAI und die Java API zur XML-Verarbeitung
zum Einsatz. Nach außen werden REST-basierte Dienste angeboten,
um die aufbereiteten Produktmodelle für Clientanwendungen nutzbar zu machen.
Ein solcher 3D-Client wurde mithilfe der Unity3D-Technologie implementiert, um die Darstellung geometrischer und nichtgeometrischer Informationen im Web zu demonstrieren.
69
6
A U S W E RT U N G
6.1
fazit
Um die Ergebnisse der digitalen Produktentwicklung für 3D-Anwendungen besser nutzbar zu machen, wurde ein Konzept entwickelt,
welches eine Softwareunterstützung für die Aufbereitung der Daten
vorsieht.
Als Anforderungsanalyse für eine mögliche Lösung, wurde das
Problemfeld mit den Anforderungen zum einen an den Aufbereitungsprozess und zum anderen an die 3D-Anwendung zur Darstellung der verarbeiteten Produktmodelle untersucht. Weiterhin konnten Aufgaben identifiziert werden, die innerhalb der Produktmodellaufbereitung durchzuführen sind, um die Quelldaten in der gewünschten Weise nutzen zu können.
Die Recherche identifizierte STEP als besonders relevantes Format
für die Eingangsseite eines Verarbeitungsprozesses. Dessen Nutzung
erlaubt potenziell eine sehr umfangreiche Beschreibung von Produkten deutlich über bloße Geometrien hinaus. Um das Potenzial dieses
Standards für die vorliegende Aufgabe zu erkennen, wurde er näher
untersucht. Der Fokus lag dabei besonders auf möglichen Inhalten
von Produktmodellen.
Das Konzept zur Lösung der identifizierten Aufgaben im Rahmen
der Produktmodellaufbereitung schlägt im Kern eine Kombination
aus automatischer Verarbeitung und einer händischen Nachbearbeitung vor. Aus der Betrachtung themenverwandter wissenschaftlicher
Arbeiten geht hervor, dass für eine Softwarelösung eine dreischichtige Architektur nach dem Client/Server-Prinzip mit Fokus auf Serviceorientierung sinnvoll ist.
Für die Lösung der gestellten Aufgaben zeigte sich eine Integration bestehender Werkzeuge als vielversprechender Weg. Eine eigene Implementierung sämtlicher benötigter Funktionalitäten scheint
mit vertretbarem Aufwand nicht realisierbar zu sein. Daher wurden
vorhandene Softwarewerkzeuge und -bibliotheken recherchiert und
vorgestellt: Zum einen jene zur Bearbeitung der Aufgaben im Rahmen des Aufbereitungsprozesses und zum anderen Technologien zur
Darstellung der Produkte in einer 3D-Anwendung mit Fokus auf der
webbasierten Präsentation.
In diesem Zusammenhang stellte sich heraus, dass eine Trennung
der Verarbeitung geometrischer Daten und nichtgeometrischer Daten
nötig ist. Der Grund dafür ist im Mangel an verfügbaren Werkzeugen
zu sehen, die in der Lage sind, beide Typen von produktbezogenen
71
72
auswertung
Informationen, in der für den vorliegenden Anwendungsfall, geeigneten Weise zu verarbeiten.
Insgesamt wird die Nutzung von standardisierten und weit verbreiteten Formaten zur Repräsentation und Verarbeitung der Produktmodelle empfohlen. Neben STEP als Quellformat auf Seiten der Industrie,
sollten Formate auf Basis von XML zum Einsatz kommen. Für die
Darstellung der aufbereiteten Modelle empfiehlt sich besonders X3D
aufgrund weit verbreiteter Werkzeuge und der guten Integration im
Kontext des Web.
Zur Demonstration der Umsetzbarkeit des entwickelten Lösungskonzeptes dient ein Prototyp in Form einer Serveranwendung und
eines 3D-Clients. Darüber hinaus wird die Anbindung eines PLM-Systems als Datenquelle auf Seiten der Industrie simuliert.
Die in Java umgesetzte Serverapplikation integriert mehrere bestehende Softwarekomponenten mit dem Ziel der Verarbeitung und Bereitstellung geometrischer und nichtgeometrischer Produktinformationen. Neben der Abarbeitung definierter Aufgaben und der Verwaltung der zum System hinzugefügten Produktmodelle, werden die Ergebnisse der Aufbereitung durch einen Webservice nach außen zur
Verfügung gestellt.
Die Demonstration der Nutzung von verarbeiteten Produktdaten
veranschaulicht ein mittels Unity3D implementierter 3D-Client zur
Ausführung im Browser. Dieser präsentiert neben den geometrischen
Informationen auch zusätzliche Beschreibungen und verarbeitet Angaben zum Werkstoff einer Baugruppe oder eines Bauteils resultierend in einer entsprechenden Darstellung.
Zusammenfassend zeigt die Arbeit Möglichkeiten einer optimierten Aufbereitung von Produktmodellen durch den Einsatz vorhandener Werkzeuge in einem automatisierten Prozess auf. Dadurch wird
im Besonderen der manuelle Aufwand bei der Abwicklung großer
Mengen von Produktmodellen reduziert und die Umsetzung größerer Projekte zur Visualisierung von Industrieprodukten erleichtert.
6.2
ausblick
Bezüglich des vorgestellten Konzeptes und der prototypischen Implementierung bieten sich verschiedene Ansatzpunkte zur Weiterentwicklung an. Diese betreffen zum einen die Erweiterung der Funktionalität, und zum anderen Optimierungen der Ausführungsgeschwindigkeit und der Darstellungsqualität.
erweiterung der funktionalität Um den Prototypen zu einem Produktivsystem auszubauen, ist es sinnvoll, die Schnittstellen
zu verfeinern und zu erweitern. Dazu gehört die Anbindung eines
konkreten PLM-Systems auf der Eingangsseite, wie auch zusätzliche
6.2 ausblick
Webservices auf der Ausgangsseite der Serveranwendung. Die Abdeckung zusätzlicher Inhalte von Produktmodellen und deren Auslieferung, in Form von kompakten Informationspaketen, führt darüber
hinaus zu einer größeren Breite an möglichen Anwendungsszenarien
der vorgestellten Lösung.
Für die Verwaltung der aufbereiteten Daten ist weiterhin die Implementierung einer grafischen Schnittstelle des CAD2Web-Servers sinnvoll. Somit wäre zur Unterstützung der manuellen Nachbearbeitung
ein Freigabemechanismus umsetzbar. Produkte werden zur Anzeige
für den Nutzer in diesem Szenario erst nach manueller Prüfung freigeschaltet. In diesem Zusammenhang bietet sich auch die Implementierung von Zugriffsrechten und die Anbindung an eine Datenbank
zur Sicherung der Produktmodelle an.
Neben den genannten funktionalen Erweiterungen der Anwendung
zur Verarbeitung der Produktmodelle liegt auch eine Verbesserung
der Robustheit und Fehlertoleranz nahe. Der Einsatz externer Werkzeuge kann zu unerwartetem Verhalten und zu Ausnahmen führen,
die nicht zum Versagen des Dienstes insgesamt führen dürfen.
Potenzial besteht ebenfalls in der Unterstützung der manuellen
Nachbearbeitung von Produktmodellen, indem DCC-Werkzeuge wie
3ds Max oder Cinema 4D eng in den Prozess integriert werden. Durch
die Möglichkeit Plugins für diese Anwendungen zu entwickeln bietet
sich eine Funktionalität zur Synchronisation mit dem Datenbestand
des CAD2Web-Servers an. So könnten die Auswirkungen von Änderungen, etwa der Reduktion der Komplexität geometrischer Objekte, direkt im 3D-Client zur Präsentation der Produkte nachvollzogen
werden.
Im Hinblick auf den prototypisch umgesetzten 3D-Client ist eine
Erweiterung der Funktionalität in folgenden Punkten erstrebenswert.
Um eine authentischere Materialanmutung der Teile und Baugruppen zu erzielen bietet sich der Ansatz an, abhängig vom definierten
Werkstoff neben den Shadern und deren Parametern auch Texturen
automatisch zuzuweisen. In diesem Zusammenhang kann die Möglichkeit betrachtet werden, die Abbildung von Texturen auf Geometriekörper durch ein sogenanntes Cube- oder Sphere-Mapping als Alternative zum händischen UV-Mapping durchzuführen. Für die Erweiterung der grafischen Benutzungsschnittstelle des 3D-Clients bieten sich zum einen die Anzeige von beschreibenden Informationen
direkt am Objekt an und zum anderen die Darstellung der Produktstruktur.
Um vergleichende Aussagen für unterschiedliche 3D-Technologien
für das vorliegende Anwendungsszenario zu treffen, ist die Implementierung weiterer prototypischer 3D-Clients zu empfehlen. Besonders die Umsetzung einer Anwendung auf Basis von WebGL ist interessant, um Erkenntnisse bezüglich der Performanz beim Hinzufügen
73
74
auswertung
von Inhalten zur Laufzeit sowie der Effizienz der Entwicklung zu
gewinnen.
optimierung der performanz Im Bereich der Performanz der
Lösung bieten sich ebenfalls Punkte für weitergehende Arbeiten. Diese betreffen sowohl die Software zur Verarbeitung, als auch jene für
die Darstellung der Produktmodelle.
Im Hinblick auf die Verarbeitung der Produktdaten auf dem Server besteht Optimierungspotenzial, um sowohl die Verarbeitungsgeschwindigkeit, als auch die Größe der resultierenden Produktmodelle
zu verbessern. Neben der Optimierung des Java-Codes der prototypischen Implementierung selbst, bestehen ebenfalls Möglichkeiten, die
zum Teil quelloffenen Java-Bibliotheken zur Datenverarbeitung anzupassen. Dadurch lässt sich unter anderem die Erzeugung von kompakteren Ausgabedaten realisieren.
Zur Verbesserung der Ausführungsgeschwindigkeit und zur Verkürzung von Ladezeiten wird der Einsatz von Methoden zur Kompression und zum Streaming nahegelegt. Die Kompression von Inhalten bietet sich dabei für geometrische wie auch nichtgeometrische
Produktinformationen an. Als externes Kompressionsformat bietet
sich beispielsweise ZIP an. Für dieses offene Format gibt es eine Vielzahl von Implementierungen zur Kompression und Dekompression.
Für die Geometrie existieren Datenformate, welche die Komprimierung der Inhalte direkt unterstützen. Dazu gehören unter anderem JT
und X3D-binary.
Die Implementierung von progressivem Streaming von binären Geometriedaten kann darüber hinaus helfen, die User-Experience deutlich zu verbessern. In diesem Fall muss kaum mehr auf die Übertragung von Daten gewartet werden. Geometrische Objekte können mit
dieser Technik sofort angezeigt werden und unterliegen anschließend
einer zunehmenden Verfeinerung.
75
76
A
anhang
ANHANG
domäne, nr.
name
Mechanisches
Design
AP 201
Explicit draunting
AP 202
Associative draughting
AP 203
Configuration-controlled 3D designs of mechanical parts and assemblies
AP 204
Mechanical design using boundary representation
AP 207
Sheet metal die planning and design
AP 209
Composite and metal structural analysis and related design
AP 214
Core data for automotive mechanical design processes
AP 235
Materials information for the design and verification of products
AP 236
Furniture product data and project data
AP 242
Managed model based 3d engineering
Elektronik
AP 210
Electronic assembly, interconnect and packaging
design
AP 212
Electrotechnical design and installation
AP 227
Plant spatial configuration
Schiffbau
AP 215
Ship arrangement
AP 216
Ship moulded forms
AP 218
Ship structures
Fertigung
AP 219
Dimensional inspection information exchange
AP 223
Exchange of design and manufacturing product
information for cast parts
AP 224
Mechanical product definition for process plans
using machining features
AP 238
Application interpreted model for computer numeric controllers (NC)
AP 240
Process plans for machined products
anhang
domäne, nr.
name
Life cycle support
AP 239
Product Life-cycle support
AP 221
Functional data and schematic representation of
process plants
AP 241
Generic Model for Life Cycle Support of AEC Facilities
Weitere
AP 235
Building elements using explicit shape representation
AP 232
Technical data packaging core information and
exchange
AP 233
Systems engineering data representation
AP 237
Fluid dynamics
Tabelle 9: Anwendungsprotokolle (AP) der Normenreihe ISO 10303 (STEP)
77
78
anhang
gruppe, name
inhalt
Oberflächenbeschaffenheit
surface_condition
Oberflächeneigenschaften
Zeichnungen
explicit_draughting
Zeichnungsannotationen
associative_annotation
Beziehungen von Zeichnungsannotationen
Externe Referenzen
external_reference_mechanism
externe Dokumente
Formmerkmale
user_defined_feature
Nutzerdefinierte
gen
Beschreibun-
included_feature
Beschreibung von Formen
generative_featured_shape
parametrisierte Formen
Geometrie
wireframe_model_2d
2D-Punkte, -Kurven
wireframe_model_3d
3D-Drahtgitter Grundkörper
connected_surface_model
3D-Kurven
faceted_b_rep_model
3D-Hüllgeometrie
b_rep_model
3D-Hüllgeometrie mit Kurven
und Topologie
compound_model
3D-Verbundmodell
csg_model
3D-Volumenmodell
geometrically_bounded_surface_model
3D-Grundgeometrieobjekte
anhang
gruppe, name
inhalt
Kinematik
kinematics
Kinematiksimulation
Messdaten
measured_data
Messdaten
Produkteigenschaften
item_property
Objekteigenschaften
Darstellung
geometric_presentation
Geometriedarstellung
annotated_presentation
Annotationsdarstellung
shaded_presentation
Lichtquellen
Produktstruktur
product_management_data
Produktmanagement
element_structure
Objektstrukturierungen
item_definition_structure
Objektbeziehungen
effectivity
Zeitspannen
work_management
Projektmanagement
classification
Kategorien von Objekten
specification_control
Variantenmanagement
process_plan
Prozessinformationen
Toleranzen
dimension_tolerance
absolute Toleranzen
geometric_tolerance
relative Toleranzen
Tabelle 10: Units of Functionality (UoF) des AP 214 der Normenreihe ISO
10303 (STEP)
79
B
GLOSSAR
Ajax
(Asynchronous JavaScript and XML) Konzept zur asynchronen Datenübertragung
zwischen Webserver und Browser; Webseite muss nicht mehr für jede Interaktion
komplett neu geladen werden . 30, 31
API
(Application
Programming
Interface)
Schnittstelle von Programmbibliotheken
oder Programmteilen zu deren Nutzung
in anderen Anwendungen . 20, 21, 28, 29,
31, 60, 69
CAD
(Computer Aided Design) Methode des
Konstruierens eines Produktes mithilfe
elektronischer Datenverarbeitung . 10, 12,
14, 17, 24, 27–29, 39–41, 44–47, 50, 69
CAE
(Computer Aided Engineering) Der breite
Einsatz computergestützter Technik im Ingeneurwesen. CAD und CAM sind Teil davon . 12
CAM
(Computer Aided Manufacturing) Einsatz
von Software zur Steuerung von Maschinen bei der Herstellung von Werkstücken
. 12, 39
CORBA
(Common Object Request Broker Architecture) Standard zur Kommunikation von
Softwarekomponenten zwischen verschiedenen Computern; Ermöglicht Zugriff auf
Softwareobjekte in entfernten Adressräumen; Übertragung per TCP/IP Protokoll .
27, 52, 55
DCC
(Digital Content Creation) Bezeichnet die
Erstellung und Modifikation digitaler Inhalte; Hauptsächlich auf Erzeugung multimedialer Inhalte bezogen: Animation, Audio, Grafik, Video . 46, 58, 73
81
82
Glossar
DCOM
(Distributed Component Object Model)
Technologie von Microsoft zur Kommunikation von Anwendungen im Netzwerk;
Erweiterung des Component Object Model (COM) zur Interprozesskommunikation; Abgelöst durch Windows Communication Foundation (WCF) . 28, 52
GUI
(Graphical User Interface) Benutzungsschnittstelle zur grafischen Interaktion mit
elektronischen Geräten (Computern) anstelle klassischer Steuerung mittels Textkommandos . 53
HPC
(High Performance Computing) Bereich
des computergestützten Rechnens; Nutzung erheblicher Ressourcen an Rechentechnik zur Bearbeitung einer Aufgabe; Üblicherweise Einsatz von Supercomputern .
31
HTML
(Hypertext Markup Language) Wichtigste Beschreibungssprache von Inhalten im
WWW zur Darstellung im Web-Browser .
20, 30, 31, 60, 67
HTTP
(Hypertext Transfer Protocol) Übertragungsprotokoll auf Anwendungsebene
zum Datenaustausch im WWW; Setzt auf
TCP/IP Protokolle auf . 32, 54, 59, 60, 63,
65
JSON
(JavaScript Object Notation) Format
zum Austausch von Daten in JavaScriptNotation; Mensch- und Maschinenlesbar;
Kompakter und einfacher als XML aber
weniger vielseitig . 47
NURBS
(Non-Uniform Rational B-Spline) Mathematisches Modell zur Repräsentation
kurviger Oberflächen; Haupteinsatzgebiet:
Computergrafik; Präzise Beschreibung von
Oberflächen bei wenigen Kontrollpunkten
. 41, 42
Glossar
OpenGL
(Open Graphics Library) Standard zur
Spezifikation
einer
plattformund
programmiersprachenunabhängigen
API zur Entwicklung von 2D- und 3DGrafikanwendungen; Alternative: DirectX
(Microsoft) . 20, 21
Parser
Computerprogramm zur Zerlegung und
Umwandlung einer Eingabe in ein für die
Weiterverarbeitung brauchbares Format .
68
Produktkonfiguration
Beschreibt das Zusammensetzen eines
Produktes aus vorgegebenen Produktkomponenten (Selektion und Kombination)
und die Selektion inhaltlicher Ausprägungen der Komponenteneigenschaften
(Parametrisierung)
unter
Einhaltung
der Konfigurationsregeln; Konfigurationsmöglichkeiten ergeben sich aus den
Selektions-, Kombinations- und Parametrisierungsmöglichkeiten eines Produktes
eingeschränkt durch die Konfigurationsregeln [Sch06, S. 41]. 2
Produktkonfigurator
Multifunktionales, rechnergestütztes System ausgestattet mit grafischen Benutzungsschnittstelle; Leitet Kunden oder Vertriebsmitarbeiter durch den Prozess der
Produktkonfiguration; Steht als Bindeglied
zwischen Produktentwicklung, Fertigung
und Kundenwünschen. 1
REST
(Representational State Transfer) Programmierparadigma für Webanwendungen und
Webservices; Idee: eine URL repräsentiert
das Ergebnis einer serverseitigen Aktion;
Einfacher als SOAP und WSDL . 53, 69
RFC
(Remote Function Call) Schnittstelle zur
Kommunikation von SAP-Systemen untereinander oder mit Drittanwendungen . 54
RMI
(Remote Method Invocation) Java-API für
den objektorientierten Aufruf von Methoden zwischen Softwarekomponenten im
Netzwerk . 28, 52
83
84
Glossar
SDK
(Software Development Kit) Sammlung
von Werkzeugen zur Softwareentwicklung
für eine bestimmte Plattform . 27
Shader
Computerprogramme zur Berechnung von
Beleuchtungseffekten in der Computergrafik . 68, 69
SOA
(Service-Oriented Architecture) Prinzipien
und Methoden der Softwareentwicklung;
Ziel: Erzeugung von Softwarekomponenten als lose gekoppelte interoperable Dienste; Komponenten stellen wohldefinierte
und bekannte Funktionalitäten nach außen
bereit . 27, 53
SOAP
(Simple Object Access Protocol) Ein auf
XML basierendes Protokoll zum Austausch
strukturierter Informationen im Kontext
von Webservices; Üblicherweise Nutzung
von HTTP als Übertragungsprotokoll auf
Anwendungsebene . 28, 53
UML
(Unified Modeling Language) AllzweckModellierungssprache im Bereich der
objektorientierten
Softwareentwicklung;
Stellt Diagrammtypen zur Beschreibung
von Struktur und Verhalten von Software
bereit . 49–52
URL
(Uniform Resource Locator) Zeichenkette zur Adressierung von Ressourcen im
WWW . 55, 63, 66, 67
VPE
(Virtuelle
Produktentstehung)
Durchgehende Rechnerunterstützung bei der
Produkt- und Produktionsentwicklung;
Intensive Anwendung von Simulations-,
Validierungs-, und Verifikationstechniken
auf Basis digitaler realitätsnaher Modelle;
Ziel: frühere Erarbeitung des Produktund Produktionswissens, frühzeitiges
Erkennen von Produkteigenschaften, Reduzierung physischer Prototypen [ES09, S.
48]. 6
VR
(Virtual Reality) Simulation von realen
oder künstlichen Umgebungen mittels immersiven 3D-Technologien; Oft unter Einsatz stereoskopischer Displays . 25
Glossar
VRML
(Virtual Reality Modeling Language) Standardisiertes Dateiformat zur Repräsentation 3-dimensionaler Inhalte; Entwickelt für
den Einsatz im WWW; Nachfolger: X3D .
19, 46, 66
WS
(Web Service) Softwareanwendung zur
Kommunikation mit anderen SoftwareAgenten unter Verwendung XML-basierter
Nachrichten und unter Nutzung internetbasierter Protokolle; Dienst ist durch Uniform Resource Identifier (URI) eindeutig
identifizierbar . 53
WSDL
(Web Services Description Language)
XML-basierte Sprache zur Beschreibung
von Funktionen, Daten, Datentypen und
Austauschprotokollen von Webservices .
28
X3D
(Extensible 3D) XML-basiertes Dateiformat
zur Repräsentation 3-dimensionaler Inhalte; Unter anderem inhaltliche Erweiterung
von VRML . 30, 31, 46, 47, 59, 60, 66, 68, 72,
74
XML
(Extensible Markup Language) MetaAuszeichnungssprache zur Repräsentation
hierarchisch strukturierter Daten in Textform; Ermöglicht Definition anwendungsspezifischer Sprachen; Weite Verbreitung
im Internet . 14, 28, 29, 47, 54, 55, 58–60,
63, 66, 67, 69, 72
XSLT
(Extensible Stylesheet Language Transformation) Programmiersprache zur Transformation von XML-Dokumenten; Basiert
selbst auf XML; Teil der Extensible Stylesheet Language (XSL) zur Definition von
Layouts von XML-Dokumenten . 58
85
L I T E R AT U R V E R Z E I C H N I S
[3ds] Autodesk, Inc.: Autodesk 3ds Max Website. http://www.
autodesk.de/3dsmax. – abgerufen am 26.07.2012
[And00] Anderl, Reiner [.: STEP : standard for the exchange of product model data ; eine Einführung in die Entwicklung, Implementierung und industrielle Nutzung der Normenreihe ISO
10303 (STEP). Stuttgart ; Leipzig : Teubner, 2000. – ISBN
3–519–06377–8
[BDP07] Ball, Alexander ; Ding, Lian ; Patel, Manjula:
Lightweight Formats for Product Model Data Exchange and Preservation / UKOLN, University of
Bath.
Version: 2007.
http://homes.ukoln.ac.uk/
~ab318/eprints/PV2007_Ball_Paper.pdf. 2007. – Forschungsbericht
[Ben] Benedetto, Marco D.: SpiderGL Website.
spidergl.org/. – abgerufen am 07.08.2012
http://
[BFS10] Beckers, Raphael ; Fröhlich, Arnulf ; Stjepandic,
Josip:
Anwendung und Potenziale universeller Visualisierungsformate / ProSTEP AG.
Version: 2010.
http://www.transmechatronic.de/uploads/tx_
vitramemberadmin/literature/Anwendung_und_
Potenziale_universeller_Visualisierungsformate.
pdf. 2010. – Forschungsbericht
[Ble] Blender Foundation:
Blender Website.
blender.org. – abgerufen am 07.08.2012
http://www.
[CADB+ 10] Callieri, Marco ; Andrei, Raluca M. ; Di Benedetto,
Marco ; Zoppè, Monica ; Scopigno, Roberto: Visualization methods for molecular studies on the web platform.
In: Proceedings of the 15th International Conference on Web
3D Technology. New York, NY, USA : ACM, 2010 (Web3D
’10). – ISBN 978–1–4503–0209–8, 117–126
[Cat] Dassault Systemes Deutschland GmbH: Catia Website.
http://www.3ds.com/de/products/catia/. – abgerufen
am 17.08.2012
[CCW06] Chu, Chih-Hsing ; Cheng, Ching-Yi ; Wu, Che-Wen:
Applications of the Web-based collaborative visualization in distributed product development. In: Computers in Industry 57 (2006), Nr. 3, 272 - 282. http://
87
88
literaturverzeichnis
dx.doi.org/10.1016/j.compind.2005.12.004. –
DOI
10.1016/j.compind.2005.12.004. – ISSN 0166–3615
[CLG06] Chen, Xiang ; Li, Min ; Gao, Shuming: A Web Service
for Exchanging Procedural CAD Models Between Heterogeneous CAD Systems. Version: 2006. http://dx.doi.
org/10.1007/11686699_23. In: Shen, Wei-ming (Hrsg.)
; Chao, Kuo-Ming (Hrsg.) ; Lin, Zongkai (Hrsg.) ; Barthès, Jean-Paul (Hrsg.) ; James, Anne (Hrsg.): Computer
Supported Cooperative Work in Design II Bd. 3865. Springer
Berlin / Heidelberg, 2006. – ISBN 978–3–540–32969–5,
225-234
[COL] COLLAVIZ Website. http://www.collaviz.org/. – abgerufen am 07.08.2012
[Cyb] Satoshi
Konno:
CyberX3D
for
Java
Website.
http://www.cybergarage.org/twiki/bin/view/Main/
CyberX3DForJava. – abgerufen am 31.08.2012
[DBM+ 07] Ding, Lian ; Ball, Alexander ; Matthews, Jason ; McMahon, Christopher A. ; Patel, Manjula: Product Representation in Lightweight Formats for Product Lifecycle Management (PLM). In: Representations (2007), Nr.
September, 19 – 21. http://opus.bath.ac.uk/12768/
[ES09] Eigner, Martin ; Stelzer, Ralph: Product Lifecycle Management : ein Leitfaden für Product Development und Life
Cycle Management. 2., neu bearb. Aufl. Berlin ; Heidelberg : Springer, 2009. – ISBN 3–540–44373–8
[FG08] Frey, Pascal J. ; George, Paul L.: Mesh generation / application to finite elements. 2. ed. London : ISTE [u.a.], 2008.
– ISBN 9781848210295
[FL05] Fuh, JYH ; Li, WD: Advances in collaborative CAD:
the-state-of-the art. In: Computer-aided design 37 (2005),
04, Nr. 5, 11. http://www.sciencedirect.com/science/
article/pii/S0010448504001575. ISBN 0010–4485
[Fro11] Froehlich, Arnulf: 3D-Formate im Engineering-Umfeld
- ein Vergleich. (2011), 04. http://www.pdfgenerator3d.
com/nc/de/produkt/whitepaper.html
[GLG] GLGE Website. http://www.glge.org/. – abgerufen am
26.07.2012
[Goo12] Good Technology, Inc.: Good Technology Device Activations Report - Q1 2012. http://media.www1.good.com/
documents/Good_Data_Q1_2012.pdf. Version: 2012
literaturverzeichnis
[Gro11] Grosso, William: Java RMI. O’Reilly Media, 2011 http:
//slub.eblib.com/patron/FullRecord.aspx?p=769348.
– ISBN 9781449315900
[Hei] Heinfling, Benjamin:
Test: HTC One X.
http:
//www.chip.de/artikel/HTC-One_X-Handy-Test_
55411079.html. – veröffentlicht am 13.04.2012, abgeru-
fen am 17.08.2012
[HS07] Hartmann, Gerd ; Schmidt, Ulrich: Product lifecycle management with SAP / the complete guide to mySAP PLM strategy, technology and implementation. 1. ed., repr. Bonn
[u.a.] : Galileo Press, 2007. – ISBN 9781592290369
[Jer] Jersey Website. http://jersey.java.net/. – abgerufen
am 01.09.2012
[JSD] LKSoftWare GmbH: JSDAI Website. http://www.jsdai.
net. – abgerufen am 24.07.2012
[KMH10] Kim, Byung ; Mun, Duhwan ; Han, Soonhung: Retrieval of CAD model data based on Web Services for collaborative product development in a distributed environment. In: The International Journal of Advanced Manufacturing Technology 50 (2010), Nr. 9-12, 1085-1099. http:
//dx.doi.org/doi:10.1007/s00170-010-2571-0. – DOI
doi:10.1007/s00170–010–2571–0
[Kon07] Produktkonfiguration - auch sinnvoll für den Mittelstand? In: Konstruktion : Zeitschrift für Produktentwicklung
und Ingenieur-Werkstoffe 59 (2007), Nr. 11/12, S. 19–21
[Mel10] Melzer, Ingo: Service-orientierte Architekturen mit Web
Services / Konzepte - Standards - Praxis. 4. Aufl. Heidelberg
: Spektrum-Akad.-Verl., 2010. – ISBN 9783827425492
[MLL+ 10] Maglo, Adrien ; Lee, Ho ; Lavoué, Guillaume ; Mouton, Christophe ; Hudelot, Céline ; Dupont, Florent:
Remote scientific visualization of progressive 3D meshes
with X3D. In: Proceedings of the 15th International Conference on Web 3D Technology. New York, NY, USA : ACM,
2010 (Web3D ’10). – ISBN 978–1–4503–0209–8, 109–116
[MPMS98] Männistö, Tomi ; Peltonen, Hannu ; Martio, Asko
; Sulonen, Reijo: Modelling generic product structures
in STEP. In: Computer-Aided Design 30 (1998), Nr. 14, 1111
- 1118. http://dx.doi.org/10.1016/S0010-4485(98)
00067-0. – DOI 10.1016/S0010–4485(98)00067–0. – ISSN
0010–4485
89
90
literaturverzeichnis
[MSG11] Mouton, Christophe ; Sons, Kristian ; Grimstead, Ian:
Collaborative Visualization: Current Systems and Future
Trends, 2011
[NKB10] Niebling, Florian ; Kopecki, Andreas ; Becker, Martin:
Collaborative steering and post-processing of simulations on HPC resources: everyone, anytime, anywhere. In:
Proceedings of the 15th International Conference on Web 3D
Technology. New York, NY, USA : ACM, 2010 (Web3D
’10). – ISBN 978–1–4503–0209–8, 101–108
[Nur09] Nurcahya, Erwin Z.: Ein Produktdatenmodell für das rechnerunterstützte Variantenmanagement. Aachen : Shaker,
2009. – ISBN 978–3–8322–8309–4
[NX] Siemens Industry Software GmbH & Co. KG: NX Website. http://www.plm.automation.siemens.com/de_de/
products/nx/. – abgerufen am 17.08.2012
[OnL] OnLive, Inc.: OnLive Website. https://www.onlive.com.
– abgerufen am 06.08.2012
[Pol] Okino Computer Graphics, Inc.:
PolyTrans Website.
http://www.okino.com/conv/conv.htm. – abgerufen am
26.07.2012
[Proa] Parametric Technology Corporation: Creo Parametric
(ehemals Pro/ENGINEER) Website. http://www.ptc.com/
product/creo/parametric. – abgerufen am 17.08.2012
[Prob] ProSTEPiViP:
step-ap-242.html.
http://www.prostep.
org/de/projekte/step-ap-242.html. –
abgerufen am
09.08.2012
[Red97] Redmond, Frank E.: DCOM / Microsoft Distributed Component Object Model. Foster City, CA [u.a.] : IDG Books
Worldwide, 1997. – ISBN 0764580442
[Sch06] Scheer, Christian: Kundenorientierter Produktkonfigurator
: Erweiterung des Produktkonfiguratorkonzeptes zur Vermeidung kundeninitiierter Prozessabbrüche bei Präferenzlosigkeit
und Sonderwünschen in der Produktspezifikation. Berlin :
Logos-Verl., 2006. – ISBN 3–8325–1392–2
[Scr06] Scra: STEP APPLICATION HANDBOOK ISO 10303
VERSION 3. In: North (2006), Nr. June
[SI08] Saaksvuori, Antti ; Immonen, Anselmi: Product Lifecycle
Management. Springer, 2008. – ISBN 9783540781721
[Sie96] Siegel, Jon: CORBA fundamentals and programming. New
York [u.a.] : Wiley, 1996. – 693 S. – ISBN 0471121487
literaturverzeichnis
[SLV08] Srinivasan, Vijay ; Lämmer, Lutz ; Vettermann, Steven: On Architecting and Implementing a Product Information Sharing Service. In: Journal of Computing
and Information Science in Engineering 8 (2008), Nr. 1, S.
011006. http://dx.doi.org/10.1115/1.2840775. – DOI
10.1115/1.2840775
[SPSS08] Stelzer, Ralph ; Petermann, DIrk ; Saske, Bernhard
; Steger, Wolfgang: Kollaborationsumgebung in einer
heterogenen CAD-VR Systemlandschaft. (2008)
[Staa] Flash Player Version Market Share and User Statistics.
http://www.statowl.com/flash.php. – abgerufen am
26.07.2012
[Stab] Adobe Systems, Inc.:
Stage 3D Website.
http://www.
adobe.com/devnet/flashplayer/stage3d.html. – abge-
rufen am 24.07.2012
[Sta05] Stark, John: Product Lifecycle Management : 21st Century
Paradigm for Product Realisation. Springer, 2005. – ISBN
9781846280672
[STD] STEP Tools Inc.:
ST-Developer Website.
http://
www.steptools.com/products/stdev/. – abgerufen am
11.09.2012
[STE] STEP Class Library Website.
https://github.com/
mpictor/StepClassLibrary. – abgerufen am 11.09.2012
[Thr] Three.js Github Repository. https://github.com/mrdoob/
three.js. – abgerufen am 26.07.2012
[Tom] Apache Software Foundation: Apache Tomcat Website.
http://tomcat.apache.org/. – abgerufen am 31.08.2012
[Uni] Unity Technologies: Unity3D Website. http://unity3d.
com/. – abgerufen am 24.07.2012
[Vö12] Völkl, Gerhard: 3D-Darstellungen im Webbrowser. In:
iX Kompakt: Webdesign (2012), 02, S. 110–111
[Vrm] VrmlMerge Website. http://www.deem7.com/. – abgerufen am 10.09.2012
[W3C] World Wide Web Consortium:
The WebSocket API
Working Draft - 24 Mai 2012. http://www.w3.org/TR/
websockets/. – abgerufen am 06.08.2012
[Wag09] Wagner, Otmar: Arbeitsheft zur Computeranimation zum Lehrplanbereich Kunst und Kommunikation.
(2009).
http://www.kunst-rs-bayern.de/userfiles/
Visuelle_Medien/AH-Computeranimation.pdf
91
92
literaturverzeichnis
[Weba] Khronos Group: WebGL Website. http://www.khronos.
org/webgl/. – abgerufen am 24.07.2012
[Webb] Web3D Consortium: X3D and Related Specifications. http:
//www.web3d.org/x3d/specifications/. –
abgerufen
am 06.08.2012
[WP11] Wilde, Erik ; Pautasso, Cesare: REST : From Research
to Practice. Springer Fachmedien, 2011 http://slub.
eblib.com/patron/FullRecord.aspx?p=799087. – ISBN
9781441983039
[X3D] Fraunhofer Institut für Grafische Datenverarbeitung
(IGD): X3DOM Website. http://www.x3dom.org/. – abgerufen am 23.07.2012
[XML] Universität des Saarlandes, Professur für Computergrafik: XML3D Website. http://www.xml3d.org/. – abgerufen am 23.07.2012
[YTD06] Yang, Xinhua ; Tang, Feilong ; Deng, Wu: Research
on a Generalized Die CAD System Architecture Based
on SOA and Web Service. Version: 2006. http://dx.
doi.org/10.1007/11610496_83. In: Shen, Heng (Hrsg.)
; Li, Jinbao (Hrsg.) ; Li, Minglu (Hrsg.) ; Ni, Jun (Hrsg.)
; Wang, Wei (Hrsg.): Advanced Web and Network Technologies, and Applications Bd. 3842. Springer Berlin / Heidelberg, 2006. – ISBN 978–3–540–31158–4, 625-631
[ZSG04] Zhang, Shusheng ; Shen, Weiming ; Ghenniwa,
Hamada:
A review of Internet-based product information sharing and visualization.
In: Computers in Industry 54 (2004), Nr. 1, 1 - 15. http://
dx.doi.org/10.1016/j.compind.2003.09.002. – DOI
10.1016/j.compind.2003.09.002. – ISSN 0166–3615