Autor
|
Thema: VBA, Parameterwerte auslesen (5601 mal gelesen)
|
philko Mitglied
Beiträge: 23 Registriert: 21.04.2001
|
erstellt am: 21. Mrz. 2003 10:51 <-- editieren / zitieren --> Unities abgeben:
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
Beiträge: 446 Registriert: 06.03.2002
|
erstellt am: 24. Mrz. 2003 09:08 <-- editieren / zitieren --> Unities abgeben: Nur für philko
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
Beiträge: 736 Registriert: 22.11.2002
|
erstellt am: 21. Aug. 2004 00:49 <-- editieren / zitieren --> Unities abgeben: Nur für philko
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
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 / zitieren --> Unities abgeben: Nur für philko
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
Beiträge: 169 Registriert: 05.09.2000
|
erstellt am: 31. Aug. 2004 09:14 <-- editieren / zitieren --> Unities abgeben: Nur für philko
|
em Michael Kirsch Mitglied Teamleiter KBE Methoden & Tools
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 / zitieren --> Unities abgeben: Nur für philko
|
philko Mitglied
Beiträge: 23 Registriert: 21.04.2001
|
erstellt am: 31. Aug. 2004 15:25 <-- editieren / zitieren --> Unities abgeben:
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
Beiträge: 66 Registriert: 13.08.2004
|
erstellt am: 15. Sep. 2004 12:54 <-- editieren / zitieren --> Unities abgeben: Nur für philko
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
Beiträge: 269 Registriert: 09.12.2007 WPF, VBA, CATScript, Access
|
erstellt am: 02. Mai. 2016 10:51 <-- editieren / zitieren --> Unities abgeben: Nur für philko
|
Randle Mitglied CAD/PLM Consultant
Beiträge: 695 Registriert: 12.04.2003 Win10 x64 CATIA V5 R18, R19, R21, R27-29
|
erstellt am: 02. Mai. 2016 11:19 <-- editieren / zitieren --> Unities abgeben: Nur für philko
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
Beiträge: 695 Registriert: 12.04.2003 Win10 x64 CATIA V5 R18, R19, R21, R27-29
|
erstellt am: 02. Mai. 2016 11:22 <-- editieren / zitieren --> Unities abgeben: Nur für philko
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
Beiträge: 269 Registriert: 09.12.2007 WPF, VBA, CATScript, Access
|
erstellt am: 02. Mai. 2016 14:56 <-- editieren / zitieren --> Unities abgeben: Nur für philko
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
Beiträge: 11780 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 02. Mai. 2016 15:09 <-- editieren / zitieren --> Unities abgeben: Nur für philko
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.ModelElementmyParamSet = 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
Beiträge: 269 Registriert: 09.12.2007 WPF, VBA, CATScript, Access
|
erstellt am: 02. Mai. 2016 15:34 <-- editieren / zitieren --> Unities abgeben: Nur für philko
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
Beiträge: 695 Registriert: 12.04.2003 Win10 x64 CATIA V5 R18, R19, R21, R27-29
|
erstellt am: 02. Mai. 2016 15:41 <-- editieren / zitieren --> Unities abgeben: Nur für philko
|
Tweety79 Mitglied Entwicklung Automotive
Beiträge: 269 Registriert: 09.12.2007 WPF, VBA, CATScript, Access
|
erstellt am: 02. Mai. 2016 15:50 <-- editieren / zitieren --> Unities abgeben: Nur für philko
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 |