Anwendungserweiterungen für Siemens NX mit der NXOpen-Schnittstelle

Anwendungserweiterungen für Siemens NX mit der NXOpen-Schnittstelle

Siemens NX -kleine Helfer, große Wirkung-

Die Nutzung bestehender Standardsysteme im Unternehmen erzeugt, neben den unbestrittenen Vorzügen des Einsatzes weitverbreiteter Software, eine Limitierung der eigenen Prozesse auf durch die Software zur Verfügung gestellte Möglichkeiten. Dies gilt nicht nur für Office-Anwendungen, Browser oder ERP-Systeme, sondern erstreckt sich selbstverständlich auch in den Bereich der CAx- und PLM-Software.

Die genannten Einschränkungen können hier einen unerwünschten Mehraufwand, zum Beispiel durch viele Clicks und lange Wege, verursachen oder gewünschte Vorgänge schlicht verhindern. 

Die bedeutenden Hersteller weit verbreiteter Anwendungen sind sich dieses Umstandes durchaus bewusst und bieten daher häufig Programmierschnittstellen zur Erweiterung an.

In den Bereichen Entwurf, Konstruktion und Manufacturing setzen viele Unternehmen auf leistungsstarke CAx-Systeme für Ihre individuellen Prozesse. Führende Systeme wie CATIA V5, SolidEdge oder Inventor bieten Schnittstellen zur Erweiterung des Funktionsumfanges an. Eine solche wird auch für die CAx-Anwendung Siemens NX angeboten und umfangreich genutzt.  

Die sogenannte NXOpen-Schnittstelle bietet die Möglichkeit, eigene Anwendungserweiterungen für NX in verschiedenen Programmiersprachen anzufertigen und zu verwenden.

Die Grundlage der Schnittstelle bildet eine objektorientierte Klassenstruktur, die dem Anwender alle benötigten Klassen und Strukturen mit ihren Funktionen zur Verfügung stellt. Diese Klassenstruktur ist in den Programmiersprachen C/C++, Java und als Wrapper aus der C/C++ Struktur auch für die .Net- Sprachen C# und VB.net verfügbar. SWMS nutzt die modernen Sprachvarianten C# und VB.net zur Erweiterung von Siemens NX.

Singletons als Einstieg und formale Konventionen

Der einfachste Einstieg in die NXOpen-Programmierung kann über das Aufzeichnen und Auswerten von Journalen erfolgen. Diese können in der gewünschten Sprache im entsprechenden Menü aufgezeichnet werden und dienen anschließend als Vorlage für die eigene Entwicklung.


NXOpen Singletons

Abbildung 1: NXOpen Singletons


Journale folgen dabei - genau wie es eigene Anwendungen tun sollten - einem festgelegten Schema. Dieses gibt zum Beispiel die wichtigen Funktionsnamen vor, die anschließend von NX als Einsprünge in eine eigene Anwendung genutzt werden. Bestes Beispiel hierfür ist die Funktion Main, welche in den meisten Fällen den Haupteinsprung bildet. In dieser Funktion werden in aufgezeichneten Journalen in der Regel die ersten Anknüpfungspunkte zur laufenden NX-Sitzung gesetzt. Die wichtigste Verbindung stellt die Session - also die aktuelle Sitzung - dar. Die Zuweisung erfolgt hier mittels eines relativ selten genutzten Singletons, hier „GetSession“. Ausgehend von diesem Session-Objekt können alle Datentypen, der innerhalb der Sitzung geladenen Teile etc., verwendet werden. Durch die Singleton-Implementierung steht es dem Entwickler frei, diesen Aufruf mehrfach in der Anwendung zu nutzen, es wird immer dasselbe Objekt zurückgegeben.

Grenzen der Objektorientierung bei aufgezeichneten Journalen

Aufgezeichnete Journale sind ein wichtiger Ausgangspunkt für die eigene Entwicklung. Sie dienen dazu, einen Einblick in die Vorgänge innerhalb von Siemens NX zu erhalten und die passende Verwendung, der zur Verfügung stehenden Objekte und Funktionen, zu erfassen. Dieses wertvolle Werkzeug hat jedoch auch seine Grenzen. Diese bestehen insbesondere im Bereich der Benutzerinteraktion. Wird eine Funktion aufgezeichnet, bei der der Benutzer eine manuelle Eingabe - in unserem Beispiel die Kantenlänge eines Quaders - vornehmen muss, so wird dies im aufgezeichneten Code nur intransparent erfasst. Im gezeigten Beispiel sieht man im Falle der Kantenlängen die Angabe der eingegebenen Zahlenwerte („100“), ohne dessen Herkunft zu kennen. Solche und ähnliche Fälle stellen naturgemäß eine kleine Herausforderung auf dem Weg von dem aufgezeichneten Journal zur eigenen Anwendung dar. Clever, durch eigene Eingabemöglichkeiten substituiert, kann jedoch aus einem derartigen Journal heraus schnell weiterentwickelt werden.


