Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Element aus Selektion aktivieren (bearbeiten)

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 aus Selektion aktivieren (bearbeiten) (1477 mal gelesen)
picard
Mitglied



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

Beiträge: 193
Registriert: 04.06.2001

erstellt am: 13. Dez. 2004 15:25    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 Leute,

ich möchte in einem Makro ein Produkt nach Parts durchsuchen lassen und dann in den Parts Veränderungen vornehmen. Leider hängt es im Moment bei der Aktivierung des Parts. Es sollen alle Elemente des Suchergebnisses nacheinander abgearbeitet werden.

Code:

Language="VBSCRIPT"

Sub CATMain()

'variablendeklaration
Dim productDocument1 As Document
Dim selection1 As Selection
Dim partDocument1 As Document
Dim product1 As CATBaseDispatch
Dim reference1 As Reference
Dim publications1 As Publications
Dim publication1 As Publication
Dim MyActiveDocument As Document

'produkt abarbeiten
Set productDocument1 = CATIA.ActiveDocument
Set selection1 = productDocument1.Selection
selection1.Search "CATAsmSearch.Part,in"

'teile abarbeiten
For n = 1 To selection1.Count
CATIA.selection1.Item(n).Activate
Next

End Sub


Wie macht man das richtig? 

Gruß, Picard

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

em Michael Kirsch
Mitglied
Teamleiter KBE Methoden & Tools


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

Beiträge: 222
Registriert: 21.10.2002

CATIA V5 R16
CATIA V5 R18
CATIA V5 R19
NX 5
NX 6
NX 7.5

erstellt am: 14. Dez. 2004 11:42    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 picard 10 Unities + Antwort hilfreich

Hallo picard,

um mit dem Part arbeiten zu können, brauchst Du das Part selbst und nicht die Referenz auf das Part, die die Selektion ausgibt. Die Klasse SelectedElement ist nämlich nicht das ausgewählte Objekt selbst, sondern verweist lediglich darauf. Mit der Methode Value der Klasse SelectedElement gibt das selektierte Element sein Objekt zurück.

Außerdem musst Du genau das Selection-Objekt "selection1" ansprechen, das zuvor mit den gefundenen Objekten gefüllt wurde und nicht "CATIA.selection1".

So sollte es gehen:

Dim MyPart As Part
...

'teile abarbeiten
For n = 1 To selection1.Count
    Set MyPart = selection1.Item(n).Value
    MyPart.Activate
Next

Viele Grüße,

Michael Kirsch

------------------

www.em.ag

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

picard
Mitglied



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

Beiträge: 193
Registriert: 04.06.2001

erstellt am: 14. Dez. 2004 15: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

Danke für die Info... leider komme ich mit den Informationen aber noch nicht zurecht (nur falls es noch nicht aufgefallen ist: ich bin Anfänger  ). Der Quelltext sieht nun folgendermaßen aus:

Code:

Language="VBSCRIPT"

Sub CATMain()

'variablendeklaration
Dim MyRootProduct As Document
Dim MySelectedParts As Selection
Dim MyActivePart As Document

'parts im aktuellen produkt finden
Set MyRootProduct = CATIA.ActiveDocument
Set MySelectedParts = MyRootProduct.Selection
MySelectedParts.Search "CATPrtSearch.PartFeature,all"

For n = 1 To MySelectedParts.Count

set MyActivePart = MySelectedParts.Item(n).Value
MsgBox "Activating " + MyActivePart.Name
MyActivePart.Activate
MsgBox "Part Activated!"

Next

End Sub


Es scheint mir, als wäre der Inhalt von "MyActivePart" doch kein Dokument... ich bekomme jedenfalls die Meldung, dass die Methode "Activate" nicht unterstützt wird (oder so ähnlich).

Gruß, Picard

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