Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Parameter umbenennen

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:  Parameter umbenennen (4242 mal gelesen)
marlene1
Mitglied


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

Beiträge: 4
Registriert: 25.10.2009

erstellt am: 25. Okt. 2009 16:28    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,

ich bin neu hier und was Makroprogrammierung angeht noch Anfänger. Habe mir auch schon zwei Bücher gekauft(und schon teilweise gelesen), aber ich blicke da noch nicht ganz durch. Hätte da mal ne Frage zu Parameterumbenennung. Kann man Parameter die in fast allen Parts eines Products vorhanden sind mittels Makro umbenennen, wenn das Product aktiv ist.

Geht das mit einem suchen und ersetzen (Inputboxen) Ablauf.

Ich habe mir schon die im Forum suchen und ersetzen Funktion (für die Namen von Parts und Products) angeschaut.

Könnte mir bitte einer sagen, ob ich da auf nem total falschen Dampfer bin.

Geht das mit Inputboxen?

Danke im Voraus....

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

DanielFr.
Moderator
Manager


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

Beiträge: 2506
Registriert: 10.08.2005

HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3

erstellt am: 25. Okt. 2009 18: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 marlene1 10 Unities + Antwort hilfreich

Hallo Marlene  und herzlich Willkommen im Forum,

ja das geht ohne Probleme. Du bist auf genau dem richtigen weg. Du suchst im Produkt alle Parameter. Diese werden alle in deiner Selektion gespeichert. Dann machst du dir eine For...next Schleife und läufst durch die Selektion.

Jetzt brauchst du noch eine Abfrage. Diese identifiziert die Parameter die du umbenennen möchtest z.B. an hand ihres Namens. Wenn ein Parameter umbenannt werden soll machst du eine InputBox und lässt dort vom Anwender den Namen reinschreiben.

Ein bisschen kniffelig wird es erst bei dem Cancel Button. D.h. drückt ein Anwender den Cancel Button der InputBox musst du dich entscheiden ob du das ganze Makro abbrechen möchtest oder nur der eine Parameter nicht benannt wird und seinen alten Namen behält. Dies kannst du aber auch erst am Schluss implementieren.

------------------
MFG Daniel

Systeminformation | Inoffizielle CATIA Hilfeseite | CATIA FAQ | Suche | TraceParts (Normteile...) | 3D Content Central (noch mehr Normteile...)

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

marlene1
Mitglied


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

Beiträge: 4
Registriert: 25.10.2009

erstellt am: 25. Okt. 2009 20: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 Daniel,

danke für die schnelle Antwort und das herzlich Willkommen.

Das mit der For next Schleife ist mir klar, aber ich weiß nicht wie ich die Parameter im Product ansprechen soll, da sich der Parameter im Part befindet. 
Ich hab voll das Brett vorm Kopf!!!

Danke schon einmal

LG Marlene

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

V5Playaz
Mitglied
Dipl.-Ing (BA)


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

Beiträge: 447
Registriert: 12.07.2005

DELL PRECISION 390
3,25 GB RAM
WIN XP PRO SP2
CATIA V5 R16-19
Delmia V5 R19
VB6, VB2008
Adobe Acrobat 9 Pro Extended

erstellt am: 25. Okt. 2009 20:29    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 marlene1 10 Unities + Antwort hilfreich

Hallo Marlene,

es gibt mehrere Möglichkeiten auf Parameter zuzugreifen.
Einmal direkt, d.h. alle Parts zu durchlaufen und dort auf die zugehörigen Parameter zuzugreifen.

Oder per Suchabfrage, wie Daniel schon erwähnt hatte, alle Parameter (egal ob Part oder Produkt) aufzurufen und auf diese zuzugreifen.

Für den Anfang ist es sicherlich sinnvoll über die Suchabfrage zu arbeiten.

Code:
Dim selection1 As Selection
Set selection1 = productDocument1.Selection
selection1.Search "Name='Parameter_Name',all"
For i = 1 To CATIA.ActiveDocument.selection.Count
CATIA.ActiveDocument.selection.Item(i).Value.Name = "Neue_Name"
Next

grüße Dominik

[Diese Nachricht wurde von V5Playaz am 25. Okt. 2009 editiert.]

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

DanielFr.
Moderator
Manager


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

Beiträge: 2506
Registriert: 10.08.2005

HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3

erstellt am: 26. Okt. 2009 05: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 Nur für marlene1 10 Unities + Antwort hilfreich

Hallo Marlene,

also ich gebe Dominik da recht. Versuche es erst einmal mit der Suchanfrage. Hier hast du den Vorteil das du für die Suche nur eine Funktion brauchst search und trotzdem alle Parameter in jedem Bauteil und Unterprodukt das in deinem Root-Produkt verbaut ist findest. Eine suche sucht (wenn nicht explizit anderes eingestellt wird) immer im ganzen Dokument, also im Produkt auch in jedem Part, etc.

Die andere Möglichkeit (hat Dominik auch schon erwähnt) wäre eine rekursive Schleife durch dein Produkt zu jagen und die Parameter zu erfassen. Aber das zählt in VB schon zur höheren Programmierung und ist nicht geeignet für Beginner 

In dem Sinne wünsche ich einen angenehmen Arbeitstag

------------------
MFG Daniel

