Seite 1 von 1

Maß aus CATIA auslesen

Verfasst: Freitag 31. Juli 2015, 08:54
von Podensa
Hallo zusammen,

ich möchte aus einer Zeichnung in CATIA V5 ein Maß auslesen. Prinzipiell weiß ich schon wie es funktioniert, habe auch die Befehle aus der V5Automation, allerdings scheitert es am letzten Schritt.

Code: Alles auswählen

from math import *
import sys
from win32com.client import Dispatch
from TableReader import *
import win32com.client.dynamic

def CheckAndSetDocument():
    global myDrawingDocument
    myDocumentType=str(ReturnTypeOfDocument(CATIA.ActiveDocument))
    if myDocumentType != "CATDrawing":
        print "Please open a CATDrawing and run the program again."
        sys.exit()
    myDrawingDocument=CATIA.ActiveDocument
def ReturnTypeOfDocument(CatiaDocument):
    myNameOfDocument=str(CatiaDocument.Name)
    myArrayOfDocumentName=myNameOfDocument.split(".")
    myTypeOfDocument=myArrayOfDocumentName[-1]
    return myTypeOfDocument

CATIA = Dispatch('CATIA.Application')
CATIA.Visible=True

CheckAndSetDocument()
myDimension=myDrawingDocument.Sheets.Item(1).Views.Item(3).Dimensions.Item(1)
Value=myDimension.GetValue.Value #Hier tritt der Fehler auf
print Value
Dies ist die Fehlermeldung:
Traceback (most recent call last):
File "D:/Dokumente/Studium/Master/000_Thesis/ToleranceCheckerPython/KleinesProgramm.py", line 25, in <module>
Value=myDimension.GetValue.Value
AttributeError: 'function' object has no attribute 'Value'

Meine Theorie ist, dass Python die "GetValue"-Funktion von "Dispatch" aufruft und nicht die von CATIA. Kann das sein? Kann ich diese Methode irgendwie vom Import ausschließen?
Oder habt ihr eine andere Idee woran das liegen kann?

Re: Maß aus CATIA auslesen

Verfasst: Freitag 31. Juli 2015, 08:59
von BlackJack
@Podensa: Die Fehlermeldung sagt die *Funktion* `myDimension.GetValue` hat kein Attribut `Value`. Vielleicht möchtest Du die Funktion *aufrufen* und dann vom Ergebnis des Aufrufs das `Value`-Attribut nehmen‽

Re: Maß aus CATIA auslesen

Verfasst: Freitag 31. Juli 2015, 09:00
von jerch
Wie Du selber schreibst und auch die Fehlermeldung andeutet, ist `GetValue` eine Funktion, ergo musst Du sie auch so behandeln und aufrufen.

Code: Alles auswählen

myDimension.GetValue()

Re: Maß aus CATIA auslesen

Verfasst: Freitag 31. Juli 2015, 19:41
von Podensa
Das wars :)
DANKE!!!! Zwei Tage dran gesessen und dann warens nur Klammern... :oops: