Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Element einer Slection über Namen finden

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:  Element einer Slection über Namen finden (1508 mal gelesen)
ThomasJay
Mitglied
Dipl-Ing


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

Beiträge: 159
Registriert: 19.04.2011

CATIA V5 R19

erstellt am: 14. Jul. 2011 16: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 Zusammen,

Ich kenne von einem Object nur den Namen. Jetzt würde ich gerne dieses Object ansprechen. Dazu selektiere ich ein Geometrisches Set und durchsuche es nach allen Elementen. Würde ich die Position des Elements kennen funktioniert:

Code:
Set Spline1 = Selection.Item(5)

da ich aber leider nur den Namen weiß habe ich es hiermit versucht:

Code:
Set Spline1 = Selection.Item("Name")

Hier bekomme ich immer die Fehlermeldung: "Type missmatch"

Weiß jemand einen Rat?

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: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 14. Jul. 2011 18: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 ThomasJay 10 Unities + Antwort hilfreich

Servus
Du kannst auch innerhalb einer Selektion suchen zB:
selection.Search "Name=NAME,sel"
Set Spline1 = Selection.Item(1).value

Oder deine Selektion mit einer Schleife durchsuchen zB
for i = 0 to Selection.Count
    if Selecton.item(i).name = "NAME" then
        Set Spline1 = Selection.Item(1).value

        exit for
    end if
next[/i]

Gruß
Bernd

PS: Alle Code-Schnippsel sind ungetestet

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

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

ThomasJay
Mitglied
Dipl-Ing


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

Beiträge: 159
Registriert: 19.04.2011

CATIA V5 R19

erstellt am: 14. Jul. 2011 18:55    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

Vielen Dank für die schnelle Antwort.

Das Problem bei der ersten Methode ist, dass diese Operation bereits in einer Schleife ist und der Name sich ändert, d.h. ich möchte ihn über eine Variable angeben und nach der kann ich nicht suchen. Zumindest habe ich noch nicht herausgefunden wie. Wenn ich die Variable angebe wird sie für einen String gehalten und dementsprechend nicht gefunden.

Methode 2 klingt sehr einleuchtend. Ich habe nur eine große Selekionsmenge und muss das ganze mehrmals durchführen --> lange Rechenzeit.

Falls jemand noch eine Methode weiß wäre ich sehr dankbar.

Woran liegt es eigentlich, dass ich eine Selection nicht nach einem Namen durchsuchen kann? Wenn ich beispielsweise ein Element aus einem GeoSet ansprechen möchte ist das doch kein Problem...

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: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 14. Jul. 2011 19:12    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 ThomasJay 10 Unities + Antwort hilfreich

Servus
Was hast du (in deiner Schleife) selektiert?
Wenn es das GeoSet ist kannst du ja wieder über den Elementennamen auf deinen Spline zugreifen (GeoSet einer Variabel zuweisen und über GeoSet.Item(Name))

Gruß
Bernd

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

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

ThomasJay
Mitglied
Dipl-Ing


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

Beiträge: 159
Registriert: 19.04.2011

CATIA V5 R19

erstellt am: 14. Jul. 2011 20:43    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

Geht leider nicht. Die Splines sind in verschiedenen GeoSets drin, die wiederum in einem übergeordnetem Set zusammengefasst sind. Da ich nicht weiß in welchem sich der gewünschte Spline befindet muss ich das übergeordnete Set durchsuchen.

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: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 14. Jul. 2011 23:00    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 ThomasJay 10 Unities + Antwort hilfreich

Servus
Du könntest vielleicht durch einen geeigneten Filter schon zuvor die Menge der selektierten Elemente einschränkten, dass du dir eine For-Next-Schleife erlaube kannst.

Gruß
Bernd

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

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

ThomasJay
Mitglied
Dipl-Ing


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

Beiträge: 159
Registriert: 19.04.2011

CATIA V5 R19

erstellt am: 15. Jul. 2011 14:29    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

Dann sind es immer noch 150 Elemente.

Wie kann man denn die Funktion "GetItem" verwenden. Ich habe in der Doku davon gelesen, aber egal wie ich sie anwende, sie funktioniert nicht...

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: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 15. Jul. 2011 14:59    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 ThomasJay 10 Unities + Antwort hilfreich

Servus
Zu deiner Aussage das du einen Suchstring nicht mit einer Variable belegen willt:
Code:
Dim Filter As String
Filter = "Block*"
selection1.Search "Name=" & Filter & ",sel"

GetItem ist AFIAR mit Vorsicht zu genießen. Was ist wenn mehrere Element so heißen? Was ist wenn es das Objekt nicht gibt wird ein Fehler ausgegeben?)?

Gruß
Bernd

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

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

ThomasJay
Mitglied
Dipl-Ing


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

Beiträge: 159
Registriert: 19.04.2011

CATIA V5 R19

erstellt am: 15. Jul. 2011 17:40    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

Vielen Dank, so funktionierts!

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