Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  For each Schleife

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
Autor Thema:  For each Schleife (869 mal gelesen)
Chrisma
Mitglied
Ingenieur


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

Beiträge: 85
Registriert: 29.03.2010

erstellt am: 27. Mai. 2010 11:14    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

Servus alle zusammen,

sitze immernoch an dem Intersectsproblem. Ich möchte Intersects auf ihre Existenz überprüfen und abschalten sollte diese nicht vorhanden sein. Die ganze Zeit habe ich direkt auf die Selektion zugegegriffen und mir manuell die einzelnen Selektionen durch einen Zähler (For i=1 to sel.count)durchgeschaltet. Da wurden die Intersects nicht erkannt.
Nun versuche ich es mit einer For each Schleife, da die zahl der Intersections sich ändern kann. Dabei ist Laufv meine Variable. Lass ich das Makro laufen, ist in Laufv (Laufvariable) aber gar nichts drin, warum? Kann ich Laufv as Hypridshapeintersection deklarieren?

Danke euch für die Hilfe


Code:
'---- hier findet die Selektion statt


'----Aktivieren der Intersects und Überprüfung auf Fehler
Set intPartObj = CATIA.ActiveDocument.Part
Dim Laufv As HybridShapeIntersection

For Each Laufv In sel

  If intPartObj.IsInactive(Laufv) Then
    intPartObj.Activate Laufv
    intPartObj.UpdateObject Laufv
   
    If Err.Number <> 0 Then
        intPartObj.Inactivate Laufv
        intPartObj.UpdateObject Laufv
    End If
   
    Else
   
    intPartObj.Inactivate Laufv
    intPartObj.UpdateObject Laufv
    intPartObj.Activate Laufv
    intPartObj.UpdateObject Laufv
   
    If Err.Number <> 0 Then
        intPartObj.Inactivate Laufv
        intPartObj.UpdateObject Laufv
    End If
    On Error GoTo 0
  End If
Next Laufv


------------------
Hihihi, lol, hihihi 

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

MICHLICK
Mitglied
CAD Methodik Entwickler (CATIA; NX)


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

Beiträge: 454
Registriert: 20.06.2001

Der Aufwand bei Änderungen ist groß, wenn die Finger schneller klicken als das Gehirn denkt.

erstellt am: 27. Mai. 2010 15:04    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 Chrisma 10 Unities + Antwort hilfreich

Ohne das jetzt getestet zu haben.
Ich denke das wird so nicht funktionieren. Die Laufv müßte meiner Meinung nach vom Typ SelectedItem (oder so ähnlich sein). Ich denke Du bekommst da ein Problem mit den Objekttypen.

------------------
Gruß Michael B.

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

Chrisma
Mitglied
Ingenieur


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

Beiträge: 85
Registriert: 29.03.2010

erstellt am: 27. Mai. 2010 15:48    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

Ne leider nicht. Value immernoch "nothing". Weder SelectionSets, noch SelectedElement, noch Selection bringt was.

------------------
Hihihi, lol, hihihi 

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

Chrisma
Mitglied
Ingenieur


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

Beiträge: 85
Registriert: 29.03.2010

Solid Works 2013 Professional
Win7 SP1
Intel Xeon 2,67GHz
12GB Ram

erstellt am: 27. Mai. 2010 16:03    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

Hab da eben eine Aussage von Rick Schulz gefunden. klingt für mich nachvollziehbar. Aber ich hab keine Ahnung, wie ich nun überprüfe, was für ein Typ es ist und wie ich das dann übergeben soll.

 

Zitat:
http://ww3.cad.de/foren/ubb/Forum110/HTML/000651.shtml

Hallo,
bei For Each durchläufst du jedes Element deines Containers ab. Das bedeutet, dass du jedes Element unter *.Control übergibst. Daher sind auch nur Variablen mit dem Typ Variant oder ohne zugewiesenen Typ in einer For each Next Anweisung erlaubt. In dieser musst du dann prüfen, was für ein Element es ist und im richtigen Fall übergeben. Du hast warscheinlich glück, da die ersten angesprochen die sind, die du auch ansprechen möchtest. Mehr dazu findest du aber auch in der MSDN.
HTH

------------------
MFG
Rick Schulz


Funktioniert bei mir aber auch nicht. Weder als Variant noch als Object. In der Laufv befindet sich nichts.

------------------
Hihihi, lol, hihihi  

[Diese Nachricht wurde von Chrisma am 27. Mai. 2010 editiert.]

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

HoBLila
Mitglied
Dipl.-Ing. (BA) praktische Informatik - Senior Entwickler CAx


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

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: 31. Mai. 2010 10:02    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 Chrisma 10 Unities + Antwort hilfreich

Warum nicht eine For-Schleife?
Count2 bekommste und dann alle Item2's durchgehen.
For Each müssteste wahrscheinlich auf SelectedElements oder so durchführen. Die Selection an Sich ist ja kein Array.

------------------
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

[Diese Nachricht wurde von HoBLila am 31. Mai. 2010 editiert.]

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)2023 CAD.de | Impressum | Datenschutz