Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Schleife für alle Körper und Geöffnete Körper

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
CATIA V5 Grundkurs | Einsteiger - 5 Std. 15 Min
  
KISTERS 3DViewStation optimiert die Lizenzverwaltung für ihre Kunden, eine Pressemitteilung
Autor Thema:  Schleife für alle Körper und Geöffnete Körper (660 mal gelesen)
martin2
Mitglied
Konstrukteur


Sehen Sie sich das Profil von martin2 an!   Senden Sie eine Private Message an martin2  Schreiben Sie einen Gästebucheintrag für martin2

Beiträge: 1013
Registriert: 05.2002.27

erstellt am: 04. Jul. 2023 08:36    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo,
ich habe ein CATPart geöffnet.

Ich kann eine Schleife erzeugen, welche durch die ganzen Körper des CATParts läuft:

For Zaehler = 1 to part1.Bodies.Count
  Code
Next Zaehler


Ich kann eine Schleife erzeugen, welche durch die ganzen Geöffneten Körper des CATParts läuft:

For Zaehler2 = 1 to part1.HybridBodies.Count
  Code
Next Zaehler2


Gibt es eine Möglichkeit anstatt zwei Schleifen nur eine Schleife zu erzeugen welche sowohl die Bodies als auch die HybridBodies in einem Durchgang durchläuft?

Danke!
Martin

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Randle_Flag
Mitglied


Sehen Sie sich das Profil von Randle_Flag an!   Senden Sie eine Private Message an Randle_Flag  Schreiben Sie einen Gästebucheintrag für Randle_Flag

Beiträge: 1
Registriert: 31.03.2003

erstellt am: 04. Jul. 2023 08:52    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für martin2 10 Unities + Antwort hilfreich

Hallo,

mit welchem Ziel?

Selbst wenn das gehen sollte, was macht man denn wenn es 3 Körper und nur 1 geöffneten Körper gibt?

Da es sich hier um zwei unterschiedliche Objekte handelt, wirst du auch zwei Schleifen brauchen.

Gruß
Randle

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

martin2
Mitglied
Konstrukteur


Sehen Sie sich das Profil von martin2 an!   Senden Sie eine Private Message an martin2  Schreiben Sie einen Gästebucheintrag für martin2

Beiträge: 1013
Registriert: 05.2002.27

Windows 11 / 64bit
CATIA V5-6R2020 bis V5-6R2024

erstellt am: 04. Jul. 2023 09:49    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo,

ich habe ein CATPart mit vielen Bodies und Hybridbodies.
Nun möchte ich für jeden Body ein CATPart erstellen und für jeden Hybridbody ebenfalls. Das funktioniert soweit auch.

Jedes neue CATPart wird mit der Zaehlernummer der Schleife abgespeichert.

Problem:
Wenn ich zwei Schleifen verwende, so stimmt die Reihenfolge nicht mehr.

Mit zwei Schleifen kommen zuerst alle Bodys und danach alle HybridBodies. Mit einer Schleife könnte ich die originale Reihenfolge beibehalten. (z.B.: Body, Hybridbody, Body, Hybridbody, Body)

Gruß
Martin

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Randle
Mitglied
CAD/PLM Consultant


Sehen Sie sich das Profil von Randle an!   Senden Sie eine Private Message an Randle  Schreiben Sie einen Gästebucheintrag für Randle

Beiträge: 744
Registriert: 12.04.2003

Win10 x64
CATIA V5 R18, R19, R21, R27-29

erstellt am: 04. Jul. 2023 10:19    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für martin2 10 Unities + Antwort hilfreich

ok.
Dann würde ich mir zwei Collections erstellen (eine für Bodies, eine für HybridBodies). Diese dann jeweils über die zwei Schleifen füllen und dann über eine dritte Schleife beide Collections durchlaufen. Dann solltest du deine gewünschte Reihenfolge beibehalten können.
Aber Fehlerbehandlung nicht vergessen, für den Fall das die Anzahl Bodies/HybridBodies nicht gleich ist.

Gruß Randle

------------------
Planung ersetzt Fehler durch Irrtum!

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

martin2
Mitglied
Konstrukteur


Sehen Sie sich das Profil von martin2 an!   Senden Sie eine Private Message an martin2  Schreiben Sie einen Gästebucheintrag für martin2

Beiträge: 1013
Registriert: 05.2002.27

erstellt am: 04. Jul. 2023 13:20    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo,
ich steh am Schlauch bzw. ich kann Dir nicht folgen.

Eine Collection ist ein Array - korrekt?

Ich habe ein CATPart.
Dieses hat z.B. folgende Baumstruktur:

Körper_1
Geöffneter_Körper_1
Körper_2
Geöffneter_Körper_2
Körper_3

Nun mache ich die Schleife mit den Körpern. Ergebnis: Die erste Collection sieht so aus:

Körper_1
Körper_2
Körper_3

Dann die zweite Schleife mit den geöffneten Körpern. Ergebnis: Die zweite Collection sieht so aus:

Geöffneter_Körper_1
Geöffneter_Körper_2

Nun der Teil den ich nicht verstehe.

Wie funktioniert das mit der dritten Colletion?
Woher weis ich an welcher Position ein Körper oder Geöffneter Körper ursprünglich in der Baumstruktur stand?

Danke vorab!
Martin

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Randle
Mitglied
CAD/PLM Consultant


Sehen Sie sich das Profil von Randle an!   Senden Sie eine Private Message an Randle  Schreiben Sie einen Gästebucheintrag für Randle

Beiträge: 744
Registriert: 12.04.2003

Win10 x64
CATIA V5 R18, R19, R21, R27-29

erstellt am: 04. Jul. 2023 13:32    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für martin2 10 Unities + Antwort hilfreich

Nein eine Collection ist kein Array

Habe dir mal ein entsprechendes (rudimentäres/ungetestetes) Codebeispiel geschrieben.

Code:

Sub CATMain()
Dim BodyCol As New Collection
Dim HBodyCol As New Collection
Dim PartDoc As PartDocument
Dim Prt As Part
Dim Bdy As Body
Dim HBody As HybridBody
Dim i As Integer

Set PartDoc = CATIA.ActiveDocument
Set Prt = PartDoc.Part

For Each Body In Prt.Bodies
    BodyCol.Add Body
Next

For Each HBody In Prt.HybridBodies
    HBodyCol.Add HBody
Next


For i = 1 To BodyCol.Count
    Set Body = BodyCol.Item(i)
    Set HBody = HBodyCol.Item(i)
   
    'Body, HBody verarbeiten, gemeinsamer Zähler = i
Next

End Sub


Um alle Bodies/HybridBodies zu erwischen ist es wichtig das die Anzahl der beiden gleich ist (evtl. Fehlerbehandlung einfügen).

Da ich deinen Modellaufbau nicht kenne, weiß ich jetzt natürlich nicht ob die Abhängigkeiten zwischen Body/Hybridbody mit diesem Codebeispiel richtig abgebildet werden.

Gruß Randle

------------------
Planung ersetzt Fehler durch Irrtum!

[Diese Nachricht wurde von Randle am 04. Jul. 2023 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

martin2
Mitglied
Konstrukteur


Sehen Sie sich das Profil von martin2 an!   Senden Sie eine Private Message an martin2  Schreiben Sie einen Gästebucheintrag für martin2

Beiträge: 1013
Registriert: 05.2002.27

erstellt am: 04. Jul. 2023 14:32    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo,
ich glaube das klappt so nicht.

Wenn die Struktur des CATParts z.B. so wäre:

Körper
Körper
Geöffneter Körper
Körper
Geöffneter Körper
Geöffneter Körper
Geöffneter Körper
Körper
Geöffneter Körper

krieg ich die Reihenfolge wieder nicht hin.

(Die Reihenfolge und Anzahl der Körper / Geöffneten Körper ist stets anders.)

Trotzdem aber Danke für die geleistete Mühe!   

Gruß
Martin

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

bgrittmann
Moderator
Konstrukteur


Sehen Sie sich das Profil von bgrittmann an!   Senden Sie eine Private Message an bgrittmann  Schreiben Sie einen Gästebucheintrag für bgrittmann

Beiträge: 12014
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 04. Jul. 2023 18:33    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für martin2 10 Unities + Antwort hilfreich

Servus Martin

Kleiner Hinweis: die Bodies-Collection enthält alle Körper, auch die in einer Booleschen Operation verwendet werden.

Gruß
Bernd

------------------
Warum einfach, wenn es auch kompliziert geht.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2024 CAD.de | Impressum | Datenschutz