Systeminformation | Inoffizielle CATIA Hilfeseite | CATIA FAQ | Suche | TraceParts (Normteile...) | 3D Content Central (noch mehr Normteile...)

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

DanielFr.
Moderator
Manager


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

Beiträge: 2506
Registriert: 10.08.2005

HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3

erstellt am: 26. Okt. 2009 11: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 marlene1 10 Unities + Antwort hilfreich


RenameProdParameter_v1.zip

 
Hallo Marlene,

hatte gerade mal ein wenig Zeit um habe dir da mal was zusammengebastelt. Der Code ist komplett mit Kommentaren beschrieben und ich hoffe du kommst damit weiter. Das ganze sucht jetzt alle Parameter in einem Produkt. Erfüllt ein Parameter das Kriterium = Name = "Test", kommt die InputBox. Wird diese umbenannt bleibt der alte Name (also in dem Fall "Test" bestehen).

Am Schluss gibt es noch eine ordentliche Ausgabe die über eine Funktion gelöst wurde.
Das ganze ist eine *.bas Datei (Sicherung aus Visual Basic Editor). Du musst also den Visual Basic Editor öffnen, in eine Library klicken und dort über File -> Import die *.bas Datei importieren.

------------------
MFG Daniel

Systeminformation | Inoffizielle CATIA Hilfeseite | CATIA FAQ | Suche | TraceParts (Normteile...) | 3D Content Central (noch mehr Normteile...)

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

marlene1
Mitglied


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

Beiträge: 4
Registriert: 25.10.2009

erstellt am: 26. Okt. 2009 19:40    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 Daniel,

vielen vielen Dank für das Script, die ausführliche Erklärung und deine Zeit.
Das hat mir sehr geholfen den Ablauf etwas zu verstehen.
Habe mich aber trotzdem dazu entschlossen noch einen Makrokurs zu machen......

Ich habe versucht in deinem (Ich hoffe das ist in Ordnung??) Script eine zweite Inputbox
einzufügen.Beim Ablauf des Makros erscheint diese aber immer wieder.

Habe ich die Box an der falschen Stelle eingefügt?

Ausschnitt:

'**********************************Deklaration Variablen**********************************
    Dim oFenster As Windows
    Dim oDoc As Document
    Dim ObjType As String
    Dim oSel As Selection
    Dim i As Integer
    Dim Box As String
    Dim myParameter As Parameter
   
    Dim readInputBoxValue As String
   
    Dim myInputBoxValue As String
    Dim FoundParameterCount As Integer
    Dim RenamedParameterCount As Integer
    Dim StayedParameterCount As Integer

.....
.....
.....


'Schleife durch alle Selektierten Parameter
    For i = 1 To oSel.Count
        'Hier wird dem Objekt "myParameter" der aktuelle Parameter aus der Selektion zugewiesen
        Set myParameter = oSel.Item(i).Value
         

          readInputBoxValue = InputBox ("Welcher Buchstabe oder Zahl soll ersetzt werden", "Neuer Name für den Parameter: """)     
       


        'Abfrage welche Parameter umbenannt werden sollen. In diesem Beispiel alle die Test heißen
        If myParameter.Name = readInputBoxValue Then
            'Zähler der gefundenen Parameter die das Kriterium erfüllen erhöhen
            FoundParameterCount = FoundParameterCount + 1
            'Hier erscheint die InputBox und der Anwender muss einen Wert eingeben
            myInputBoxValue = InputBox("Bitte geben Sie den neuen Namen ein", "Neuer Name für den Parameter: " & myParameter.Name, "")
            'Gibt er keinen Wert ein und drückt OK oder drückt er CANCEL wird eine Box angezeigt und der Name bleibt gleich
.......
.......
.......

Hättest Du da vielleicht noch einen Tip für mich?

Danke im Voraus.

Grüße
Marlene

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: 26. Okt. 2009 19: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 marlene1 10 Unities + Antwort hilfreich

Servus
Setze die Zeile "ReadInputBoxValue ...." mal vor die Schleife (also vor "Schleife durch alle Selektierten Parameter")

Gruß
Bernd

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

[Diese Nachricht wurde von bgrittmann am 26. Okt. 2009 editiert.]

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

DanielFr.
Moderator
Manager


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

Beiträge: 2506
Registriert: 10.08.2005

HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3

erstellt am: 27. Okt. 2009 05:47    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 marlene1 10 Unities + Antwort hilfreich

Hallo Marlene,

genau, du musst die InputBox vor die Schleife ziehen. Aus dem Bauch raus würde ich jetzt sogar sagen ziemlich am Anfang des Scriptes. Falls der Anwender hier schon abbricht brauchst du nichts selektieren 

Ja sicher kannst du in dem Script rumschreiben. Von mir aus kannst du es auch verkaufen oder sonst was damit anstellen. Das ist eine GPL-Lizenz und der Code will somit weiter entwickelt werden 

------------------
MFG Daniel

Systeminformation | Inoffizielle CATIA Hilfeseite | CATIA FAQ | Suche | TraceParts (Normteile...) | 3D Content Central (noch mehr Normteile...)

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

marlene1
Mitglied


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

Beiträge: 4
Registriert: 25.10.2009

erstellt am: 29. Okt. 2009 20: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 Daniel, Hallo Dominik

vielen Dank nochmal für eure Hilfe und Zeit hat super geklappt.

Grüße
Marlene

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