CATIA V5 Programmierung Möglichkeiten und Grenzen von

Transcription

CATIA V5 Programmierung Möglichkeiten und Grenzen von
Know-how für Ihre virtuelle Produktentwicklung.
Whitepaper der :em engineering methods AG
CATIA V5 Programmierung
Möglichkeiten und Grenzen
von CATScript, VBS, VBA & CAA
© 2013 :em engineering methods AG
Know-how für Ihre virtuelle Produktentwicklung.
CATIA V5 Programmierung
Möglichkeiten und Grenzen von CATScript, VBS, VBA & CAA
¹ API: Application Programming
Interface, englisch für Programmierschnittstelle.
² PLM: Product Lifecycle
Management (Produktlebenszyklusmanagement) bezeichnet ein
IT-System, mit dem alle Daten, die
bei der Entstehung, Lagerhaltung
und dem Vertrieb eines Produkts
anfallen, einheitlich gespeichert,
verwaltet und abgerufen werden.
³ CATIA V5: Akronym für Computer Aided Three-dimensional
Interactive Application.
CATIA V5 hat sich als leistungsfähiges 3D-Konstruktionswerkzeug in vielen PLM-Prozessen etabliert. Gerade aber
wenn es um die Integration in unternehmensspezifische Prozessketten geht, ist es meist unabdingbar Anpassungen vorzunehmen. Dies mündet häufig in Zusatzsoftware, die es erlaubt, Informationen der 3D-CAD Daten
so aufzubereiten, sodass nachfolgende Prozessketten diese verarbeiten können. CATIA V5 bietet dazu vielfältige
Alternativen zur Programmierung an. Die Möglichkeiten reichen von der frei verfügbaren V5 Automation API ¹ bis
hin zur kostenpflichtigen CAAV5 API. Den Überblick zu gewinnen, die Vor- und Nachteile abzuwägen und dabei
abzuschätzen, für welche konkrete Aufgabe sich welche API am Besten eignet, überfordert vielfach die Anwender.
Dieser Artikel zeigt, basierend auf den Projekterfahrungen der :em AG als V5 Development Service Provider und
CAAV5 Adopter, wie man Transparenz erzielen und Entscheidungskriterien bei der Auswahl definieren kann. Damit
können Kosten und Nutzen einer Anpassungsprogrammierung optimal aufeinander abgestimmt werden.
Überblick
Erfolgreiches Product Lifecycle Management ² (PLM)
beruht auf der Integration von PLM Lösungen in
vorhandene Prozesse und Systeme in Unternehmen,
damit Produktinformationen über den gesamten Produktlebenszyklus effizient verwaltet werden können.
Die Integration bewirkt, dass zwischen unterschiedlichen Anwendungen ausgetauschte Daten seltener
manuell konvertiert werden müssen, wodurch die
Datenverarbeitung an Produktivität, Effizienz und
Zuverlässigkeit gewinnt. Integrationsfähigkeit ist daher die zentrale Anforderung an PLM-Applikationen,
da sie die Grundlage für Interoperabilität zwischen
Systemen und Prozessen darstellt.
Dassault Systèmes (DS) PLM-Lösung für die digitale
Produktdefinition und -simulation ist CATIA V5 ³ . Als
3D-Konstruktionswerkzeug ermöglicht es Anwendern, Produktentwicklungen entsprechend ihren
Branchenspezifischen Anforderungen durchzuführen.
Die Anforderung der Integrationsfähigkeit erfordert
einerseits Offenheit von CATIA V5 für Programmierung und andererseits die Fähigkeit, Bestandteile
wieder zu verwenden, um in unterschiedlichen
Anwendungskontexten gleiches Verhalten oder
Fähigkeiten zu erzielen.
Für die Entwicklung und Erweiterung wurde daher
von DS die Component Application Architecture
V5 (CAAV5) entwickelt. Mithilfe von CAAV5 und der
zugehörigen Rapid Application Development Environment (RADE) können Entwickler Applikationen
konzipieren, modellieren, implementieren, testen
und sowohl Quellcode als auch Konfigurationen
verwalten. CAAV5 unterstützt dazu C++ und JAVA auf
den Betriebssystemen UNIX und Windows. Die CAA
© 2013 :em engineering methods AG
C++ API bietet umfangreiche Funktionen für die Anpassung von CATIA V5 und ENOVIA LCA V5. Die CAA
JAVA-API richtet sich speziell an JAVA-Entwickler,
die sich mit der Anpassung von ENOVIA Portal 3d
befassen und wird daher im Folgenden nicht weiter
betrachtet.
Ergänzend zur CAA C++ und JAVA-API bietet
Dassault Systèmes mit CATScript, CATIA VBScript
und CATIA-VBA die so genannte V5 Automation API
speziell für die Programmierung von Makros an.
V5 Automation API – Programmieren mit
CATScript, CATIA-VBScript & CATIA-VBA
Auf der ersten und vergleichsweise einfachsten Stufe
der Programmierung bietet CATIA V5 im Rahmen
der V5 Automation API die Programmiersprachen
CATScript, CATIA-VBScript und CATIA-VBA an. Die V5
Automation API stellt dem Entwickler eine Objekthierarchie zum Zugriff auf die laufende CATIA V5
Session und deren Modelle zur Verfügung.
Die komplette API wird auf Windows Systemen
zusätzlich über Microsofts (MS) Component Object
Model (COM) Technologie allen COM-fähigen
Programmiersprachen (wie z. B. MS C# und Python)
zugänglich gemacht. Die Erstellung von Scripten
wird im interaktiven CATIA V5 mit einfachen Editoren
unterstützt, im Falle von VBA sogar mit einer kompletten Entwicklungsumgebung, wie sie auch von
MS Office Produkten bekannt ist.
2/8
Know-how für Ihre virtuelle Produktentwicklung.
CATIA V5 Programmierung
Möglichkeiten und Grenzen von CATScript, VBS, VBA & CAA
⁴ Ein Objekt ist ein Behälter, der
Informationen speichert. Diese
CATScript, CATIA-VBScript
CATScript ist die Grundlage zur Programmierung von
Makros. Dassault Systèmes hat dazu eine Untermenge von MS VBScript um Objekte ⁴ und Methoden⁵
erweitert, um die Erzeugung und Manipulation von
Geometrie zu ermöglichen.
Information kann z. B. ein CATPart
aber auch eine
Linie oder Fläche sein.
⁵ Eine Methode ist eine Anweisung, mit der ein Objekt erzeugt,
verändert oder seine Information
ausgelesen werden kann.
⁶ IntelliSense ist eine von MS
entwickelte Technologie, die im
Quelltexteditor Zusatzinforma-
CATScript ist eine Interpretersprache und wird in
der Regel verwendet, um Automatisierungen in
CATIA V5 vorzunehmen. Makros, die in CATScript
geschrieben sind, können unter Windows und unter
UNIX eingesetzt werden. Ergänzend zu CATScript
unterstützt CATIA V5 auch CATIA VBScript. Dabei ist
der Übergang von CATScript zu VBScript fließend,
da VBScript das komplette MS-VBScript umfasst,
d. h. es beinhaltet als Untermenge auch CATScript.
Somit deckt VBScript die gleichen Einsatzgebiete wie
CATScript ab.
tionen anzeigt, wie z. B. die Eigenschaften und Methoden eines
Objektes, dessen Name gerade
geschrieben wurde.
CATIA-VBA
Eine weitere Möglichkeit der Programmierung von
V5-Makros bietet CATIA-Visual-Basic-for-Applications
(CATIA-VBA).
CATIA-VBA ist ebenfalls eine auf „Basic“ basierende
Programmiersprache. Die Verwendung von CATIAVBA bietet sich für die Erstellung komplexerer Applikationen an, die über ein Script-Niveau hinausgehen.
Hervorzuheben ist hier vor allem die Unterstützung der Programmierung durch eine vollwertige
Entwicklungsumgebung. Diese ermöglicht z. B. die
Erstellung und Einbindung von grafischen Benutzeroberflächen in Form von Dialogen.
Die schrittweise Analyse der Anwendung zur Laufzeit
(Debugging) erleichtert die Fehlerfindung bei
komplexeren Programmen erheblich. Des Weiteren
wird eine höhere Produktivität bei der Erstellung des
Codes durch das sog. IntelliSense ⁶ erreicht.
Wie Tabelle 1 zeigt, sind CATScript und VBScript
plattformunabhängig und daher unter Windows und
UNIX lauffähig. Im Gegensatz dazu kann CATIA-VBA
ausschließlich unter Windows eingesetzt werden.
Ein Anwender, der CATScript beherrscht, kann
seine Kenntnisse leicht auf VBScript und CATIA-VBA
ausweiten. Insbesondere sind die Grenzen zwischen
CATScript und VBScript wegen der großen Schnittmenge an Befehlen fließend. VBScript unterstützt nur
zwei einfache, grafische Benutzerdialoge (“InputBox”
und “MessageBox“). Anspruchsvollere Benutzerdialoge sind mit CATIA-VBA möglich, aber lediglich unter
Windows lauffähig.
Typische Einsatzgebiete der V5 Automation API
sind die schnelle, effiziente Erstellung von Makros
zur Automatisierung von Alltagstätigkeiten und die
Entwicklung von Assistenten-Lösungen.
Sprache
Dateiformat
Beschreibung
Anwendungsbereich
CATScript
*.CATScript
Reduziertes VBScript
Interpreter (WIN, UNIX)
Makros (WIN und UNIX),
CATIA KnowledgeWare
CATIA-VBScript
*.catvbs
Vollständiges VBScript
Interpreter (WIN, UNIX)
Makros (WIN und UNIX),
CATIA KnowledgeWare
CATIA-VBA
*.catvba
Visual Basic Application
Compiler (WIN)
Menü-/Dialog-gestützte
Anwendungen (WIN)
Tabelle 1: Vergleich CATScript, CATIA-VBScript
und CATIA-VBA
© 2013 :em engineering methods AG
3/8
Know-how für Ihre virtuelle Produktentwicklung.
CATIA V5 Programmierung
Möglichkeiten und Grenzen von CATScript, VBS, VBA & CAA
Überblick über die V5 Automation API
Vorteile der V5 Automation API:
• Ein Makro-Rekorder zur Aufzeichnung von manuellen Aktionen/Abläufen ist in CATIA V5 integriert.
• In den Grundzügen ist VBScript den Sprachen
Visual
Basic (VB) und VBA ähnlich, so dass mit entsprechenden Vorkenntnissen (z. B. aus der MS Office
Programmierung) ein leichter Einstieg möglich ist.
• Die V5 Automation API verfügt über eine gute
Unterstützung durch die Internet-Community.
Nachteile der V5 Automation API:
• Es ist nur ein Subset der in CAA enthaltenen Funktionsumfänge verfügbar, dadurch sind bestimmte
Funktionalitäten nicht umsetzbar.
• Hochkomplexe Anwendungen sind mit V5 Automation nur schwer realisierbar.
Notwendige Programmierfähigkeiten:
• VB-Programmierer mit V5-Wissen
oder
• CATIA V5 Anwender mit VB-Kenntnissen
Entwicklungskosten:
• Mittel
Benötigte V5 Lizenzen:
• Für die V5 Automation API selbst wird keine
spezielle Lizenz benötigt, da sie im CATIA V5 Kern
integriert ist
• Für die Ausführung der jeweiligen V5 Automation
API Aufrufe werden jedoch die Lizenzen für die interaktiven Produkte benötigt. Um z. B. Automation
API Aufrufe für Part Design zu verwenden, muss
eine Lizenz für CATIA V5 Part Design verfügbar
sein.
Unterschiede zwischen CATScript/VBScript und
CATIA-VBA
• Das Debugging ist nur mit CATIA-VBA möglich.
• Der Funktionsumfang von CATScript/CATVBS ist
gegenüber VBA reduziert.
• Gegenüber Visual Basic (VB) und CATIA-VBA kennt
CATScript/CATVBS keine Typisierung der Daten,
es gibt nur den Datentyp Variant, der in sich alle
anderen Typen speichern kann.
• Bei CATScript/VBScript ist ein Schutz des eigenen
Programm-Codes gegen Einsichtnahme nur in
geringem Maße möglich.
© 2013 :em engineering methods AG
• CATScript/VBScript besitzt nur rudimentäre
Unterstützung für Objektorientierung; der Schwerpunkt liegt hier auf traditioneller, prozeduraler
Programmierung.
CAAV5 – Programmieren mit C++
Auf der zweiten Stufe der Programmierung unterstützt CATIA V5 im Rahmen der CAAV5 API die
Programmiersprache C++.
Die zugehörige RADE stellt dem Softwareentwickler
auf Windows innerhalb der Entwicklungsumgebung
von MS Visual Studio über Add-Ins eine umfangreiche Tool-Sammlung zur zur Verfügung:
• Tools zur Erstellung von CAAV5 Klassen, CATIA V5
Add-Ins, interaktiven Befehlen, Benutzeroberflächen, ...
• Hilfsmittel zum verteilten und parallelen Arbeiten
bei großen Entwicklungsteams.
• Durchführung von Unit-Test.
• Unterstützung statische Code Überprüfungen.
• Zugriff auf die CAAV5 Enzyklopädie.
• Unterstützung von Remote-Kompilierung auf
UNIX.
Die RADE ist dabei für alle DS Produktlinien (CATIA,
ENOVIA und DELMIA) identisch.
Die typischen Einsatzgebiete der CAA C++ API sind:
• Entwicklung von CATIA V5 Add-Ins mit eigenen
Werkzeugleisten, Befehlen und Benutzungsoberflächen.
• Automatische Prüfung von unternehmensspezifischen Regeln und Standards.
• Erweiterung des CATIA V5 Datenmodells um neue
Featuretypen oder neue geometrische Objekte.
• Anreicherung bestehender CATIA V5 Featuretypen
um zusätzliche Daten und Verhaltensweisen.
• Erstellung CAA V5 basierter Applikationen und
Produkte in Form von Workbenches und Workshops.
• Anbindung von externen Anschlusssystemen und
Fremdapplikationen.
• Entwicklung von CATIA V5 Applikationen für den
Batch-Betrieb.
4/8
Know-how für Ihre virtuelle Produktentwicklung.
CATIA V5 Programmierung
Möglichkeiten und Grenzen von CATScript, VBS, VBA & CAA
⁷ CDC: CAA C++ Extended Development Configuration
⁸ CDV: CAA C++ Base Development Configuration
CAA C++ API
Vorteile der CAA C++ API:
• Integration der RADE in MS Visual Studio.
• Es steht eine umfassende Anzahl von APIs zur Verfügung, welche nahezu alle Anwendungsbereiche
von CATIA V5 abdecken.
• CAA C++ hat eine gemeinsame Code-Basis für
WINDOWS und UNIX.
• CAA C++ bietet Performanz und Robustheit.
• Die objektorientierte Architektur von C++ ermöglicht wesentlich komplexere und umfangreichere
Applikationen im Vergleich zur V5 Automation API.
• Die einfache Einbindung von externen C++
Schnittstellen anderer Anbieter sichert eine weitgehende Integrationsfähigkeit.
Nachteile der CAA C++ API:
• Bei Eigenentwicklung sind die Lizenzkosten für
CDV/CDC zu beachten.
• Es wird eine externe Entwicklungsumgebung/
Compiler benötigt (MS Visual Studio).
• Die nahtlose Integration der CAA C++ Applikationen und Add-Ins in existierende CATIA V5
Infrastrukturen erfordert in der Regel einmalig
erhöhte, administrative Aufwände.
Programmierfähigkeiten:
• C++/CAA V5 Entwickler (Spezialist) mit guten
CATIA V5 Kenntnissen
© 2013 :em engineering methods AG
Entwicklungskosten:
• Hoch
V5-Lizenzen:
• CDC ⁷ oder CDV ⁸ zur Erstellung und Kompilierung
von Anwendungen und Add-Ins.
• CATIA V5 Lizenz für den entsprechenden Anwendungsbereich/Workbench.
Entscheidungskriterien V5 Automation vs. CAAV5
Viele Wege führen nach Rom, aber manche sind
besser gangbar als andere!
Mit V5 Automation und CAAV5 bietet Dassault Systèmes eine Vielzahl möglicher APIs, abgestimmt auf
unterschiedliche Zielsetzungen, geeignet für simple
bis hochkomplexe Entwicklungen sowohl für Endanwender als auch für Entwickler. Dabei den Überblick
zu behalten, die Vor- und Nachteile der APIs abzuwägen und abzuschätzen, für welche konkrete Aufgabe
sich nun welche API am Besten eignet, überfordert
vielfach die Anwender.
Die folgenden Kriterien spiegeln die Erfahrungen
der :em AG als V5 Development Service Provider und
CAAV5 Adopter wieder und sollen als Entscheidungshilfen dienen.
5/8
Know-how für Ihre virtuelle Produktentwicklung.
CATIA V5 Programmierung
Möglichkeiten und Grenzen von CATScript, VBS, VBA & CAA
Mit Hilfe der folgenden Checkliste kann der Anwender durch einfaches Ankreuzen festhalten, welche
Betriebssystemplattformen zu unterstützen sind,
welche Anwendungskomplexität zu erwarten ist,
ob eine Benutzerführung oder Benutzeroberfläche
erforderlich ist, welches Budget für die Entwicklung
zur Verfügung steht, welche Anwenderzahl zu erwarten ist und ob bestimmte Sicherheitsanforderungen
eingehalten werden müssen.
Die anschließende Auswertung der Verteilung
der Kreuze auf die jeweiligen Spalten zeigt in der
Regel den Trend zu einer der drei Möglichkeiten
(CATScript/VBScript, CATIA-VBA und CAAV5 C++)
an und gibt gleichzeitig Hinweise auf mögliche
Kompromisse die ggf. in Kauf genommen werden
müssen.
Neben den Kriterien, die die Leistungsfähigkeit
und Einsatzmöglichkeiten der APIs betreffen, spielt
auch das vorhandene Qualifikationsprofil bei den
Anwendern eine entscheidende Rolle. So können
die Entwicklung neuer Datentypen mit Hilfe von so
genannten UDFs sowie die Abbildung von Verhalten mit Hilfe von CATIA V5 KnowledgeWare von
erfahrenen CATIA V5 Experten durchgeführt werden.
Für die Automatisierung manueller Abläufe mit der
CATIA V5 Automation API ist jedoch ein Programmierer mit speziellen VB-Kenntnissen und CATIA V5
Basiskenntnissen notwendig.
Anspruchsvolle Benutzungsoberflächen und komplexes Verhalten machen einen erfahrenen CAAV5
C++ Experten unabdingbar.
CATScript/ VBScript
CATIA-VBA
CAAV% C++
Plattformen
UNIX und Windows
Nur Windows
UNIX und Windows
Anwendungskomplexität
Überschauber
Geringe bis mittlere
Komplexität
Mittlere bis hohe
Komplexität
Benutzerführung
Keine/minimal
Grafische Benutzeroberflächen
Grafische Benutzeroberflächen
Budget
Klein
Mittel
Mittel bis groß
Anwenderzahl
Einzelne Besucher
Einzelne Besucher
Bereichs-/unternehmensweiter Produktvertrieb
Sicherheitsanforderungen
Niedrig
Niedrig bis mittel
Hoch
Tabelle 2 – Checkliste Leistungsfähigkeit und
Einsatzmöglichkeit
© 2013 :em engineering methods AG
6/8
Know-how für Ihre virtuelle Produktentwicklung.
CATIA V5 Programmierung
Möglichkeiten und Grenzen von CATScript, VBS, VBA & CAA
Know-How
Softwareentwicklung
CAAV5
API
CATIA V5
Automation
API
CATIA V5 Experte
Visual
Basic
Objektorientierte
Programmiersprache
(c++, JAVA)
Ausbildung
CATIA V5
Basics
UDF
CATIA V5
Basics
CATIA V5
Basics
CATIA V5
Basics
VB Programmierer
C++/CAA
Experte
CATIA V5
Knowledge
Ware
Know-How
Konstruktion
Bild 1 – Fähigkeiten und Ausbildung
Fazit
Die Vielfalt der Kriterien und Möglichkeiten, nach denen man V5 Automation und CAAV5 bewerten kann
(von der Portabilität bis zur Gratis-Verfügbarkeit),
zeigt, dass es keine eindeutig und allgemein „beste“
API geben kann. D. h. die Entscheidungskriterien
sind in der Regel nicht hinreichend, um der einen
oder der anderen Möglichkeit eindeutig oder gar
generell den Vorzug zu geben. In der Realität sind
immer Kompromisse nötig, deren Gewichtung vom
individuellen Anwendungsfall und den jeweiligen
Rahmenbedingungen abhängt.
Um dem Endanwender nach getroffener Entscheidung qualifizierte CAAV5 Entwicklungsservices zu
garantieren und unabhängigen Softwareanbietern
die Möglichkeiten der CAA V5-Plattform für die
Entwicklung und den Vertrieb von Anwendungen zu
bieten, hat DS das V5 Development Service Provider
© 2013 :em engineering methods AG
Programm sowie das CAAV5 Adopter Programm
geschaffen.
:em AG – V5 Development Service Provider &
CAAV5 Adopter
Das V5 Development Service Provider Programm
ist ein Netzwerk von Unternehmen, die über die
nötigen Kompetenzen und Kenntnisse verfügen, um
kundenspezifische Applikationen auf der Basis von
CAA V5 zu entwickeln. Ziel ist die Lösung spezifischer
Anforderungen von DS-Kunden hinsichtlich CAA V5basierter Services, darunter:
• Kundenspezifische Anwendungsentwicklung
• Individuelle Auslegung von Anwendungen auf
V5-Basis
• Integration der V5 PLM-Lösungen von DS mit
Drittlösungen
7/8
Know-how für Ihre virtuelle Produktentwicklung.
CATIA V5 Programmierung
Möglichkeiten und Grenzen von CATScript, VBS, VBA & CAA
Als V5 Development Service Provider ist die
:em AG als Anbieter in der Lage, dem Endanwender
Services zur Verfügung zu stellen, die die CAA V5Plattform unterstützen und die beim Kunden auch
ohne eigene CAAV5-Umgebung zum Einsatz kommen können. Die :em AG bietet als V5-Entwicklungspartner Entwicklungsfähigkeiten und Know-how für
die PLM-Lösungen von DS und trägt zur Bereitstellung von Lösungen bei, die die Anforderungen in der
Fertigungsindustrie erfüllen.
Um darüber hinaus möglichst umfassend Geschäftsprozesse zu unterstützen, hat Dassault Systems zusätzlich das CAAV5 Adopter Programm für mehrwertbasierte Software-Entwicklungspartner ins Leben
gerufen, die mit ihren eigenen CAAV5-Produkten die
Lösungen von DS ergänzen und somit den Einsatz
der V5-Plattform optimieren und Innovationen
fördern.
So integriert z. B. die :em AG als CAAV5 Adopter die
eigene :TBeditor Lösung in das CAD-Standardprodukt CATIA V5 und bietet so den Konstrukteuren eine
Applikation für das effiziente Erstellen und Editieren
von Zeichnungsköpfen an.
Herausgeber:
Warenzeichen:
:em engineering methods AG
Alle im Newsletter genannten Produkte, Namen oder Firmen-
Rheinstraße 97
namen sind Warenzeichen bzw. eingetragene Warenzeichen
64295 Darmstadt
der jeweiligen Eigentümer/ Hersteller. Aus dem Fehlen
Telefon +49 (0) 6151 . 95 0 54 20
der Markierung kann nicht geschlossen werden, dass eine
Telefax +49 (0) 6151 . 950 54 21
Bezeichnung ein freier Warenname ist.
Erik Claassen, Stephan Kümpel
mail: [email protected]
www.em.ag
Rechtliche Hinweise:
Die :em engineering methods AG übernimmt keinerlei
Sitz und Registergericht
Gewähr für die Aktualität, Korrektheit, Vollständigkeit oder
Darmstadt, HRB 8644
Qualität der bereitgestellten Informationen. Der Newsletter
USt.-IdNr: DE 224250979
und alle in ihm enthaltenen Beiträge sind urheberrechtlich
StNr: 07 232 14948
geschützt. Eine auszugsweise Verwendung durch Entnahme
von Informationen aus dem Whitepaper ist untersagt. Der
Vorsitzender des Aufsichtsrates:
Whitepaper darf weiteren Interessenten zur Verfügung
Benno Rösch, Betriebswirt (VWA)
gestellt werden.
Vorstand:
Dr. Erik Claassen
Urheber- und Verlagsrecht: Das Whitepaper und alle in ihm
Christian Donges
veröffentlichten Beiträge und Abbildungen sind urherber-
Dr. Sven Kleiner
rechtlich geschützt. Nachdrucke, Vervielfältigungen, Überset-
Dr. Marcus Krastel (Vors.)
zungen, Mikroverfilmungen, Kopien, sowie Speicherung und
Verarbeitung in elektronischen Systemen, auch auszugs-
Redaktion:
weise, bedürfen der ausdrücklichen schriftlichen Genehmi-
Dr. Marcus Krastel
gung der :em engineering methods AG. Erfüllungsort und
Gerichtsstand ist Darmstadt.
Gestaltung/Layout/Grafik:
Eva Anhäuser
© 2013 :em engineering methods AG
Weitere Whitepaper finden Sie zum Download unter
www.em.ag
8/8