Autor
|
Thema: Parameter aus Set auslesen (747 mal gelesen)
|
B Hossbach Mitglied Studi
Beiträge: 17 Registriert: 15.11.2007
|
erstellt am: 28. Apr. 2008 13:10 <-- editieren / zitieren --> Unities abgeben:
Hallo Forum. Ich möchte Werte aus mit Formeln belegten Parametern auslesen, die sich in mehreren Parameter Sets befinden. (siehe Screenshot) Funktioniert mit dem folgenden Skript auch super: Sub CATMain() 'Parameter aus Baum auslesen Dim HPara 'Verweis auf Hauptpfad Set HPara = CATIA.ActiveDocument.Part.Parameters Dim ADim Set ADim = HPara.Item("Length.3") MsgBox (ADim.Value) MsgBox (ADim.Name) End Sub Nur leider bekomme ich den Value und Name des Parameters "Length.3" nur, wenn ich ihn direkt über item("Length.3") anspreche. (Value = 20, Name = Part2/length.3) Ich würde die Abfrage jedoch gerne in eine For Schleife packen. Wenn ich nun Item(1) nehme, gibt er mir die Werte für Line.1/Start aus. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Meggie275 Mitglied Konstrukteurin
Beiträge: 12 Registriert: 24.04.2008 CATIA V5 Rel.18 auf Windows
|
erstellt am: 28. Apr. 2008 15:08 <-- editieren / zitieren --> Unities abgeben: Nur für B Hossbach
Hallo, wenn die Parameter alle gleich heissen und sich nur durch die Zahl hinter dem Punkt unterscheiden, könntest Du es mal mit Set ADim = HPara.Item("Length." & i) verpackt in einer For-Schleife versuchen... Gruss Meggie
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
B Hossbach Mitglied Studi
Beiträge: 17 Registriert: 15.11.2007
|
erstellt am: 28. Apr. 2008 17:28 <-- editieren / zitieren --> Unities abgeben:
Ne, heißen leider nicht gleich. Habe nur den Screenshot zu dem Testmodell gemacht. Ich habe ca. 80 Parameter, die alle einen anderen Namen haben. Könnte sie ja ganz einfach über Iten(xx) ansprechen. Funzt aber nicht. :-( Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Lusilnie Mitglied
Beiträge: 1486 Registriert: 13.07.2005
|
erstellt am: 28. Apr. 2008 23:34 <-- editieren / zitieren --> Unities abgeben: Nur für B Hossbach
Hallo B Hossbach, ich habe es jetzt nicht getestet, doch versuch es doch mal mit: Code: CATIA.ActiveDocument.Part.Parameters.RootParameterSet.Item(i)
das sollte das gewünschte Ergebnis bringen! mfg, Lusilnie
------------------
Alle Aussagen zu DassaultSystemes-Produkten sind sehr optimistisch, selbst diese!!! frei nach größeren Geistern Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
B Hossbach Mitglied Studi
Beiträge: 17 Registriert: 15.11.2007
|
erstellt am: 29. Apr. 2008 08:58 <-- editieren / zitieren --> Unities abgeben:
Sers Lusilnie, das war es fast... Über: Set Part1 = CATIA.ActiveDocument.Part Set Param1 = Part1.Parameters.RootParameterSet.DirectParameters Set Param2 = Param1.Item(1) komme ich auf den ersten Parameter. Leider schaffe ich es nicht, in den 2. Ordner (Parameters.1) rein. :-( Bei Param1.Count kommt auch nur "1" raus. Als wenn der zweite Unterordner gar nicht da wäre... gruß Björn Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
B Hossbach Mitglied Studi
Beiträge: 17 Registriert: 15.11.2007
|
erstellt am: 29. Apr. 2008 10:13 <-- editieren / zitieren --> Unities abgeben:
So. Hier die Lösung: (Leider nur statisch bis auf die zweite Ebene....) Sub CATMain () Dim HPara Set HPara = CATIA.ActiveDocument.Part.Parameters.RootParameterSet.ParameterSets FuncPara HPara, ExcelZeile End Sub Function FuncPara(PfadPara, ExcelZeile) For i = 1 to PfadPara.count Set Param11 = PfadPara.Item(i).DirectParameters For a = 1 to Param11.Count Set Param111 = Param11.Item(a) AusgabeExcel 1, Excelzeile, Param111.Name Excelzeile = ExcelZeile + 1 Next Next End Function Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |