Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Instance Names aus Selection auslesen

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:  Instance Names aus Selection auslesen (2064 mal gelesen)
WolfgangKrenz
Mitglied



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

Beiträge: 11
Registriert: 23.05.2005

CATIA V512B12 SPK6 HF16
CATIA V514B14 SPK5 HF1
Windows Script Host 5.6 (kein Visual Basic)
-
Pentium 4 3.60 GHz
3,12 GB RAM
WinXP SP1

erstellt am: 06. Jun. 2005 11:02    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 Welt!

Ich versuche z.Z. aus einer Selection in der ich nur Products, Components und Parts habe an deren Instance Names zu kommen.
Leider funktioniert das bisher nicht.
Mein Code:

Code:

Set Sel = CATIA.ActiveDocument.Selection
pCount = Sel.Count
For i = 1 to pCount
Set IValue = Sel.Item(i).Value
'[... hier fehlts ...]
IName = IValue.Name
MsgBox IName
Next

Und da komme ich nicht weiter, denn bei IValue.Name erhalte ich immer "dieses Objekt unterstützt diese Eigenschaft oder Methode  nicht".
Was ja auch verständlich ist, da .Value ja ein Objekt vom Typ CATBaseDispatch zurückliefert, .Name aber erst von Objekten mindestens vom Typ AnyObject unterstützt wird.

Weis jemand wie ich doch noch an die Instance Names herankomme?

Gruss Wolfgang

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

3.1415926535
Mitglied



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

Beiträge: 59
Registriert: 20.02.2004

erstellt am: 06. Jun. 2005 11:48    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 WolfgangKrenz 10 Unities + Antwort hilfreich

Hi,


versuchs mal so:
For i = 1 To mySelection.Count
  vTemp = mySelection.Item(i).Value.Name
  vArray(i - 1) = vTemp
Next
           
dann stehen alle namen in einem Array.

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

WolfgangKrenz
Mitglied



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

Beiträge: 11
Registriert: 23.05.2005

CATIA V512B12 SPK6 HF16
CATIA V514B14 SPK5 HF1
Windows Script Host 5.6 (kein Visual Basic)
-
Pentium 4 3.60 GHz
3,12 GB RAM
WinXP SP1

erstellt am: 06. Jun. 2005 14:15    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 3.1415926535,

Das hatte ich mir auch so gedacht. Aber das geht aus denselben Gründen wie vorher nicht. Du hast hier den Code nur ein wenig gekürzt in dem Du

Code:
Set IValue = mySelection.Item(i).Value
vArray(i-1) = IValue

durch
Code:
vArray(i-1) = mySelection.Item(i).Value.Name

ersetzt hast.

Das grundlegende Problem, nämlich das das von .Value zurückgegebene Objekt keine Methode/Funktion/Property .Name besitzt, bleibt bestehen.

Gruss Wolfgang

[Diese Nachricht wurde von WolfgangKrenz am 06. Jun. 2005 editiert.]

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

3.1415926535
Mitglied



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

Beiträge: 59
Registriert: 20.02.2004

erstellt am: 06. Jun. 2005 14: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 WolfgangKrenz 10 Unities + Antwort hilfreich

Also bei mir funktioniert das einwandfrei, habe ich aus einem bestehenden funktionierenden Makro rauskopiert. Damit kann ich beliebig viele Namen in ein Array schreiben.

vorher muss noch:
Redim vArray(mySelection.Count)
rein, das habe ich vergessen.

Der Befehl funktioniert mit VBA, aber es müsste auch mit CATScript funktionieren...

Gruß,
Pi

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

WolfgangKrenz
Mitglied



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

Beiträge: 11
Registriert: 23.05.2005

CATIA V512B12 SPK6 HF16
CATIA V514B14 SPK5 HF1
Windows Script Host 5.6 (kein Visual Basic)
-
Pentium 4 3.60 GHz
3,12 GB RAM
WinXP SP1

erstellt am: 10. Jun. 2005 10:47    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 Pi,

Ich habe das Programm jetzt in meiner R14 getestet und da klappt es einwandfrei. Das Problem ist, das es auch in R12 laufen muss...
und da tritt das beschriebene Problem auf.

Kennt jemand eine Möglichkeit, das unter R12 zu realisieren?

Gruß,
Wolfgang

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

MaxZ
Mitglied
Computer Aided Designer


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

Beiträge: 125
Registriert: 24.05.2005

erstellt am: 10. Jun. 2005 10: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 Nur für WolfgangKrenz 10 Unities + Antwort hilfreich

hallo wolfgang

ist dein "sel" als selection oder als object definiert?

versuchs mal mit

Dim sel As Object

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

WolfgangKrenz
Mitglied



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

Beiträge: 11
Registriert: 23.05.2005

CATIA V512B12 SPK6 HF16
CATIA V514B14 SPK5 HF1
Windows Script Host 5.6 (kein Visual Basic)
-
Pentium 4 3.60 GHz
3,12 GB RAM
WinXP SP1

erstellt am: 13. Jun. 2005 16:16    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 MaxZ

ich schreibe meine Makros in VBScript, da wird überhaupt nicht getypt. Zumindest wüsste ich nicht wie, da er beim ersten "As" einen Fehler wirft.

Und selbst wenn ich in CATScript schreiben würde, ginge es nicht. Auszug aus der V5Automation.chm:

"Since V5R7 Dassault Systemes products based on the V5 Platform don't use anymore the Basic Script scripting engine on Unix platforms. The CATScript language has been kept for compatibility and is processed by a vbscript scripting engine after removal of the typing informations."

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



Vermessungsingenieur*in als Projektleitung (m/w/d)

Für unsere Abteilung GN-G "Geodaten und Sanierungsmanagement" suchen wir zum nächstmöglichen Zeitpunkt unbefristet in Vollzeit- Teilzeit ist unter bestimmten Umständen möglich - einen

Vermessungsingenieur*in als Projektleitung (m/w/d)

- Vermessung und technische Dokumentation -

Wir bieten:

  • Bezahlung nach dem Tarifvertrag ...
Anzeige ansehenProjektmanagement
Rwohlgethan
Mitglied
Student

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

Beiträge: 4
Registriert: 20.07.2007

erstellt am: 19. Dez. 2007 11:35    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 WolfgangKrenz 10 Unities + Antwort hilfreich

Genau mit dem selbigen Problem befasse ich mich derzeit auch,     V5 R16.

auch der Sturkturbaum meiner Selection weist eine undurchschaubare Sturktur auf......

Edith sagt :     
Dim lala
Set lala = Liste.Item(i).Value
Dim lulu
lulu = lala.Name


Bei mir hats gepklappt.
------------------
Sie denken es gibt keine Vollkommenheit?
Ich bin ein: Vollkommener Anfänger :smile:

[Diese Nachricht wurde von Rwohlgethan am 19. Dez. 2007 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