Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Datentyp ermitteln über Selection und AnyObject

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:  Datentyp ermitteln über Selection und AnyObject (631 / mal gelesen)
wadim-u
Mitglied



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

Beiträge: 20
Registriert: 11.01.2021

CATIA V5 R20 SP03 HF03

erstellt am: 22. Jan. 2021 18:58    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

Datentyp ermitteln über Selection und AnyObject

Guten Tag zusammen!

Bin seit vor kurzem dabei die, mir die Makros-Programmierung im Selbststudium beizubringen. Auf der Suche nach einer Datentyp-Übersicht bin ich auf eine etwas ältere (noch vom 15.04.2010) Diskussion gestossen (https://ww3.cad.de/foren/ubb/Forum137/HTML/004001.shtml). Besonders interessant fand ich den abschliessenden Beitrag von DanielFr.:

Zitat:
Original erstellt von DanielFr.:
Hallo,

der String den du an die SelectElement2 Methode übergibst stimmt nicht. Du musst den Datentyp (HybridBodies) als String übergeben und nicht den Standardnamen (Geometrical Set).

Du kannst dir ja ein kleines Hilfskript basteln das dir aus einer Selektion ("AnyObject") den zugehörigen Datentyp (mit der Function TypeName) in einer MsgBox ausgibt


Die Idee fand ich vielversprechend und wollte mir genau so ein Hilfsskript schreiben. Umgesetzt habe ich es folgender Massen:

Sub CATMain()
Dim UsrSel As Object
Dim A As CATBSTR
Dim Typ(0) As CATSafeArrayVariant
Typ(0) = "AnyObject"
Set UsrSel = CATIA.ActiveDocument.Selection
UsrSel.Clear
A = UsrSel.SelectElement2 (Typ, "Bitte das fragliche Element anklicken", false)
MsgBox ("Objekt-Typ ist:" & Chr(13) & Chr(10) & CStr (UsrSel.Item(1).Type) )
UsrSel.Clear
End Sub

Nur funktionieren tut es leider kaum, jedenfalls nicht so, wie ich es will. Denn, was auch immer ich dabei anklicke, es bringt mir die gleiche Meldung: «Objekt-Typ ist: AnyObject»!
Meine bescheidene Frage an der Stelle lautet: was mache ich da falsch und wie kann ich den Fehler beheben?

Für Ihre Ideen danke ich Ihnen im Voraus!

Freundliche Grüsse

Wadim

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: 22. Jan. 2021 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 wadim-u 10 Unities + Antwort hilfreich

Servus Wadim

Type liefert dir wohl hier nur zu welchem Filter das Element gehört (siehe Hinweis dazu in der Doku). Da du nur einer angeben hast wird dieser (AnyObject) ausgegeben.
Probier mal:

Code:
MsgBox ("Objekt-Typ ist:" & Chr(13) & Chr(10) & TypeName(UsrSel.Item(1).Value) )
(per Value auf das selektierte Objekt zugreifen und per TypeName den Typ auslesen)

Gruß
Bernd

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

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

wadim-u
Mitglied



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

Beiträge: 20
Registriert: 11.01.2021

CATIA V5 R20 SP03 HF03

erstellt am: 22. Jan. 2021 20: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

Hallo Bernd!

Besten Dank für deine rasche Rückmeldung!

Leider gibt's da folgende Fehlermeldung: "Das Objekt unterstützt diese Eigenschaft oder Methode nicht"

Wobei, Value sollte doch, wenn ich's richtig verstehe, direkt das Objekt der Auswahl liefern, oder?

Jedenfalls nochmals Besten Dank!

Freundliche Grüsse

Wadim

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: 22. Jan. 2021 20: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 Nur für wadim-u 10 Unities + Antwort hilfreich

Servus Wadim

Bei mir läuft der Code.
Wo kommt der Fehler? Welche Methode wird nicht unterstützt? (ggf mal Zeile zusammensetzen (Zwischenschritte))
Ja Value liefert dir das selektierte Objekt.

Gruß
Bernd

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

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

wadim-u
Mitglied



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

Beiträge: 20
Registriert: 11.01.2021

CATIA V5 R20 SP03 HF03

erstellt am: 22. Jan. 2021 20:28    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


Fehlermeldung_01_2021-01-22.JPG

 
Hallo Bernd,

der Fehler kommt vor, wenn ich ein Geometrieelement anklicke, eben um dessen Typ zu ermitteln. Die Zeile, dei von CATIA dabei moniert wird, siehst du bitte im Anhang.

Gruss

Wadim

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: 22. Jan. 2021 20:41    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 wadim-u 10 Unities + Antwort hilfreich

Servus

Value ist das Objekt (Kante, Pad, ...) und kein Name/String.
Wenn du den Namen des Objekts haben willst: UsrSel.Item(1).Value.Name
Für den Type: TypeName(UsrSel.Item(1).Value)

Gruß
Bernd

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

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



Teamleiter Konstruktion (m/w/d)

Als Teil der Schock-Group sind wir ein junges, innovatives und inspirierendes Team. Wir kümmern uns um den Vertrieb und Handel von werks- und industriegenormten technischen Bauteilen für sämtliche industrielle Anwendungen sowie damit zusammenhängende Dienstleistungen, insbesondere Beratungsdienstleistungen für Kunden aus Industrie und Handel, und betreiben einen eigenen Onlineshop.


Anzeige ansehenTeamleitung, Gruppenleitung
wadim-u
Mitglied



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

Beiträge: 20
Registriert: 11.01.2021

CATIA V5 R20 SP03 HF03

erstellt am: 23. Jan. 2021 13:13    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 Bernd!

Super! Perfekt!
TypeName - das ist es gewesen! Jetzt läuft's!  

Vielen, vielen Dank!

Gruss und ein schönes Wochenende!

Wadim

[Diese Nachricht wurde von wadim-u am 23. Jan. 2021 editiert.]

[Diese Nachricht wurde von wadim-u am 23. Jan. 2021 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