Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Makro Part Number von Part in Parameter weitergenben

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:  Makro Part Number von Part in Parameter weitergenben (2402 mal gelesen)
Langer11
Mitglied



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

Beiträge: 31
Registriert: 30.07.2015

Catia V5 R29
VBA

erstellt am: 29. Mrz. 2017 10:10    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 Zusammen,
ich beschäftige mich seit neuem mit der Macroprogrammierung in Catia V5 (.catvbs).
Ich habe mir über ein Makro einen Parameter angelegt, diesen umbenannt in "Bezeichnung_ET" und möchte nun für den Parameter eine Formel anlegen, die dem Parameter immer die Part Number zuweist.
Funktioniert auch, solange mein Teil "Part1" heißt(PartName des Parts in der das Makro aufgezeichnet wurde. Sobald ich allerdings das Makro aus ein Part mit anderer Bezeichnung zB. "Part2" anwenden will, wird mit dem Makro zwar der Parameter erstellt und umbenannt und es ist auch eine Formel hinterlegt, allerdings ist die Formel leer.

Könnt ihr mir hier bitte weiterhelfen

Hier  ein Ausschnitt aus meinem Makro:

Sub CATMain()

Set partDocument1 = CATIA.ActiveDocument

Set part1 = partDocument1.Part

Set parameters1 = part1.Parameters

Set strParam1 = parameters1.CreateString("", "")

strParam1.Rename "Bezeichnung_ET"

Set relations1 = part1.Relations

Set formula1 = relations1.CreateFormula("Formula.1", "", strParam1, "`part1\Part Number` ")

formula1.Rename "Formula.1"

End Sub


Ich vermute mal, das ich in dieser Zeile einen Fehler hab:
Set formula1 = relations1.CreateFormula("Formula.1", "", strParam1, "`part1\Part Number` ")

Ich hoffe mir kann jemand weiterhelfen

Grüße
Svenja

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: 29. Mrz. 2017 10:25    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 Langer11 10 Unities + Antwort hilfreich

Servus Svenja
Willkommen in den Catia-Foren.
Bitte in Zukunft Code in den entsprechenden Tags posten.
Du musst "nur" den Pfad zur PartNumber richtig zusammensetzen:
Code:
Sub CATMain()

Set partDocument1 = CATIA.ActiveDocument

Set part1 = partDocument1.Part

Set parameters1 = part1.Parameters

Set strParam1 = parameters1.CreateString("Bezeichnung_ET", "")

Set relations1 = part1.Relations

'strPartNumber = partDocument1.Product.PartNumber &  "\Teilenummer"  'deutsch
strPartNumber = partDocument1.Product.PartNumber &  "\Part Number" 

Set formula1 = relations1.CreateFormula("Formula.1", "", strParam1, strPartNumber)

End Sub


Gruß
Bernd

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

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

Langer11
Mitglied



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

Beiträge: 31
Registriert: 30.07.2015

Catia V5 R29
VBA

erstellt am: 30. Mrz. 2017 08:11    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


Screenshot_baum.png


Screenshot_Macro.png

 
Hallo Bernd,
erst mal danke für die Info das die Frage im falschen Forum steht und du sie verschoben hast.
Und danke für deine schnelle Antwort, nur leider funktioniert es immer noch nicht so wie es sollte.
Ich habe das Macro entsprechend deinem angepasst, Screenshot befindet sich im Anhang. Das Macro legt den Parameter an, hinterlegt auch eine Formel, aber die Formel ist immer noch leer (hiervon befindet sich ebenfalls ein Screenshot im Anhang).
Könnt ihr mir bitte nochmal weiterhelfen. Ich komme einfach nicht weiter.

Gruß Svenja

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: 30. Mrz. 2017 09: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 Langer11 10 Unities + Antwort hilfreich

Servus Svenja
In der englischen Sprachumgebung müssen wohl noch Anführungszeichen mit in den Parameternamen (Leerzeichen vorhanden):
Code:
strPartNumber = "`" & partDocument1.Product.PartNumber &  "\Part Number`"

Gruß
Bernd

PS: Bitte Systeminfo ergänzen

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

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

Langer11
Mitglied



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

Beiträge: 31
Registriert: 30.07.2015

Catia V5 R29
VBA

erstellt am: 30. Mrz. 2017 10:53    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

Vielen Dank!
Funktioniert perfekt!

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: 17. Dez. 2019 20:36    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 Langer11 10 Unities + Antwort hilfreich

Hallo Bernd,

habe das gleiche Problem.
Leider bekomme ich den Pfad zur PartNumber nicht.

Fehler kommt bei "strPartNumber = PartProd.Product.PartNumber"
Object doesn´t support this propertiy or method

Kannst du mir weiterhelfen?

Code:
Function FuncChangeParameter(RefDoc As Document, bWertboolean As Boolean, Liste As String) As Integer
   
        Dim PartProd            As Part
        Dim Parameters1        As Parameters
        'Dim boolParam1        As Parameter
        Dim strParam1          As Parameter
        Dim oFormula1          As Formula
        Dim strPartNumber      As String
        Dim orelations          As relations
       
       
   
        '***BESTIMMUNG DES DOKUMENTENTYPES
        If TypeName(RefDoc) = "PartDocument" Then
            Set PartProd = RefDoc.Part
            Set Parameters1 = RefDoc.Part.Parameters.RootParameterSet.DirectParameters
            Set orelations = PartProd.relations
            strPartNumber = PartProd.Product.PartNumber
            Debug.Print strPartNumber
           
       
        ElseIf TypeName(RefDoc) = "ProductDocument" Then
            'Set parameters1 = RefDoc.Product.Parameters
            'CATIA.StatusBar = RefDoc.Name
            Exit Function
        Else
            MsgBox "Unerwarteter Dokumententyp!", vbExclamation, "DOKUMENT: FEHLER"
        End If
        'MsgBox RefDoc.FullName
        '***PARAMTER ZUWEISEN (FEHLER WIRD GGF IRGONIERT)
        On Error Resume Next 'Laufzeitfehlerbehandlung ausschalten
        Set strParam1 = Parameters1.Item("Positionsnummer")
 
               
                StrFormel = "`" & strPartNumber & "\PartNumber`"
                Debug.Print StrFormel
                Set oFormula1 = orelations.CreateFormula("", "", strParam1, StrFormel)
                'Set oFormula1 = orelations.CreateFormula("Formula1", "", strParam1, StrFormel)
        End If
   
      '***LAUFZEITFEHLERBEHANDLUNG EINSCHALTEN
        On Error GoTo 0
   
    End Function

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

Auch Catia ist nur ein Mensch!    

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: 17. Dez. 2019 20:53    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 Langer11 10 Unities + Antwort hilfreich

Servus Uwe

AFAIR hängt die PartNumber unter dem Product-Zweig und nicht im Part-Zweig des PartDocuments:

Code:
strPartNumber = RefDoc.Product.PartNumber
Gruß
Bernd

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

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: 17. Dez. 2019 21: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 Nur für Langer11 10 Unities + Antwort hilfreich

Hallo Bernd,

danke das funzt jetzt.

Top

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

Auch Catia ist nur ein Mensch!    

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