Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  VBA, Parameterwerte auslesen

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:  VBA, Parameterwerte auslesen (5601 mal gelesen)
philko
Mitglied



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

Beiträge: 23
Registriert: 21.04.2001

erstellt am: 21. Mrz. 2003 10:51    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

da ich mich noch am anfang bezüglich vba befinde stelle ich
eine kleine frage in den raum!

ich möchte ein vba-script mit folgenden anforderungen erstellen:

ein parameterwert (string) soll den vorhanden partnamen ersetzen.
wenn sich der parameterwert ändert, soll nach ausführen des scripts
der partname zum aktuellen parameterwert synchronisiert werden

für hilfen wäre ich sehr, sehr dankbar!
mit freundlichen grüßen
philipp

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

Steffen Hohmann
Mitglied
 


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

Beiträge: 446
Registriert: 06.03.2002

erstellt am: 24. Mrz. 2003 09:08    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 philko 10 Unities + Antwort hilfreich

Hallo Philipp,

folgendes Skript kannst Du verwenden:

Dim PartDoc As PartDocument
Set PartDoc = CATIA.ActiveDocument

Dim Param As Parameter
'Für ParameterName ist der Name des Parameters einzusetzen
Set Param = PartDoc.Part.Parameters.Item("ParameterName")

Dim sPartNumber as String
sPartnumber = Param.Value

PartDoc.Product.PartNumber = sPartNumber

Gruss
Steffen

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

fireman
Mitglied
Dipl.-Ing. (BA) Maschinenbau


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

Beiträge: 736
Registriert: 22.11.2002

erstellt am: 21. Aug. 2004 00: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 philko 10 Unities + Antwort hilfreich

Hallo Steffen,

auch ohne Frage fündig geworden! Hatte ein ähnliches Problem, dieser Code von Dir hat mir die Lösung gebracht.
10 U's als Dank und einen schönen Gruß aus dem wilden Süden,

Fireman

------------------
----------------------------

Neugier ist der erste Schritt des Vortschritts

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

em Michael Kirsch
Mitglied
Teamleiter KBE Methoden & Tools


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

Beiträge: 222
Registriert: 21.10.2002

CATIA V5 R16
CATIA V5 R18
CATIA V5 R19
NX 5
NX 6
NX 7.5

erstellt am: 30. Aug. 2004 14:21    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 philko 10 Unities + Antwort hilfreich

Hallo zusammen,

die PartNumber ist ein Parameter wie jeder andere und ist für jedes Part und für jedes Product im Parameter-Explorer zu finden.

Wenn für die Übergabe des Parameterwertes nicht jedes Mal ein Makro gestartet werden soll, kann man den Parameter PartNumber einfach mit Hilfe einer Formel mit dem String gleichsetzen - dann geht´s sogar von allein und ganz ohne Makros.

Grüße,

Michael

------------------

www.em.ag

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

Axel
Mitglied
 


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

Beiträge: 169
Registriert: 05.09.2000

erstellt am: 31. Aug. 2004 09:14    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 philko 10 Unities + Antwort hilfreich

Moin Michael,

bei mir ist der Parameter "Part1\Part_Number" geschützt und nicht zu ändern.
Kann man den Schutz aufheben oder gibt es noch einen anderen Parameter?

Gruß, Axel

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

em Michael Kirsch
Mitglied
Teamleiter KBE Methoden & Tools


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

Beiträge: 222
Registriert: 21.10.2002

CATIA V5 R16
CATIA V5 R18
CATIA V5 R19
NX 5
NX 6
NX 7.5

erstellt am: 31. Aug. 2004 14: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 Nur für philko 10 Unities + Antwort hilfreich

Hallo Axel,