NXOpen Journal

Abbildung 2: NXOpen Journal


Auch die Ausgabe einfacher Informationen, wie z.B. die Anzahl von Bauteilen in der Baugruppe, Artikellisten, Gewichte, Maße und viele andere, ist ein beliebter und weit verbreiteter Anwendungsfall. Der Import und Export von Geometrien und Metadaten spielt ebenfalls eine wichtige Rolle in der Entwicklung von NXOpen-Erweiterungen.

Viele dieser Möglichkeiten sind sogar ohne eine kostspielige Zusatzlizenz automatisierbar. 

Durch die Verwendung von Journalen verliert man zwar etwas Komfort in der Entwicklung, spart jedoch eben auch Lizenzkosten gegenüber voll ausgebildeten Anwendungen, die mit einer speziellen Lizenz signiert werden müssen.

Ausgehend von Basisbeispielen, wie dem oben gezeigten, ist es möglich, beliebig komplexe Anwendungen zu entwickeln und im Alltag des product-designs einzusetzen. Dies beinhaltet die Möglichkeit zur Nutzung von individuell gestalteten Benutzeroberflächen unter Zuhilfenahme der gängigen Frameworks (Forms, WPF etc.) oder auch der Zusammenstellung einer NX-eigenen Oberfläche aus vorgefertigten Bausteinen im sogenannten Blockstyler, einer Zusatzanwendung in Siemens NX.


Beispieloberfläche mit Blockstyler

Abbildung 3: Magic NX Wizzard


Chancen der Entwicklung mit NXOpen

Die Schnittstelle NXOpen zwischen der CAx-Plattform NX und einer selbst erstellten Anwendung, bietet vielfältige Möglichkeiten zur Automatisierung des Gesamtsystems. Dies eröffnet Chancen zur Vereinfachung der eigenen Arbeit. Ein typisches Beispiel ist hier, häufig vorgenommene Anwendungsfälle, wie z.B. den Export in ein Austauschformat, so zu automatisieren, dass anstelle vieler Klicks im entsprechenden NX-Wizzard der Export mit den gewünschten Einstellungen auf einen Klick erfolgt.

Fazit

Auch wenn viele es zunächst nicht glauben: Solche kleinen Hilfen sparen viel Zeit und schonen die Nerven des Anwenders. 

Sie bilden überdies einen guten Einstieg in eine individuell angepasste Umgebung. Konstruktionsassistenten, intelligente Bauteilanpassungen, sowie spezifische Prüfungen sind weitere Möglichkeiten, das System effizienter zu nutzen und zeitraubende Routinearbeiten zu reduzieren. Den Einstig zu finden, fällt manchem zunächst schwer, ist jedoch einmal ein gutes Grundgerüst entstanden, fällt die Fortsetzung der Arbeit zunehmend leichter. Einfach umzusetzende kleine Helferlein überzeugen zudem auch manchen Vorgesetzten, Zeiten und Kapazitäten für entsprechende Tätigkeiten bereitzustellen.

Noch keine Kommentare vorhanden.

Was denkst du?

Kostenfreies Beratungsgespräch

Wir möchten Ihnen gerne weiterhelfen. Fordern Sie dazu mit unserem Formular einen kostenlosen Beratungstermin an. Im kurzen Kennenlerngespräch sammeln wir gemeinsam Ideen, wie individuelle Software Sie weiterbringen kann.

Beliebte Beiträge

Oldenburg

+49 (0) 441 960 21 0
SWMS Systemtechnik Ingenieurgesellschaft mbH
Donnerschweer Straße 4a
26123 Oldenburg

 

+49 (0) 441 559 795 25
SWMS Consulting GmbH
Donnerschweer Straße 4a
26123 Oldenburg

Bremen

+49 (0) 421 960 12 30
SWMS Technologies GmbH
World Trade Center
Hermann-Köhl Str. 7
28199 Bremen
Copyright © 1996 SWMS Systemtechnik Ingenieurgesellschaft mbH.