Autor
|
Thema: Untergeordnete ParameterSets und Parameter ansprechen (4376 mal gelesen)
|
GrafKoks Mitglied
Beiträge: 22 Registriert: 10.05.2012 Catia V5 R19 Microsoft Visual Basic 6.0<P>Windows XP Professional x64 Edition
|
erstellt am: 10. Mai. 2012 14:07 <-- editieren / zitieren --> Unities abgeben:
Servus, ich habe ein Product in dem sich ein ParameterSet befindet, das widerum andere ParameterSets enthält, die ihrerseits einzelne Parameter beinhalten. Leider habe ich keine Ahnung, wie ich an die untergeordneten ParameterSets, geschweige denn an die "ganz unten" liegenden Parameter komme. Das übergeordnete ParameterSet heißt Parameters und da komme ich dran, aber bei darunterliegenden Sets und Parametern komme ich nicht weiter. Ich bitte um Eure Hilfe. Übrigens bin ich neu in der Makroprogrammierung für Catia. Ich benutze CATIA V5 und programmiere in einem vba-Project mit Userform und Modulen. Besten Dank Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
K.Siebert Mitglied Tech Zeichner
Beiträge: 415 Registriert: 19.05.2007 Win XP Catia V5 R19 Catia V5 R24
|
erstellt am: 10. Mai. 2012 15:13 <-- editieren / zitieren --> Unities abgeben: Nur für GrafKoks
Hallo, Ist es das was du suchst? Code: '------------------------------------------------ ... Set strParam1 = parameters1.Item("Part1\PARA-SET-2\PARA-SET-3\TEST3") strParam1.Value = "schreibe-in-PARA-Set-2/PARA-SET-3_von-Macro" Para_set_3 = strParam1.Value msgbox Para_set_3 ... '-------------------------------------------------
Ich habe dieses mit der Makrorecoder aufgezeichnet. Dieses ist eine schöne Hilfe.
------------------ Sei Schlau bleib Dumm !!?!! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
GrafKoks Mitglied
Beiträge: 22 Registriert: 10.05.2012 Catia V5 R19 Microsoft Visual Basic 6.0<P>Windows XP Professional x64 Edition
|
erstellt am: 10. Mai. 2012 15:27 <-- editieren / zitieren --> Unities abgeben:
Danke für deine Antwort. Eigentlich möchte ich zuerst einmal einfach einen Parameter aus der verschachtelten Parameterset-Struktur einer Variable zuweisen. Dabei dachte ich an soetwas: Sub CATMain() Set part1 = CATIA.ActiveDocument MsgBox ("Dieser Parameter heisst:" & vbCrLf & part1.Product.Parameters.Name) End Sub Gibt es die Möglichkeit über den Ausdruck "part1.Product.Parameters.Name" noch tiefer in die Parameterstruktur zu tauchen? Man schreibt also irgendwas wie "part1.Product.Parameters.UntergeordnetesParameterSet.Parameterblablabla.Name" Also an die Stelle des fettgedruckten Ausdrucks kommt die untergeordnete Parameterstruktur. Vielen Dank Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
K.Siebert Mitglied Tech Zeichner
Beiträge: 415 Registriert: 19.05.2007 Win XP Catia V5 R19 Catia V5 R24
|
erstellt am: 10. Mai. 2012 15:46 <-- editieren / zitieren --> Unities abgeben: Nur für GrafKoks
|
bgrittmann Moderator Konstrukteur
Beiträge: 11780 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 10. Mai. 2012 15:55 <-- editieren / zitieren --> Unities abgeben: Nur für GrafKoks
Servus Das geht über das RootparameterSet (also das Set direkt unterhalb des Parts). Von diesem aus kannst du dich weiter nach unten hangeln. ZB part1.Parameters.RootParameterSet.ParameterSets.Item(1).AllParameters.Item(1)Liefert dir den ersten Parameter aus dem erste UnterParameterSet Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
GrafKoks Mitglied
Beiträge: 22 Registriert: 10.05.2012 Catia V5 R19 Microsoft Visual Basic 6.0<P>Windows XP Professional x64 Edition
|
erstellt am: 11. Mai. 2012 08:59 <-- editieren / zitieren --> Unities abgeben:
Vielen Dank für die Antworten. Das mit dem RootParameterSet bringt mich dem ganzen näher, aber sobald ich item(1) irgendwo dahinter setze, bekomme ich folgende Fehlermeldung: Runtime Error '438': Object doesn't support this property or method. Was mache ich da falsch. Wie gesagt ist das ein vba-Project. Ich hab keine Ahnung, wo da der Unterschied zu VBScrip liegt. Vielen Dank Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
GrafKoks Mitglied
Beiträge: 22 Registriert: 10.05.2012 Catia V5 R19 Microsoft Visual Basic 6.0<P>Windows XP Professional x64 Edition
|
erstellt am: 11. Mai. 2012 11:31 <-- editieren / zitieren --> Unities abgeben:
Hier weitere Informationen bezüglich des Problems. Ich habe ein Product und möchte die "globalen" Parameter ansprechen. Also nicht die in den Baugruppen oder Parts, sondern die in dem ParameterSet, das noch zusehen ist, wenn man den Strukturbaum vollständig "collapsed". Die Struktur ist bei mir dann wie folgt (also Strukturbaum komplett eingelkappt): Ganz oben ist das geöffnete Product und dann folgen verschiedene Elemente (alle mit Plus davor und auf der gleichen Ebene). Product | +Baugruppe1 | +Baugruppe2 | +Parameters (hier will ich rein und an die untergeordnete Struktur ran) | +Relations | +Constraints | +Publications | +Applications Vielen Dank für Tips. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
LayKris Mitglied Student
Beiträge: 12 Registriert: 28.03.2012 @home: i5-750 @ 4x2,66GHz 4GB DDR3 Radeon HD5770 @mobile: Amd A8-3520 @ 4x2.5GHz 4GB DDR3 Radeon HD6740G2
|
erstellt am: 11. Mai. 2012 13:28 <-- editieren / zitieren --> Unities abgeben: Nur für GrafKoks
Ich hatte kürzlich an etwas ganz ähnlichem geknobelt. Mach dir am besten mal eine Aufnahme, bei der du einen der Parameter manuell zuweist und versuche dann, den Pfad nachzubilden. Was genau hast du denn vor, willst du mehrere nacheinander abarbeiten oder nur einem bestimmten einen Wert zuweisen? Oder soll der User quasi die Wahl haben, welchem etwas zugewiesen wird? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
GrafKoks Mitglied
Beiträge: 22 Registriert: 10.05.2012 Catia V5 R19 Microsoft Visual Basic 6.0<P>Windows XP Professional x64 Edition
|
erstellt am: 11. Mai. 2012 13:53 <-- editieren / zitieren --> Unities abgeben:
Servus LayKris, ich schreibe ein Makro mit dem ich Normteile in einen Grundkörper einfügen kann. Im Endeffekt muss das Normteil in den Grundkörper kopiert und positioniert werden. Jedoch sind sämtliche Informationen hierzu in einem Geäst aus Parametersets im Normteil hinterlegt. Diese muss ich also irgendwie auslesen und zwar gezielt. Wenn das Normteil in den Grundkörper kopiert und positioniert wurde, müssen einige Bestandteile des Strukturbaums des Normteils in den Strukturbaum des Grundkörpers eingepflegt werden und zwar hauptsächlich die Parameter. Zum Testen wollte ich eben, wie oben beschrieben, erst mal die Parameter ansprechen und per MsgBox den Namen ausgeben lassen, damit ich weiß, ob ich den richtigen Parameter erwischt habe. Bislang bekomme ich nur das oberste ParameterSet mit Namen Parameters. Ich vermute auch das mit dem Parameterbefehl mehr als nur die Parameter im Strukturbaum mit dem Würfelsymbol angesprochen werden, denn ein Makro hier aus dem Forum zum Zählen von Parametern gibt mir eine Parameterzahl von 13000 und mehr aus. Ich bin langsam am Verzweifeln 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: 11. Mai. 2012 14:10 <-- editieren / zitieren --> Unities abgeben: Nur für GrafKoks
Servus Schau dir mal die Methode "DirectParameters" in der V5Automation.chm an. Vermutlich werden dann nur die direkten Parameter eines parameteSets (zB auch vom RootParameterSet) angesprochen (einfach mal mit dem Watch bzw Local-Fenster im VBA-Editor schauen) Gruß Bernd
------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
GrafKoks Mitglied
Beiträge: 22 Registriert: 10.05.2012 Catia V5 R19 Microsoft Visual Basic 6.0<P>Windows XP Professional x64 Edition
|
erstellt am: 14. Mai. 2012 09:32 <-- editieren / zitieren --> Unities abgeben:
|