Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Umbenennen oder DescriptionInst

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:  Umbenennen oder DescriptionInst (1632 mal gelesen)
xyon126
Mitglied
Ingenieur


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

Beiträge: 74
Registriert: 07.11.2011

erstellt am: 06. Aug. 2013 17:24    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 alle!

        Ich habe eine Frage, Who ist mein Fehler im dieser kode:

Code:
Sub CATMain()

    'Crear objeto, Documento.
    Dim tmpDoc As Product
    Set tmpDoc = CATIA.ActiveDocument
   

    'Seleccionar todos los documentos abiertos.
    For Each tmpDoc In CATIA.Documents

        'Modificar solo Parts y Products
        If InStr(1, tmpDoc.Name, ".CATProduct") > 0 Or InStr(1, tmpDoc.Name, ".CATPart") > 0 Then
     
'Editar propiedad Description
            Textdata = tmpDoc.Name
            Textdata = Left(tmpDoc.Name, 8)
            tmpDoc.DescriptionInst = Textdata
     
    End If
 
    Next
   
tmpDoc.Product.Update   

End Sub


Ich will im alle CATPart und CATProduct von ein CATProduct Umbenennen oder füllen die DescriptionInst, aber ich habe die Fehler API und ich weiss nicht warum. Das ich will Benennen die letzten 7 Dateiname Zeichen

Vielen Danke.

Manuel

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: 07. Aug. 2013 08:43    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 xyon126 10 Unities + Antwort hilfreich

Servus Manuel
Welche Fehlermeldung kommt den?
Mit der Schleife "For Each tmpDoc In CATIA.Documents" änderst du alle Dokument, also auch Baugruppen die du parallel geöffnet hast, also nicht nur die aktuell geöffnete, ist dir das bewusst?
Willst du nun die Datei umbenennen, oder die "DescriptionInst" ändern?
EDIT: Anbei ein überarbeiteter Code zum den DescriptionRef ausufüllen:
Code:
Sub CATMain()
    'Crear objeto, Documento.
    Dim tmpDoc As Document
    Dim TextData

    'Seleccionar todos los documentos abiertos.
    For Each tmpDoc In CATIA.Documents

        'Modificar solo Parts y Products
        If InStr(1, tmpDoc.Name, ".CATProduct") > 0 Or InStr(1, tmpDoc.Name, ".CATPart") > 0 Then
   
        'Editar propiedad Description
            TextData = tmpDoc.Name
            TextData = Left(TextData, InStrRev(TextData, ".") - 1)
            Set oProd = tmpDoc.Product
            oProd.DescriptionRef = TextData
        End If
    Next
End Sub



Gruß
Bernd

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

[Diese Nachricht wurde von bgrittmann am 07. Aug. 2013 editiert.]

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

xyon126
Mitglied
Ingenieur


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

Beiträge: 74
Registriert: 07.11.2011

erstellt am: 07. Aug. 2013 09:18    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

Gutt Morgen Bernd!

            Vielen Danke für deiner Schnell atwort, die API Fehler das ist der "ScriptERR_1002" Line 37, column 12, genau dieser code:

Code:
tmpDoc.DescriptionInst = Textdata
, ich habe deiner code probiert und das ist nicht die Antwort brauche ich, weil die Description ist für alle CATPart "Component>Description" und nicht im CATProduct "Product>Description"

Dies ist ein Foto von meinem Bedürfnis

Viele CATPart leer sind und andere mit falschen Daten; und ich brauche alle richtig Ändern. Normal ein CATProduct mit zwei CATProduct max. und 50 CatPart max.

Das Makro laufe ich von der Hauptstraße CATProduct immer.

Vielen Danke

Manuel

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: 07. Aug. 2013 09:32    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 xyon126 10 Unities + Antwort hilfreich

Servus
Die Eigenschaft "DescriptionInst" ist nur beim Exemplar (also innerhalb einer Baugruppe definiert).
Du musst also, statt einer Schleife über alle geöffneten Dokumente, eine Schleife über alle Products einer Baugruppe benutzen. zB (ungetestet)
Code:
Sub CATMain()

Dim RootProduct As Product
Dim oProduct as product

Set RootProduct = CATIA.ActiveDocument  

For each oProduct In RootProduct.Products
    'zB hier die Teilenummer
    oProduct.DescriptionInst = oProduct.PartNumber
Next   

End Sub


Gruß
Bernd

EDIT: Code korrigiert

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

[Diese Nachricht wurde von bgrittmann am 07. Aug. 2013 editiert.]

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

xyon126
Mitglied
Ingenieur


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

Beiträge: 74
Registriert: 07.11.2011

erstellt am: 07. Aug. 2013 11:12    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 Bernd!

            Dein code hat nochmal Fehler 1002,

Code:
For oProduct tmpDoc In RootProduct.Products

Fehler : Description Warten '='

Ich habe später geändert code:

Code:
For oProduct = tmpDoc In RootProduct.Products

Und die Fehler kommt aber

Fehler : Description Warten 'To'; usw, usw.

und ich kann nicht damit es funktioniert.

Bitte Hilfe

V.D.

Manuel

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: 07. Aug. 2013 11:27    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 xyon126 10 Unities + Antwort hilfreich

Servus
Die Zeile sollte so funktionieren:
Code:
For each oProduct In RootProduct.Products
Gruß
Bernd

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

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

xyon126
Mitglied
Ingenieur


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

Beiträge: 74
Registriert: 07.11.2011

erstellt am: 07. Aug. 2013 11:46    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 Bernd!

Ich habe mit dieser code

Code:
Language="VBSCRIPT"

Sub CATMain()

Dim RootProduct As Product
Dim oProduct as product

Set RootProduct = CATIA.ActiveDocument 

For each oProduct In RootProduct.Products
    'zB hier die Teilenummer
    oProduct.DescriptionInst = oProduct.PartNumber
Next 

End Sub


probiert und funktioniert nicht, das Fehler sagt :

Das object aceptiert nicht dieser metode:'RootProduct.Procuts'
Line:10

Code:
For each oProduct In RootProduct.Products

Ich habe die API zu lesen, aber ich finde es nicht funktioniert, und wo ist der Fehler.

Sie wissen, wo er ist?

V.D.

Manuel

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: 07. Aug. 2013 11:56    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 xyon126 10 Unities + Antwort hilfreich

Servus
Vermutlich muss es heißen:
Code:
Set RootProduct = CATIA.ActiveDocument.Product

Was steht in der Doku dazu? Programmierst du im VBA-Editor, dann schau mal in das Watchfenster.

Gruß
Bernd

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

[Diese Nachricht wurde von bgrittmann am 07. Aug. 2013 editiert.]

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

xyon126
Mitglied
Ingenieur


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

Beiträge: 74
Registriert: 07.11.2011

erstellt am: 07. Aug. 2013 12:15    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 Bernd!

              Das mache ich nicht in VBA, wir in CATScript durchführen, kann es sein, dass der Fehler?

V.D.

Manuel

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

xyon126
Mitglied
Ingenieur


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

Beiträge: 74
Registriert: 07.11.2011

erstellt am: 07. Aug. 2013 12: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

Hallo Bernd!

               Ich habe jetzt im VBA editor probiert und das Fehler ist exact,

Run-Time error '438'
Object doesn't support this property or method

code: Set RootProduct = CATIA.Product.ActiveDocument

m.f.G.

Actung!! Ich arbeitet mit Catia V5 R18 SP8, weil China(mein kunde) dieser version Arbeit.

Manuel

[Diese Nachricht wurde von xyon126 am 07. Aug. 2013 editiert.]

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



Technischer Zeichner CAD (m/w/d) Voll- und Teilzeit

Umwelt verantwortlich gestalten ? unter diesem Leitmotiv bearbeiten wir bereits seit drei Jahrzehnten Tiefbau- und Umwelt­schutz­projekte für unsere Kunden. Wir als KuP sehen in unserer täglichen Arbeit das Prinzip bestätigt, dass ökonomischer Erfolg dauerhaft nur unter Beachtung ökologischer Aspekte und sozialer Bedürfnisse möglich ist. Mit nun über 80 Mitarbeiterinnen ...

Anzeige ansehenTechnischer Zeichner, Bauzeichner
ferdo
Mitglied
engineer


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

Beiträge: 34
Registriert: 15.04.2009

Windows 7, 64
CATIA v5r25 , 3DEXPERIENCE on cloud

erstellt am: 07. Aug. 2013 14:23    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 xyon126 10 Unities + Antwort hilfreich

Hallo,

Eine Variante für ersten posten ('Seleccionar todos los documentos abiertos.)


Language = "VBSCRIPT"
Sub CATMain ()

Set windowsopen = CATIA.Windows
Msgbox (windowsopen.count)

    for i = 1 to windowsopen.count
            msgbox (Catia.windows.item(i).name)

            Catia.windows.item(i).Activate

            Dim mainDocument
            Set mainDocument = CATIA.ActiveDocument
            Dim oProduct
            Set oProduct = mainDocument.Product

            oProduct.DescriptionRef = oProduct.PartNumber
     
    NEXT

End Sub

------------------
Best regards
Fernando

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