Mustafa Görmezer

  • Schrift vergrößern
  • Standard-Schriftgröße
  • Schriftgröße verkleinern
Home Product Lifecycle Management CAD CATIA V5 and DMU Navigator Automation with Python (english)

CATIA V5 and DMU Navigator Automation with Python (english)

E-Mail Drucken PDF

If you want to automate CATIA V5 or DMU Navigator with Python you need Pywin32 and Python for Windows or Activestates ActivePython for Windows. Python is free software and you can develop professional applications with all advantages of Python for CATIA V5 or DMU Navigator.

For developing a small application which interacts to CATIA V5 you only have to download your prefered Python Distribution for Windows and can start developing applications for CATIA V5 or DMU Navigator (this should be running when testing the application).

Automating CATIA V5:

If you have done above you can start with this source code:

import win32com.client
app = win32com.client.Dispatch('catia.application')
doc = app.ActiveDocument
for part in doc.Product.Products:
    print part.Name

This small example prints out the part names of a loaded CATProduct and their CATParts.

Here is the same example when you prefer comtypes instead of Pywin32:

import comtypes.client
doc = app.ActiveDocument
for part in doc.Product.Products:
    print part.Name


Automating DMU Navigator:

If you want to automate DMU Navigator, you can do this:

# Following doesn`t work with CATIA V5 R16 SP5 and later
catia_app = win32com.client.Dispatch("DMU.Application")

Important notes:

If you want to use early binding for the CATIA V5 object libraries you can use the Makepy utility from Pythonwin. After that every object and its methods will be usable from the pulldown menu while typing and you can have a performance advantage. You should use makepy for every object library which you want to use e.g. "ProductStructure Object Library" for working with CATProducts). But not for the "CATIA V5 Interfaces Objekt Library"!

If you do that every application which uses early binding for the "CATIA V5 Interfaces Objekt Library" will not work ! A workaround is not to use makepy for the "CATIA V5 Interfaces Objekt Library" or use explicit late binding "(import win32com.client.dynamic as the first line).

For starting developing applications with Python for CATIA V5 you should use the manual V5Automation.chm which you can find in the bin-directory of CATIA V5. You will see that you can develop Python applications in the same way like VB with the builtin VB editor.

If you have problems to access the COM Interface from CATIA V5 (eg. no object libraries from CATIA V5 in makepy) please check whether CATIA V5 was registrated as a COM server. If not you can do that with cnext.exe /regserver in the CATIA V5 bin-directory. Then everything should work well...

More on Microsofts Component Object Model (COM) and Python

More information for developing with Python for COM applications with Pywin32 you can find in this excellent book. A whole example Chapter about COM Programming with Python/Pywin32 can be found at O`Reilly.

Zuletzt aktualisiert am Mittwoch, 06. März 2013  


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.




Seitenaufrufe : 7830283

Wer ist online

Wir haben 129 Gäste online