Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Identifikation von Bodies

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:  Identifikation von Bodies (402 mal gelesen)
CrazyEx
Mitglied
Student

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

Beiträge: 2
Registriert: 03.04.2009

erstellt am: 03. Apr. 2009 16:06    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 schreibe gerade an einem Makro und stecke gerade etwas fest. Über userselection wird dabei der Body ausgewählt, in dem das Marko arbeiten soll.
Set Usel = CATIA.ActiveDocument.Selection
Part = Usel.Item(1).Value.Name
Set SF = ActiveDocument.Part.Bodies.Item(Part)

Wenn jetzt allerdings mehrere Bodies mit dem selben Namen existieren führt dass zu Problemen. Gibt es hier die Möglichkeit eienen Body über ein anderes attribute zu identifizieren, als "name"?
Ich hab leider nix dazu gefunden bzw. weiß nicht wie man zum Beispiel die Item-nummer ausließt.

Wäre super wenn mir jemand helfen könnte.


clemens

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

denyo_1
Moderator
Manager


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

Beiträge: 2506
Registriert: 10.08.2005

HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3

erstellt am: 04. Apr. 2009 14:39    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 CrazyEx 10 Unities + Antwort hilfreich

Hallo Clemens,

ja sicher, du kannst doch direkt über die Selektion gehen und nicht indirekt erst mal den Namen auslesen um sich dann über GetItem bzw. Item durchzuhangeln.

Hier mal ein kurzes Beispiel:

Code:

Sub CATMain()

    Dim oDoc As Document
    Dim Abfrage As String
    Dim otype(0)
   
    otype(0) = "Body"
   
    Set oDoc = CATIA.ActiveDocument
    Set oSel = oDoc.Selection
    oSel.Clear
    Box = MsgBox("Bitte wählen Sie den Body aus", vbInformation + vbOKOnly, "Hinweis")
    Abfrage = oSel.SelectElement2(otype, "Bitte Body auswählen", False)
    If Abfrage = "Normal" Then
        'Hier wird dann der Variable "myBody" der Wert zugewiesen. Mit dem kannst du weiter arbeiten, da das den
        'vom User selektieren Body darstellt
        Set myBody = oSel.Item(1).Value
    End If

End Sub


------------------
MFG Daniel

Die KATJA ist halt doch nur ne zickige Französin

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

CrazyEx
Mitglied
Student

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

Beiträge: 2
Registriert: 03.04.2009

erstellt am: 06. Apr. 2009 11:18    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

Super und Danke für den Beispiel Code. Läuft jetzt sehr viel stabiler.

Das heißt also item(1) ist immer das erste ausgewählte Objekt. Super dann hab ich schonmal ein Problem weniger und das Programm verrennt sich nicht mehr ständig.


es grüßt

Clemens

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

denyo_1
Moderator
Manager


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

Beiträge: 2506
Registriert: 10.08.2005

HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3

erstellt am: 07. Apr. 2009 09: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 CrazyEx 10 Unities + Antwort hilfreich

Hallo Clemens,

so ganz pauschal kann man das nicht sagen. Das "Item(1)" ist immer das Objekt das als erstes in der Selektion steht (in der Regel das das auch als erstes ausgewählt wurde).

Aber wenn du z.B. über eine Selection.Search gehst, weißt du ja nicht welches als erstes von CATIA ausgewählt wurde du kannst nur vermuten, das CATIA von unten nach oben arbeitet aber bei den Franzosen weiß ma ja nie 

Bei einem SelectElement2 gibt es immer nur [1][/b] Item in der Selektion, da die Funktion nur EINE Auswahl zulässt. Es gibt noch ein SelectElement3 (mit CATMultiSelTriggWhenUserValidatesSelection) bei der der Anwender mehrere Teile selektieren kann. Hier stimmt dann deine Aussage. Der zuerst selektierte Objekt steht in der Slektion an Stelle 1.

------------------
MFG Daniel

Die KATJA ist halt doch nur ne zickige Französin

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