Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  SelectElements

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:  SelectElements (2001 mal gelesen)
rattlesnake
Mitglied



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

Beiträge: 47
Registriert: 22.10.2007

Vb .NET CATIA V5R19

erstellt am: 05. Aug. 2008 13:54    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,
wie bekomme ich mit vba etwas ähnliches hin wie Selection.SelectElement2 in CATScript???
Ziel ist es eine UserForm aufzubauen, bei der während der Laufzeit Elemente ausgewählt werden können und z.B. in eine ListBox hinzugefügt werden und anschließend mit denen was passiert.

Hat da jemand Erfahrung mit und kann mir ggf. weiterhelfen?

------------------
                  \\\\|////
                  \\ _ _ //
                   ( o o )
================oOOo-(_)-oOOo==================
    The next time you think you are perfect,
           try walking on water
========================Oooo===================
                  oooO  (  )
                  (  )  ) /
                   \ ( (_/
                    \_)

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

HoBLila
Mitglied
Dipl.-Ing. (BA) praktische Informatik - Senior Entwickler CAx


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

Beiträge: 1118
Registriert: 29.05.2008

DELL PRECISION T3500
Intel(R) Xeon(R) CPU W3540 @ 2.93GHz
12285 MB RAM
NVIDIA Quadro FX 1800
Microsoft Windows 7 Enterprise Service Pack 1
CATIA V5 R19 SP09 HF69
VB6.5
CAA RADE CDC

erstellt am: 05. Aug. 2008 14:27    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 rattlesnake 10 Unities + Antwort hilfreich

ich habe denke ich mal relativ große und auch einige gute Erfahrungen damit und kann dir sagen, dass es in vba genauso funktioniert wie in catvbs und catscript

------------------
Mit freundlichen Grüßen,
Henry Schneider
alias Lila

Es gibt einen ewigen Wettkampf zwischen der Natur und den Ingenieuren:
Die Ingenieure versuchen, immer idioten-sicherere Systeme zu bauen,
die Natur versucht, immer bessere Idioten zu bauen

Xing

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: 05. Aug. 2008 18:30    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 rattlesnake 10 Unities + Antwort hilfreich


Funktion_nicht_verfuegbar.jpg

 
Hallo Henry,

mich würde intressieren wie du ein ...SelectElement2 mit vba erzeugst. Bei mir sagt er immer das diese Funktion oder Schnittstelle nicht zur Verfügung steht. Muss man ev. noch Verweise hinzufügen die ich nicht habe. Schau dir mal meinen Screenshot von der Fehlermeldung an und sag mir bitte bescheid.

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

Die KATJA ist halt doch nur ne zickige Französin

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

rattlesnake
Mitglied



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

Beiträge: 47
Registriert: 22.10.2007

Vb .NET CATIA V5R19

erstellt am: 05. Aug. 2008 18: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

so gehts mir eben auch... mich würde interessieren wie das da funktioniert.
Wenn es geht wäre auch ein beispiel hilfreich. Dürfte ja nicht so schwer sein,
wenn es nicht so viele Unterschiede gibt.

Danke schon einmal

------------------
                  \\\\|////
                  \\ _ _ //
                   ( o o )
================oOOo-(_)-oOOo==================
    The next time you think you are perfect,
           try walking on water
========================Oooo===================
                  oooO  (  )
                  (  )  ) /
                   \ ( (_/
                    \_)

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

Lusilnie
Mitglied



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

Beiträge: 1486
Registriert: 13.07.2005

erstellt am: 05. Aug. 2008 23:03    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 rattlesnake 10 Unities + Antwort hilfreich

Hallo rattlesnake, hallo denyo_1,

wenn Ihr die Definition der Selektion im "catvba" meint, dann ist die Fehlermeldung klar: Ihr dürft die Selektion nicht als "Selection" definieren, sondern als "Object" oder ohne Typ. Dann sollte es funktionieren!

Bei reinem "vba" kenne ich mich allerdings nicht aus...


mfg,
Lusilnie

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

Alle Aussagen zu DassaultSystemes-Produkten sind sehr optimistisch, selbst diese!!!

frei nach größeren Geistern

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: 06. Aug. 2008 06: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 Nur für rattlesnake 10 Unities + Antwort hilfreich

Hallo,

ok das klingt verdammt einleuchtend. Mercy für den Tipp ich werds gleich mal versuchen mit dem Objekt.

PS: Ich meinte CATvba  

EDIT rattlesnake hat recht. Habs gerade getestet. wenn die Selektion als Objekt definiert wird dann steht die SChnittstelle (...selectElemet2) zur Verfügung

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

Die KATJA ist halt doch nur ne zickige Französin

[Diese Nachricht wurde von denyo_1 am 06. Aug. 2008 editiert.]

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

HoBLila
Mitglied
Dipl.-Ing. (BA) praktische Informatik - Senior Entwickler CAx


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

Beiträge: 1118
Registriert: 29.05.2008

DELL PRECISION T3500
Intel(R) Xeon(R) CPU W3540 @ 2.93GHz
12285 MB RAM
NVIDIA Quadro FX 1800
Microsoft Windows 7 Enterprise Service Pack 1
CATIA V5 R19 SP09 HF69
VB6.5
CAA RADE CDC

erstellt am: 06. Aug. 2008 08: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 Nur für rattlesnake 10 Unities + Antwort hilfreich

*g*

Sorry das hatte ich vergessen zu sagen, da ich das an so vielen Stellen schon gepredigt habte... 

Wenn du ein Objekt ByRef an eine API-Methode übergeben möchtest, dann muss das Objekt, welches die Methode beinhaltet als Objekt- oder undefiniert sein. Dies liegt daran, dass VB sonst die Objekttypen nicht richtig auflösen kann.
(Windows läd die eindeutig definierten Objekte zur Laufzeit [bei Programmstart] bereits in den RAM was einen Geschwindigkeitsvorteil bringt, VB kann dann hinterher aber eben nicht mehr ByRef arbeiten, da das nicht eingeplant war ^^)
Also immer wenn du was in Klammern schreibst, wo du eine Rückgabe an die Variablen erwartest dann darfst du das Objekt auch nicht korrekt definieren. 

Beispiel wäre auch
Point.GetCoordinates(dCoords)  <--- Rückgabe erfolgt an die Koordinaten, also muss der Punkt vom Typ Object sein

Beim nächsten mal also sagen, dass du eine Fehlermeldung bekommst und diese posten, dann helfe ich sofort und nicht fragen, ob es möglich ist eien Methode zu verwenden, die du bereits verwendest und die eine nFehler verursacht. 

------------------
Mit freundlichen Grüßen,
Henry Schneider
alias Lila

Es gibt einen ewigen Wettkampf zwischen der Natur und den Ingenieuren:
Die Ingenieure versuchen, immer idioten-sicherere Systeme zu bauen,
die Natur versucht, immer bessere Idioten zu bauen

Xing

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

rattlesnake
Mitglied



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

Beiträge: 47
Registriert: 22.10.2007

Vb .NET CATIA V5R19

erstellt am: 06. Aug. 2008 11: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


test.zip

 
Der Verlauf hat jetzt ne ganz andere Richtung genommen. Mir ist klar, dass ich das als Objekt abspeichern muss.
Aber ich hab allgemein ein Problem aus catvba das SelectElement aufzurufen.

Es wäre immer noch hilfreich wenn ich etwas Beispielcode bekommen könnte, wenns bei euch funktioniert.

Ich hab natürlich mir auch schon mal die Mühe gemacht und ein Beispiel geschrieben.
Es kommt die Fehlermeldung: Object doesn't Support this Propert or Method

Code aus Beispiel:

Code:

    Dim selection
    Set selection = CATIA.ActiveDocument.selection
    Dim selectableElements(1) As String
    selectableElements(0) = "Plane"
    selectableElements(1) = "Face"
    selection.SelectElements2 selectableElements, "test", True

------------------
                  \\\\|////
                  \\ _ _ //
                   ( o o )
================oOOo-(_)-oOOo==================
    The next time you think you are perfect,
           try walking on water
========================Oooo===================
                  oooO  (  )
                  (  )  ) /
                   \ ( (_/
                    \_)

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: 06. Aug. 2008 11: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 Nur für rattlesnake 10 Unities + Antwort hilfreich

Hallo,

der Thraed beschreib doch genau dein Probelm.

Hier nmal dein Code

Code:

    Dim selection
    Set selection = CATIA.ActiveDocument.selection
    Dim selectableElements(1) As String
    selectableElements(0) = "Plane"
    selectableElements(1) = "Face"
    selection.SelectElements2 selectableElements, "test", True

Jetzt der abgeänderte Code mit dem es Funktionieren sollte

Code:

    Dim selection as Object ' muss nicht gemacht werden
    Set selection = CATIA.ActiveDocument.selection
    Dim selectableElements(1) As String
    selectableElements(0) = "Plane"
    selectableElements(1) = "Face"
    Set mySel = selection.SelectElements2 selectableElements, "test", True 'Hier wird dem Objekt mySel die Selektion zugewiesen. Das Objekt kannst du ja dann beliebig abfragen!

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

Die KATJA ist halt doch nur ne zickige Französin

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

rattlesnake
Mitglied



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

Beiträge: 47
Registriert: 22.10.2007

Vb .NET CATIA V5R19

erstellt am: 06. Aug. 2008 11:30    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

du hast dir ja sicherlich mein Beispiel angeschaut.
Ich hab mal dein Vorschlag ausprobiert und er hat natürlich nicht funtkioniert.
Ich hab kein Problem bei der Zuweisung, sondern dass er die Methode SelectElement2 erst gar nicht kennt!

korrigierter Code:

Code:

    Dim selection As Object ' muss nicht gemacht werden
    Set selection = CATIA.ActiveDocument.selection
    Dim selectableElements(1) As String
    selectableElements(0) = "Plane"
    selectableElements(1) = "Face"
    Set mySel = selection.SelectElements2(selectableElements, "test", True) 'Hier wird dem Objekt mySel die Selektion zugewiesen. Das Objekt kannst du ja dann beliebig abfragen!

Nochmal, ich versuche eine catvba-Anwendung mit eigener UserForm zu machen.

------------------
                  \\\\|////
                  \\ _ _ //
                   ( o o )
================oOOo-(_)-oOOo==================
    The next time you think you are perfect,
           try walking on water
========================Oooo===================
                  oooO  (  )
                  (  )  ) /
                   \ ( (_/
                    \_)

[Diese Nachricht wurde von rattlesnake am 06. Aug. 2008 editiert.]

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: 06. Aug. 2008 11:53    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 rattlesnake 10 Unities + Antwort hilfreich

Hy,

wenns nicht so läuft is es noch kein Grund so patzig zu werden. Ich versuche dir hier ja auch nur support zu geben. Das sollte man nicht als selbstverständlich vorraussetzen.

Jetzt zum Thema.

Ich denke in deinem Code ist nur ein Rechtschreibfehler (ich habe ihn dummerweise auch noch mitkopiert.)

Code:
Set mySel = selection.SelectElements2(selectableElements, "test", True)

sollte

Code:
Set mySel = selection.SelectElement2(selectableElements, "test", True)

heißen.
------------------
MFG Daniel

Die KATJA ist halt doch nur ne zickige Französin

[Diese Nachricht wurde von denyo_1 am 06. Aug. 2008 editiert.]

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



Technische/r Zeichner:in / CAD Konstrukteur:in (m/w/d)

meplan, die Agentur für Markenräume und Messebau, hat als Tochter der Messe München sowie mac. brand spaces ihren Sitz auf dem Münchner Messegelände. Wir planen und realisieren Live Touchpoints auf Messen und Veranstaltungen. Physisch wie digital. Das Team besteht aus Expert:innen aller relevanten Disziplinen, von Architektur, Design bis hin zu Projektmanagement und Technik.

Mit weltweit jährlich fast 4....

Anzeige ansehenTechnischer Zeichner, Bauzeichner
rattlesnake
Mitglied



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

Beiträge: 47
Registriert: 22.10.2007

Vb .NET CATIA V5R19

erstellt am: 11. Aug. 2008 16: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

hallo,
wenn es pampig rüber kam, war das nicht meine Absicht.

Es hat jetzt dann doch noch geklappt, nachdem ich noch einige Puntke abgeändert hatte.

hier der Code:

Code:
Private Sub CommandButton1_Click()
    'Dialog ausbleden
    userForm.Hide
   
    ' Auswahl festlegen -----------------------------------------------
    Dim selectableElements(1)
    selectableElements(0) = "Pad"
    selectableElements(1) = "Line"
   
    ' Selektion definieren und leeren ---------------------------------
    Dim userSelection As Object
    Set userSelection = CATIA.ActiveDocument.selection
    userSelection.Clear
   
    ' Selektion vornehmen lassen --------------------------------------
    Dim status As String
    status = userSelection.SelectElement2(selectableElements, "Pad oder Linie wählen.", True)
    If status = "Normal" Then
        Msgbox(userSelection.Item(1).Value.Name)
    Else
        Msgbox(Abbruch)
    End If
   
    ' Selektion freigeben --------------------------------------------
    userSelection.Clear
   
    'Dialog anzeigen
    userForm.Hide
End Sub

10 Punkte

------------------
                  \\\\|////
                  \\ _ _ //
                   ( o o )
================oOOo-(_)-oOOo==================
    The next time you think you are perfect,
           try walking on water
========================Oooo===================
                  oooO  (  )
                  (  )  ) /
                   \ ( (_/
                    \_)

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