Autor
|
Thema: KWA List Feature ansprechen (2220 mal gelesen)
|
Criollo Mitglied
Beiträge: 42 Registriert: 07.11.2008
|
erstellt am: 26. Jul. 2010 13:46 <-- editieren / zitieren --> Unities abgeben:
Hallo, hat jemand von euch schon mal was mit einem Knowledgeware-List Feature gemacht. Ich möchte aus einem Part heraus verschiedene Parameter in einem Product ansprechen. Die Namen der Parameter kenne ich bereits im Vorfeld. Aber um die Parameterobjekte im Produkt anzusprechen, muss ich alle Parameter des Produkts durchlaufen. Das dauert insbesondere bei grossen Produkten ziemlich lange. Die Idee war nun die Parameter welche ich aus dem Produkt brauche, zu publizieren. Lässt CATIA aber leider nicht zu. Die zweite Idee ist nun sie im Vorfeld in eine Liste einzubauen, und daraus bei Bedarf wieder auszulesen. In der Hilfe steht "List" als Collection drin. Nur leider klappt das nicht so wie z.B. bei Parameters. Ich erhalte zwar über Parameters die Liste, kann jedoch deren Inhalte nicht auslesen. Hat jemand eine Idee dazu... Gruss aus dem regenreichen Süden Criollo Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
HoBLila Mitglied Dipl.-Ing. (BA) praktische Informatik - Senior Entwickler CAx
Beiträge: 1118 Registriert: 29.05.2008 DELL PRECISION T3500 Intel(R) Xeon(R) CPU W3540 @ 2.93GHz 12285 MB RAM NVIDIA Quadro FX 1800 Microsoft Windows 7 Enterprise Service Pack 1 CATIA V5 R19 SP09 HF69 VB6.5 CAA RADE CDC
|
erstellt am: 26. Jul. 2010 13:56 <-- editieren / zitieren --> Unities abgeben: Nur für Criollo
Ich hatte damals das gleiche Problem und war per Zufall irgendwann auf die Lösung gestoßen, wie's dann doch ganz schnell geht. Du kannst Dir von einer Parameterliste eine SubList (SubProperties oda so) geben lassen. Bei dieser übergibst Du das Objekt an dem sie hängen und schon ist deine Liste sehr klein. ------------------ Mit freundlichen Grüßen, Henry Schneider alias Lila Es gibt einen ewigen Wettkampf zwischen der Natur und den Ingenieuren: Die Ingenieure versuchen, immer idioten-sicherere Systeme zu bauen, die Natur versucht, immer bessere Idioten zu bauen Xing Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Criollo Mitglied
Beiträge: 42 Registriert: 07.11.2008
|
erstellt am: 26. Jul. 2010 14:01 <-- editieren / zitieren --> Unities abgeben:
Hallo HoBLila, kannst du das ein bisschen näher beschreiben. Aus der Antwort werd ich bis jetzt noch nicht so ganz schlau. CATIA hat mir wahrscheinlich schon das Gehirn verknotet. Gruss Criollo Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
HoBLila Mitglied Dipl.-Ing. (BA) praktische Informatik - Senior Entwickler CAx
Beiträge: 1118 Registriert: 29.05.2008 DELL PRECISION T3500 Intel(R) Xeon(R) CPU W3540 @ 2.93GHz 12285 MB RAM NVIDIA Quadro FX 1800 Microsoft Windows 7 Enterprise Service Pack 1 CATIA V5 R19 SP09 HF69 VB6.5 CAA RADE CDC
|
erstellt am: 26. Jul. 2010 15:22 <-- editieren / zitieren --> Unities abgeben: Nur für Criollo
Also wenn ich Dich richtig verstanden habe, kann mich aber auch irren, dann liegt dein Problem daran, dass Du zu viele Parameter zu durchsuchen hast. Die Parameteranzahl kann man verringern indem man sie spezifiziziert: ParameterSet.SubList(objWithParameters) ------------------ Mit freundlichen Grüßen, Henry Schneider alias Lila Es gibt einen ewigen Wettkampf zwischen der Natur und den Ingenieuren: Die Ingenieure versuchen, immer idioten-sicherere Systeme zu bauen, die Natur versucht, immer bessere Idioten zu bauen Xing 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: 26. Jul. 2010 20:42 <-- editieren / zitieren --> Unities abgeben: Nur für Criollo
Servus Wenn du die Liste angesprochen hast solltest du über: Code: Set listParameter = parameters1.Item("Liste.1") Set ListenEintrag = listParameter.ValueList.Item(X)ParameterName = ListenEintrag.name ParameterValue = ListenEintrag.Value
auf den Wert zugreifen können. Oder zu Henrys Ansatz:
Code: Sub CATMAIN() Dim odoc As Document Set odoc = CATIA.ActiveDocument Set oProduct = odoc.Product Dim parameters As parameters Set parameters = oProduct.parameters Set Subproduct = oProduct.Products.Item(5) Set Parameters_of_Subproduct = parameters.SubList(Subproduct, True) End Sub
Gibt dir die Parameter des 5. Parts/Products in einer Baugruppe zurück.Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Criollo Mitglied
Beiträge: 42 Registriert: 07.11.2008
|
erstellt am: 27. Jul. 2010 07:43 <-- editieren / zitieren --> Unities abgeben:
|