Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Paramter in Konstruktionstabelle exportieren

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:  Paramter in Konstruktionstabelle exportieren (2264 mal gelesen)
Rubio18
Mitglied
Ingenieur


Sehen Sie sich das Profil von Rubio18 an!   Senden Sie eine Private Message an Rubio18  Schreiben Sie einen Gästebucheintrag für Rubio18

Beiträge: 19
Registriert: 10.10.2013

Catia V5 R19SP09
Excel 2010

erstellt am: 16. Okt. 2013 11:45    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Liebe CAD-Gemeinde,

ich mal wieder ein Problem, dass mein bisheriges Wissen übersteigt.
Und zwar geht es um den Export von Parameter in eine Konstruktionstabelle. Hatte gedacht und auch im Buch von Herrn Ziethen gelesen, dass ich Parameter mit dem Befehl „AddAssociation“ verknüpfen kann. Aber irgendwie funktioniert dies nicht bei mir.
Wäre Super wenn mir jemand helfen könnte.

Hier mein Code:
Private Sub DesignTable()

'Aktueller Pfad des Parts ermitteln------------------------------------------------------------------------
Dim strPfad As String
strPfad = CATIA.ActiveDocument.Path

' Excel Tabelle erstellen---------------------------------------------------------------
    Dim oExcel As Object
    Dim wkbMappe As Workbook
        Set oExcel = CreateObject("Excel.Application")
    Set wkbMappe = Workbooks.Add
         
' -----Name der Excel_Tabelle----------------------------------------------------------------
        Dim Eingabe As String
        Eingabe = "DesignTable_PDC_Halterung_1"
        Eingabe = InputBox("Geben Sie den Namen der Konstruktionstabelle an.", "Eingabe DesignTable")           
    wkbMappe.SaveAs strPfad & "\" & Eingabe & ".xlsx"
    MsgBox wkbMappe.Name & " " & wkbMappe.FullName
        oExcel.WindowState = xlMaximized
    Excel.Application.Visible = True
   
' In Excel schreiben---------------------------------------------------------------
Set newwb = Excel.Workbooks
Set curwb = Excel.Workbooks.Item(1)
Set sheet1 = curwb.Sheets.Item(1)
sheet1.Cells(1, 1).Activate
ActiveCell.Value = "Laenge (mm)"
ActiveCell.Font.Bold = True

' Konstruktionstabelle zuweisen----------------------------------------------------
' ----Parameter erzeuen------------------------

        Dim Params As Parameters
        Set Params = CATIA.ActiveDocument.Part.Parameters

        Dim Laenge As Dimension
        Set Laenge = Params.CreateDimension("Laenge", "Length", 0)

    Dim Rels As Relations
    Set Rels = CATIA.ActiveDocument.Part.Relations

    Dim KTable As DesignTable
    Dim KName As String
    Dim Beschr As String
    Dim Neu_strPfad As String
    KName = Eingabe & ".xlsx"
    Beschr = "Tabelle zum verändern des PDC-Halters"
    Neu_strPfad = strPfad & "\" & Eingabe & ".xlsx"

Set KTab = Rels.CreateHorizontalDesignTable(KName, Beschr, False, Neu_strPfad)

' Parameter verknuepfen---------------------------------------------------------------

KTab.AddAssociation Laenge, „Laenge“
KTab.Configuraition = 1

End Sub


Mir wird immer der Fehler "Run-Time error '13': Type missmatch" bei "KTab.AddAssociation Laenge, „Laenge“" angezeigt.

Bin für jeglichen Typ dankbar.

Beste Grüße
Ruben

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

bgrittmann
Moderator
Konstrukteur


Sehen Sie sich das Profil von bgrittmann an!   Senden Sie eine Private Message an bgrittmann  Schreiben Sie einen Gästebucheintrag für bgrittmann

Beiträge: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 16. Okt. 2013 12:22    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Rubio18 10 Unities + Antwort hilfreich

Servus
Bitte Systeminfo ausfüllen.
Versuch es mal mit:
Code:
KTab.AddAssociation Laenge, "Laenge"

Gruß
Bernd

------------------
Warum einfach, wenn es auch kompliziert geht.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Rubio18
Mitglied
Ingenieur


Sehen Sie sich das Profil von Rubio18 an!   Senden Sie eine Private Message an Rubio18  Schreiben Sie einen Gästebucheintrag für Rubio18

Beiträge: 19
Registriert: 10.10.2013

Catia V5 R19SP09
Excel 2010

erstellt am: 16. Okt. 2013 12:59    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hi Bernd,

ich arbeite mit Catia V5 R19SP09 und Excel2010.
Leider hat dein Tipp nicht funktioniert.
Grüße
Ruben

------------------
CATIA V5 R19SP09

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

bgrittmann
Moderator
Konstrukteur


Sehen Sie sich das Profil von bgrittmann an!   Senden Sie eine Private Message an bgrittmann  Schreiben Sie einen Gästebucheintrag für bgrittmann

Beiträge: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 16. Okt. 2013 13:16    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Rubio18 10 Unities + Antwort hilfreich

Servus
Probiere mal die Variable Länge als Parameter du deklarieren. (ggf können nur bestimmte Typen übergeben werden).
Stimmt der Name der Spalte? Schon einfach Hochkomma bei Sting 'Laege' probiert?

Gruß
Bernd

------------------
Warum einfach, wenn es auch kompliziert geht.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Rubio18
Mitglied
Ingenieur


Sehen Sie sich das Profil von Rubio18 an!   Senden Sie eine Private Message an Rubio18  Schreiben Sie einen Gästebucheintrag für Rubio18

Beiträge: 19
Registriert: 10.10.2013

Catia V5 R19SP09
Excel 2010

erstellt am: 16. Okt. 2013 13:30    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Nope, leider nicht.
Kann die Laenge deklarieren wie ich will.
Wenn ich ein Hochkomma setzt, zeigt er mir einen syntax-fehler an.

------------------
CATIA V5 R19SP09

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

imation1999
Mitglied
dipl.-ing. Maschinenbau


Sehen Sie sich das Profil von imation1999 an!   Senden Sie eine Private Message an imation1999  Schreiben Sie einen Gästebucheintrag für imation1999

Beiträge: 276
Registriert: 02.08.2011

Dell Precision T3500
Intel® Xeon® Quad Core
NVIDIA Quadro® 5000
Win7 x64 Ultimate
CATIA V5 R20 SP2

erstellt am: 16. Okt. 2013 13:31    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Rubio18 10 Unities + Antwort hilfreich

Hallo,

während

KTab.AddAssociation Laenge, "Laenge"

darf nicht deine Excel Tabelle auf sein.
Das heißt, du mußt erst zumachen

Code:
oExcel.Quit
Set oExcel = Nothing

dann

Code:
KTab.AddAssociation Laenge, "Laenge"


