Mustafa Görmezer

  • Schrift vergrößern
  • Standard-Schriftgröße
  • Schriftgröße verkleinern
Home Product Lifecycle Management CAD CATIA V6 automatisieren mit Python unter Windows

CATIA V6 automatisieren mit Python unter Windows

E-Mail Drucken PDF

CATIA V6 im Blue Layer
CATIA V6 im Blue Layer
Das neue CAD- und PLM-System CATIA V6 von Dassault Systemes kann mit Python unter Windows genauso einfach automatisiert werden, wie das gerade in Ablösung befindliche CATIA V5. Da das neue System aber nicht mehr auf das Dateisystem des Benutzers zurückgreift, sondern mit einer Datenbank gegen einen PLM-Server arbeitet, muss man hierbei den Zugriff auf die CAD-Daten natürlich komplett anders gestalten. Dieser Artikel zeigt, wie man automatisiert CAD-Daten identifiziert und diese für einen Vergleich in die Turntable View des Silver Layer lädt.

COM-Anwendungen lassen sich mit Python z.B. mit comtypes oder mit dem Pywin32 Modul, welches in der ActivePython Distribution enthalten ist automatisieren. Meine Beispiele hier verwenden Pywin32.

Wenn Sie die folgenden Beispiele laufen lassen, sorgen Sie bitte dafür, dass CATIA V6 bereits gestartet ist und eine PLM-Verbindung existiert.

Das erste Beispiel gibt einfach die Namen (PLMExternalID) der selektierten CAD-Daten aus einer Trefferliste (im Silver Layer) in die Konsole aus:

import win32com.client

catiaObj=win32com.client.GetActiveObject('CATIA.Application')
for i in range(catiaObj.ActiveEditor.Selection.Count):
    print 'Selected Item %s: %s'%(i, catiaObj.ActiveEditor.Selection.Item(i + 1).Value.Name)

Das nächste Beispiel setzt eine Recherche mit der Zeichenfolge "Weld0815*" an die VPM-Datenank ab und lädt alle gefundenen Daten in die Turntable View im Silver Layer. Dies ist hilfreich, wenn man eben schnell eine bestimmte Menge an CAD-Daten miteinander vergleichen möchte:

import win32com.client

# Search for every Product with name Weld0815*
catiaObj=win32com.client.GetActiveObject('CATIA.Application')
oSearchService = catiaObj.GetSessionService("PLMSearch")
oPLMSearches = oSearchService.Searches
oPLMSearch = oPLMSearches.Add()
oPLMSearch.Type = "PLMProductDS"
oPLMSearch.AddAttributeCriteria("PLM_ExternalID",  "Weld0815*")
oPLMSearch.search()

# Iterate over all found objects and put them into the turntable view
o3DShapeAsPLMEntities = oPLMSearch.EditedContent
print 'Found %s entries.'%o3DShapeAsPLMEntities.Count
for foundobj in o3DShapeAsPLMEntities:
    print 'Putting %s onto the table'%foundobj.Name
    oSelection = catiaObj.ActiveEditor.Selection
    oSelection.Add(foundobj)
    catiaObj.StartCommand("Turntable")
Zuletzt aktualisiert am Samstag, 09. März 2013  

Schnipsel

Metadaten und URLs extrahieren mit PDFx

PDFx ermöglicht es, Metadaten und URLs aus PDF-Dokumenten zu extrahieren. Es ist ein Python-Programm für die Kommandozeile und kann auch als Python-Modul aus anderen Anwendungen heraus verwendet werden. Das Programm wurde unter der Apache Lizenz veröffentlicht.

 
Excel-Dateien lesen mit Python

Microsoft Excel Dateien lassen sich mit der Python Bibliothek XLRD Plattformunabhängig lesen und schreiben. Dieser Artikel von Mike Driscoll zeigt ein BEispiel, wie man es ohne Office-Installation macht.

Anzeigen

 

Statistik

Seitenaufrufe : 7830283

Wer ist online

Wir haben 97 Gäste online