Autor
|
Thema: Rekursive Schleife zur Produktdurchsuchung nach Punkten (1548 mal gelesen)
|
pushel Mitglied
Beiträge: 5 Registriert: 20.05.2011 Catia V5
|
erstellt am: 20. Mai. 2011 10:05 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich habe folgendes Problem. Ersten bin ich leider nicht wirklich sicher in der Makroprogrammierung in Catia aber das möchte ich ändern. Mein Problem oder Anliegen ist es Punkte aus Catia V5 in Excel zu laden und das aber nicht über Anwahl der Part Dateien sondern über eine Schleife welche das komplette Product mit allen Parts nach Punkten durchsucht wessen Parameter ich deklariet habe. Aus dem Kochbuch Catia V5 Automatisieren habe ich schon die R37 (Punktkoordinaten nach Excel) ausprobiert. Es funktioniert sehr gut aber ich muss wiegesagt jeden Part einzeln anwählen. Angommen ich habe ein Product mit 3 Part in denen Punkte integriert sind, möchte ich durch eine Schleife oder ähnliches das Product durchsuchen und die Punkte ebenfalls in Excel ausgeben. Mir ist nicht wirklich klar wie ich das anstellen soll. Ich wäre für Hilfe sehr dankbar
[Diese Nachricht wurde von pushel am 20. Mai. 2011 editiert.] 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: 20. Mai. 2011 10:12 <-- editieren / zitieren --> Unities abgeben: Nur für pushel
Servus Willkommen im Forum. Bitte Systeminfo ausfüllen. Schau mal hier findest du ein Beitrag zur Rekursion. Du musst dann jedes Element prüfen, ob es ein Part ist und dann deine Funktion/Sub zum Suchen/Exportieren der Punkt anstoßen. Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. [Diese Nachricht wurde von bgrittmann am 20. Mai. 2011 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
pushel Mitglied
Beiträge: 5 Registriert: 20.05.2011 Catia V5
|
erstellt am: 20. Mai. 2011 11:01 <-- editieren / zitieren --> Unities abgeben:
|
Kne Mitglied System-Ingenieur
Beiträge: 88 Registriert: 16.11.2007 Intel Xenon 2 x 2,53Mhz 12 GB Ram NVIDIA Quadro Fx 1800 Vista 64bit CATIA v5R18 + v5R19
|
erstellt am: 20. Mai. 2011 17:13 <-- editieren / zitieren --> Unities abgeben: Nur für pushel
Hallo, auf die schnelle aus dem Kopf geht das so, wirst aber bestimmt noch was dran basteln müssen: Catia Documente einlesen dim documents1 as documents set documents1 = catia.documents Documente zählen dim anzahl Anzahl = documents.count Identification der Parts for i = 0 to Anzahl If TypeName(documents1.item(i + 1)) = "partdocument" then Partname = documents1.item(i + 1).name 'oder so ähnlich/einfach das Part ansteuern Set partdocument1 = catia.documents.item(partname) Deine Code zum auslesen der Punkte end if next Ich hoffe das hilft dir. ------------------ Grüße aus Köln Stefan Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
zoltan.bekesi Mitglied
Beiträge: 321 Registriert: 22.10.2006 Job: CATIA V5R19 / XP 32bit MS Office 2003 Microstation V8 2004 Edition DELL Precision M6300
|
erstellt am: 20. Mai. 2011 20:39 <-- editieren / zitieren --> Unities abgeben: Nur für pushel
Hallo, Rekursion ist nur eine Sache. Da gibt es im Forum wirklich viele schöne Beispiele, z.B. für Stücklistenerstellung. Hier ist eine rekursive Lösung. Der Code vom Rezept muss in den Teil rein, wo die Stückzahl hochgezählt wird (aAssyArray(iAssyArrayCount) = oRefProduct.PartNumber iAssyArrayCount = iAssyArrayCount + 1" Der "Trick" was duch noch für den Rezept brauchst: Am Anfang den Verweis auf das ActiveDocument aus "oRefDocument.Part" tauschen. Was man aber noch überlegen sollte: sind deine Parts alle im Ursprung (also nicht durch Constraints oder sowas verschoben/verdreht)? Wenn ja, dann kann man die Lösung aus dem Kochbuch einfach übernehmen. Wenn nicht, dann gibt es grundsätzlich zwei Wege: 1) mit den genauen Punktname/Instanzname messen 2) nur im Part die Koordinaten messen und anschließend umrechnen. Gruß, Zoltan Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| |
pushel Mitglied
Beiträge: 5 Registriert: 20.05.2011 Catia V5
|
erstellt am: 23. Mai. 2011 13:24 <-- editieren / zitieren --> Unities abgeben:
|