[Diese Nachricht wurde von imation1999 am 16. Okt. 2013 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Rubio18
Mitglied
Ingenieur


Sehen Sie sich das Profil von Rubio18 an!   Senden Sie eine Private Message an Rubio18  Schreiben Sie einen Gästebucheintrag für Rubio18

Beiträge: 19
Registriert: 10.10.2013

Catia V5 R19SP09
Excel 2010

erstellt am: 16. Okt. 2013 13:49    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Leider wieder nicht. Immer noch das selbe Problem.   

------------------
CATIA V5 R19SP09

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Rubio18
Mitglied
Ingenieur


Sehen Sie sich das Profil von Rubio18 an!   Senden Sie eine Private Message an Rubio18  Schreiben Sie einen Gästebucheintrag für Rubio18

Beiträge: 19
Registriert: 10.10.2013

Catia V5 R19SP09
Excel 2010

erstellt am: 16. Okt. 2013 13:54    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Bekomm jetzt allerdings einen anderen Fehler angezeigt.

    Run-time error'-2147467259(80004005)':
    The method AdsAssociation failed

Was bedeutet dies nun?

------------------
CATIA V5 R19SP09

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

imation1999
Mitglied
dipl.-ing. Maschinenbau


Sehen Sie sich das Profil von imation1999 an!   Senden Sie eine Private Message an imation1999  Schreiben Sie einen Gästebucheintrag für imation1999

Beiträge: 276
Registriert: 02.08.2011

Dell Precision T3500
Intel® Xeon® Quad Core
NVIDIA Quadro® 5000
Win7 x64 Ultimate
CATIA V5 R20 SP2

erstellt am: 16. Okt. 2013 14:38    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Rubio18 10 Unities + Antwort hilfreich

Hallo,

also bei mir funktioniert es wunderbar:

Code:

Sub CATMain()

'Aktueller Pfad des Parts ermitteln------------------------------------------------------------------------
Dim strPfad As String
strPfad = CATIA.ActiveDocument.Path

' Excel Tabelle erstellen---------------------------------------------------------------
    Dim oExcel As Object
    Dim wkbMappe As Workbook
        Set oExcel = CreateObject("Excel.Application")
    Set wkbMappe = Workbooks.Add
         
' -----Name der Excel_Tabelle----------------------------------------------------------------
        Dim Eingabe As String
        Eingabe = "DesignTable_PDC_Halterung_1"
        Eingabe = InputBox("Geben Sie den Namen der Konstruktionstabelle an.", "Eingabe DesignTable")

        oExcel.WindowState = xlMaximized
    Excel.Application.Visible = True
   
' In Excel schreiben---------------------------------------------------------------
Set newwb = Excel.Workbooks
Set curwb = Excel.Workbooks.Item(1)
Set sheet1 = curwb.Sheets.Item(1)
sheet1.Cells(1, 1).Activate
ActiveCell.Value = "Laenge (mm)"
ActiveCell.Font.Bold = True

wkbMappe.SaveAs strPfad & "\" & Eingabe & ".xlsx"
    MsgBox wkbMappe.Name & " " & wkbMappe.FullName

wkbMappe.Close
Set wkbMappe = Nothing

oExcel.Quit
Set oExcel = Nothing

' Konstruktionstabelle zuweisen----------------------------------------------------
' ----Parameter erzeuen------------------------

        Dim Params As Parameters
        Set Params = CATIA.ActiveDocument.Part.Parameters

        Dim Laenge As Dimension
        Set Laenge = Params.CreateDimension("Laenge", "Length", 0)

    Dim Rels As Relations
    Set Rels = CATIA.ActiveDocument.Part.Relations

    Dim KTable As DesignTable
    Dim KName As String
    Dim Beschr As String
    Dim Neu_strPfad As String
    KName = Eingabe & ".xlsx"
    Beschr = "Tabelle zum verändern des PDC-Halters"
    Neu_strPfad = strPfad & "\" & Eingabe & ".xlsx"

Set KTab = Rels.CreateDesignTable(KName, Beschr, False, Neu_strPfad)

' Parameter verknuepfen---------------------------------------------------------------

KTab.AddAssociation Laenge, "Laenge"
KTab.AddNewRow
KTab.Configuration = 1

End Sub


Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

moppesle
Ehrenmitglied V.I.P. h.c.
Konstrukteur


Sehen Sie sich das Profil von moppesle an!   Senden Sie eine Private Message an moppesle  Schreiben Sie einen Gästebucheintrag für moppesle

Beiträge: 3418
Registriert: 28.05.2009

CATIA V5 R19 SP9
WIN 7 64bit

erstellt am: 16. Okt. 2013 14:45    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Rubio18 10 Unities + Antwort hilfreich

Hallo zusammen,

ist nur ne Idee.

Liegt es vielleicht an den Defaults in den Optionen ob die Excel ins Part gespeichert wird oder nicht?

------------------
Gruß Uwe

Auch Catia ist nur ein Mensch!    

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Rubio18
Mitglied
Ingenieur


Sehen Sie sich das Profil von Rubio18 an!   Senden Sie eine Private Message an Rubio18  Schreiben Sie einen Gästebucheintrag für Rubio18

Beiträge: 19
Registriert: 10.10.2013

Catia V5 R19SP09
Excel 2010

erstellt am: 16. Okt. 2013 15:13    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Super! Vielen Dank. Hatte vergessen die Arbeitsmappe zu schließen.

In meinem Part habe ich auch schon Parameter definiert bzw. über ein anderes Makro eingefügt. Gibt es die Möglichkeit diese, bereits im Part vorhandenen Parameter, an die Konstruktionstabelle zu übergeben?

Wenn du bzw. ihr mir dabei noch helfen könntet, dann wärt ihr die BESTEN.

------------------
CATIA V5 R19SP09

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Rubio18
Mitglied
Ingenieur


Sehen Sie sich das Profil von Rubio18 an!   Senden Sie eine Private Message an Rubio18  Schreiben Sie einen Gästebucheintrag für Rubio18

Beiträge: 19
Registriert: 10.10.2013

Catia V5 R19SP09
Excel 2010

erstellt am: 16. Okt. 2013 15:26    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Ich mein, den Parameter muss ich nicht mehr erzeugen.
Hab es schon so probiert:

Private Sub DesignTable()

'Aktueller Pfad des Parts------------------------------------------------------------------------

Dim strPfad As String
strPfad = CATIA.ActiveDocument.Path

' Excel Tabelle erstellen---------------------------------------------------------------

    Dim oExcel As Object
    Dim wkbMappe As Workbook
   
    Set oExcel = CreateObject("Excel.Application")
    Set wkbMappe = Workbooks.Add
   
     
' -----Name der Excel_Tabelle----------------------------------------------------------------

        Dim Eingabe As String
        Eingabe = "DesignTable_PDC_Halterung_1"
        Eingabe = InputBox("Geben Sie den Namen der Konstruktionstabelle an.", "Eingabe DesignTable")
       
        oExcel.WindowState = xlMaximized
        Excel.Application.Visible = True
   
'--------------- In Excel schreiben---------------------------------------------------------------
                Set newwb = Excel.Workbooks
                Set curwb = Excel.Workbooks.Item(1)
                Set sheet1 = curwb.Sheets.Item(1)
                sheet1.Cells(1, 1).Activate
                ActiveCell.Value = "Laenge (mm)"
                ActiveCell.Font.Bold = True
                sheet1.Cells(2, 1).Activate
                ActiveCell.Value = "Griffin (mm)"
                ActiveCell.Font.Bold = True

    wkbMappe.SaveAs strPfad & "\" & Eingabe & ".xlsx"
    MsgBox wkbMappe.Name & " " & wkbMappe.FullName
   
wkbMappe.Close
Set wbkMappe = Nothing

oExcel.Quit
Set oExcel = Nothing


' Konstruktionstabelle zuweisen----------------------------------------------------
' ----Parameter erzeuen------------------------

        Dim Params As Parameters
        Set Params = CATIA.ActiveDocument.Part.Parameters

        Dim Laenge As Dimension
        Dim Griffin As Parameter
       
       
        Set Laenge = Params.CreateDimension("Laenge", "Length", 18)

    Dim Rels As Relations
    Set Rels = CATIA.ActiveDocument.Part.Relations

    Dim KTable As DesignTable

    Dim KName As String
    Dim Beschr As String
    Dim Neu_strPfad As String

    KName = Eingabe & ".xlsx"
    Beschr = "Tabelle zum verändern des PDC-Halters"
    Neu_strPfad = strPfad & "\" & Eingabe & ".xlsx"

Set KTab = Rels.CreateHorizontalDesignTable(KName, Beschr, False, Neu_strPfad)

' Parameter verknuepfen---------------------------------------------------------------

KTab.AddAssociation Laenge, "Laenge"
KTab.AddAssociation Griffin, "Griffin"
KTab.AddNewRow
KTab.Configuration = 1

End Sub


Funktioniert aber irgendwie nicht :-(

------------------
CATIA V5 R19SP09

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

bgrittmann
Moderator
Konstrukteur


Sehen Sie sich das Profil von bgrittmann an!   Senden Sie eine Private Message an bgrittmann  Schreiben Sie einen Gästebucheintrag für bgrittmann

Beiträge: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 16. Okt. 2013 15:57    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Rubio18 10 Unities + Antwort hilfreich

Servus
Wie du auf die Parameter zugreifen kannst, kannst du ggf über die Objektauflösung oder Makroaufzeichnung selbst herausfinden (direkt den Namen bei Item angeben?).

Gruß
Bernd

------------------
Warum einfach, wenn es auch kompliziert geht.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz