Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Elemente einer Selection in neue Selektion aufnehmen

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:  Elemente einer Selection in neue Selektion aufnehmen (1456 mal gelesen)
apollo11
Mitglied



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

Beiträge: 47
Registriert: 31.03.2007

erstellt am: 31. Mrz. 2007 11:57    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

Ich möchte gerne eine Selection mit einer Forschleife durchsuchen lassen. Abhänging von einigen Bedingungen sollen die Elemente einer weiteren Selection zugeteilt werden. Ich bekomme beim Kompilieren allerdings immer eine Fehlermeldung.
Hier die kritische Stelle:

Selection2.Add (Selection1.Item2(i))

wobei i die Laufvariable der Schleife ist.

Der Fehler lautet:
Run-time error '438'
Object doesn't support this property or method.

Hat jemand ne Idee?

gruß ap

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

Bobby_Joe2001
Mitglied
Konstrukteur


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

Beiträge: 81
Registriert: 15.01.2006

erstellt am: 31. Mrz. 2007 13:09    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 apollo11 10 Unities + Antwort hilfreich

Hallo,

probier mal:

Code:

Selection2.Add Selection1.Item2(i).value

Kanns hier leider nicht testen.

Viele Grüße und schönes Wochenende!

------------------
Du musst die Leute einmal richtig ärgern, dann wirst du endlich ernst genommen.
Konrad Adenauer

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

apollo11
Mitglied



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

Beiträge: 47
Registriert: 31.03.2007

MacBook Leopard 10.5.6 4GB Ram
VMWARE 3
WinXP Pro SP2
V5R16 SP5

erstellt am: 31. Mrz. 2007 13:45    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

Hmmm habs versucht; es kam folgende Fehlermeldung:

Run-time error '91'
Object variable or With block variable not set

Ich hab Selection1 und Selection2 als Selection deklariert; Was macht Add genau?

gruß ap

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

tomtom1972
Mitglied
dipl ing maschinenbau


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

Beiträge: 605
Registriert: 22.03.2005

NVidia Quadro K4000
Intel Xeon E5-1620, 64GB RAM
Windows10 64bit
R30 <= CATIA V5 > =R19

erstellt am: 31. Mrz. 2007 14:26    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 apollo11 10 Unities + Antwort hilfreich

Hallo,

oSelection.add(oIrgendwas) fügt das Object oIrgendwas zur Selektion hinzu.
Was du vor hast, funktioniert allerdings ganz anders.
Es gibt nämlich nur EINE Selection, die zum aktiven Dokument gehört (die CATIA.ActiveDocument.Selection), nicht zwei oder mehrere.
Du must die Objekte in einem Array zwischenspeichern. Ein Beispiel zur Veranschaulichung. Du musst das Zeug dann noch vorher Filtern (nach deinen Bedingungen)

Sub CATMain()

' deine Elemente sind selektiert
Set oSelection = CATIA.ActiveDocument.Selection

'dynamisches Array (Feld) erzeugen
Dim aArray()
ReDim aArray(0)

'Selection auslesen
For i = 1 to oSelection.Count
   Set aArray(UBound(aArray)) = oSelection.Item(i).Value
   'dynamisches Array immer um ein Feld erweitern
   ReDim Preserve aArray(UBound(aArray)+1)
Next

'Selection leeren
oSelection.Clear

'Array auslesen & der Selection zufügen, sofern Bedingung erfüllt ist
For j = 0 to UBound(aArray) - 1
   If sWasAuch = WasImmerDuWillst Then
      oSelection.Add(aArray(j))
   End if
Next

'Fertig
End Sub

Hoffe es hilft dir, Gruß & ein schönes Wochenende

------------------
tomtom1972

[Diese Nachricht wurde von tomtom1972 am 31. Mrz. 2007 editiert.]

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

apollo11
Mitglied



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

Beiträge: 47
Registriert: 31.03.2007

erstellt am: 31. Mrz. 2007 17:17    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

Toll! Werd ich gleich testen!
Herzlichen Dank und noch ein schönes Wochenende!
gruß ap

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

apollo11
Mitglied



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

Beiträge: 47
Registriert: 31.03.2007

MacBook Leopard 10.5.6 4GB Ram
VMWARE 3
WinXP Pro SP2
V5R16 SP5

erstellt am: 23. Sep. 2008 12:53    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

...Jahre später... *g*
Nochmal danke! Hatte super funktioniert!

Noch ein Nachtrag:
Wenn man nur mit vba arbeitet könnte man die selektierten Elemente auch in eine Collection einfügen.
In catvbs funktioniert dies allerdings nicht und man muss mit den Arrays, wie oben beschrieben, arbeiten.

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