voll erwischt, Asche über mein Haupt ;-((
Ich hatte wie beschrieben mal einen String-Parameter durch die PartNumber gesteuert und war mir sicher, dass es auch umgekehrt ginge.

Grüße,

Michael

------------------

www.em.ag

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

philko
Mitglied



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

Beiträge: 23
Registriert: 21.04.2001

erstellt am: 31. Aug. 2004 15: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

Hallo,

Wenn Ihr euch die Eigenschaften des Parts anzeigen lässt,
auf den Button "Andere Eigenschaften definieren" anklickt und
dann eigene Eigenschaftsfelder erzeugt ist es möglich einen Parameter mit diesem Feld zu verknüpfen (Formeleditor).
Mit den vorhandenen Eigenschaftsfelder ist dies nicht möglich!
Geht aber mit einem Makro!

MfG,
Philipp

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

anhtuanvu
Mitglied
Student


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

Beiträge: 66
Registriert: 13.08.2004

erstellt am: 15. Sep. 2004 12: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 Nur für philko 10 Unities + Antwort hilfreich

Hallo Leute,
ich bin ganz neu mit Catia beschäftig. Könnt ihr mir beibringen, wie man CATSkript erstellt? Mit welchem Program schreibt man? Ist das VBA oder?
Danke sehr

------------------
Dumbo
CATIA V5, R13, SP5

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

Tweety79
Mitglied
Entwicklung Automotive


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

Beiträge: 269
Registriert: 09.12.2007

WPF, VBA, CATScript, Access

erstellt am: 02. Mai. 2016 10:51    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 philko 10 Unities + Antwort hilfreich

Hallo zusammen,

wisst ihr auch, wie ich den ParameterSet Namen ändern kann? vb.NET

Ich habe es so versucht:

myParamSet.Name = "Irgendwas"

Anwort vom System: Method not implemented.

THX

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

Randle
Mitglied
CAD/PLM Consultant


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

Beiträge: 695
Registriert: 12.04.2003

Win10 x64
CATIA V5 R18, R19, R21, R27-29

erstellt am: 02. Mai. 2016 11:19    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 philko 10 Unities + Antwort hilfreich

Hallo,

den Namen eines ParameterSets kannst du (nur) über das ModelElement.InternalName oder ModelElement.DisplayName ändern.

Dim oModEl as ModelElement
Set oModelEl = myParamSet.GetItem("ModelElement")
oModelEl.DisplayName = "irgendwas"

Ob es nun InternalName oder DisplayName ist musst du mal eben austesten, das habe ich gerade nicht mehr genau auf dem Schirm.

Gruß
Randle

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

Randle
Mitglied
CAD/PLM Consultant


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

Beiträge: 695
Registriert: 12.04.2003

Win10 x64
CATIA V5 R18, R19, R21, R27-29

erstellt am: 02. Mai. 2016 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 philko 10 Unities + Antwort hilfreich

Hallo,

den Namen eines ParameterSets kannst du (nur) über das ModelElement.InternalName oder ModelElement.DisplayName ändern.

Dim oModEl as ModelElement
Set oModelEl = myParamSet.GetItem("ModelElement")
oModelEl.DisplayName = "irgendwas"

Ob es nun InternalName oder DisplayName ist musst du mal eben austesten, das habe ich gerade nicht mehr genau auf dem Schirm.

Gruß
Randle

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

Tweety79
Mitglied
Entwicklung Automotive


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

Beiträge: 269
Registriert: 09.12.2007

WPF, VBA, CATScript, Access

erstellt am: 02. Mai. 2016 14: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 philko 10 Unities + Antwort hilfreich

Hi,

also ich habe es z.B. so probiert:

Dim myParamSet As INFITF.ModelElement

        myProductDoc.Selection.Search("Knowledgeware.'Set of parameters'.Name=Manipulate,all")
        myPartNumber = myProductDoc.Product.Products.Item(1).Name
        myPartNumber = myPartNumber.Substring(0, myPartNumber.LastIndexOf(".", myPartNumber.LastIndexOf(".") - 1))

        myParamSet = myProductDoc.Selection.Item2(2).Value
        myParamSet.DisplayName = myPartNumber

Es ging nicht über die vorletzte Zeile hinaus. Stattdessen so versucht:

        myParamSet = myProductDoc.Selection.GetItem("ModelElement")
        myParamSet.DisplayName = myPartNumber

Method not implemented.

Eine Idee, was ich noch versuchen könnte?

THX

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: 02. Mai. 2016 15:09    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 philko 10 Unities + Antwort hilfreich

Servus
IMHO gibt es das "ModelElement" nur für ein Objekt und nicht für die ganze Selektion (auch wenn nur ein Element drin ist).
Ohne es getestet zu haben würde ich es so probieren:
Code:

Dim myParamSet As parameterset 'bzw entsprechende Lib für .net
Dim oModelEl As INFITF.ModelElement

myParamSet = myProductDoc.Selection.Item2(2).Value 'warum das 2. Element?
oModelEl = myParamSet.GetItem("ModelElement")
oModelEl.DisplayName = "irgendwas" 'bzw myPartNumber


Gruß
Bernd

PS: Hat es einen Grund warum du alles über die Suche/Selektion machst?

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

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

Tweety79
Mitglied
Entwicklung Automotive


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

Beiträge: 269
Registriert: 09.12.2007

WPF, VBA, CATScript, Access

erstellt am: 02. Mai. 2016 15:34    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 philko 10 Unities + Antwort hilfreich

Servus,

echt spitze, vielen Dank!!

Über die Selection mache ich viel, weil ich das so über das Fernglas in CATIA aufzeichnen kann.
auf anderen Wegen funktioniert das Aufzeichnen nur bedingt oder mit vielen Lücken dazwishcen.

THX

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

Randle
Mitglied
CAD/PLM Consultant


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

Beiträge: 695
Registriert: 12.04.2003

Win10 x64
CATIA V5 R18, R19, R21, R27-29

erstellt am: 02. Mai. 2016 15:41    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 philko 10 Unities + Antwort hilfreich

"IMHO gibt es das "ModelElement" nur für ein Objekt und nicht für die ganze Selektion (auch wenn nur ein Element drin ist)."

So ist es.

Gruß
Randle

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

Tweety79
Mitglied
Entwicklung Automotive


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

Beiträge: 269
Registriert: 09.12.2007

WPF, VBA, CATScript, Access

erstellt am: 02. Mai. 2016 15:50    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 philko 10 Unities + Antwort hilfreich

Was jetzt noch kommt: Parameter werden alle so umbenannt wie gewünscht, was man auch in den Properties nachlesen kann.
Nur man sieht es auch nach aktivieren in das Einzelpart und Update noch nicht auf dem Schirm.
Erst nach Speichern und neu laden ist alles sichtbar.

Grüße

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