Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Code läuft nicht in CommandButton

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:  Code läuft nicht in CommandButton (1489 / mal gelesen)
moppesle
Ehrenmitglied V.I.P. h.c.
Konstrukteur


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

Beiträge: 3418
Registriert: 28.05.2009

CATIA V5 R19 SP9
WIN 7 64bit

erstellt am: 06. Nov. 2019 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

Hallo Zusammen,

der folgende code läuft problemlos in einem Makro.

Code:
Sub CATMain()

Dim InputObjectType(0)
Dim partDocument1 As Document
Set partDocument1 = CATIA.ActiveDocument
Dim part1 As Part
Dim Selection As Selection
Set Selection = partDocument1.Selection
Dim shapeFactory1 As Factory

ROT = 175
GRUEN = 255
BLAU = 175

If (Selection.count < 1) Then
  MsgBox "      Kein Element selektiert !" + Chr(10) + Chr(10) + "    Selektieren Sie jetzt ein Element und starten das Makro nochmals.    "

    Exit Sub
End If

Dim MyPropSet As VisPropertySet
Set MyPropSet = Selection.VisProperties
MyPropSet.SetRealColor ROT, GRUEN, BLAU, 0
Selection.Clear
End Sub


Wenn ich diesen in einem CommandButton ausführe bekomme ich die Meldung.

"Can´t find projekt or libary"

Bei "ROT = 175"

Hat jemand eine Idee?

------------------
Gruß Uwe

Auch Catia ist nur ein Mensch!    

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: 06. Nov. 2019 21:46    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 moppesle 10 Unities + Antwort hilfreich

Servus Uwe

Dimensioniere mal ROT, GRUEN und BLAU als Long.

Gruß
Bernd

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

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

moppesle
Ehrenmitglied V.I.P. h.c.
Konstrukteur


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

Beiträge: 3418
Registriert: 28.05.2009

CATIA V5 R19 SP9
WIN 7 64bit

erstellt am: 06. Nov. 2019 22:26    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


06-11-201922-25-25.png

 
Hallo Bernd,

danke dir.

Ist aber leider ohne Erfolg.

Code:
Private Sub cmdMakro1_Click()
 
Dim InputObjectType(0)
Dim partDocument1 As Document
Set partDocument1 = CATIA.ActiveDocument
Dim part1 As Part
Dim Selection As Selection
Set Selection = partDocument1.Selection
Dim shapeFactory1 As Factory
Dim ROT As Long
Dim GRUEN As Long
Dim Blau As Long

ROT = 175
GRUEN = 255
Blau = 175

If (Selection.Count < 1) Then
  MsgBox "      Kein Element selektiert !" + Chr(10) + Chr(10) + "    Selektieren Sie jetzt ein Element und starten das Makro nochmals.    "
    Exit Sub
End If

Dim MyPropSet As VisPropertySet
Set MyPropSet = Selection.VisProperties
MyPropSet.SetRealColor ROT, GRUEN, Blau, 0
Selection.Clear
Exit Sub
End Sub


Nun bleibt es schon in der Privat Sub hängen.

Ich weis nicht ob das wichtig ist.
Aber ich möchte eine Farbpalette erstelle und habe mir dazu mehrer Commendbuttons angelegt und mit entsprechenden Codes gefüllt.

------------------
Gruß Uwe

Auch Catia ist nur ein Mensch!    

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

joerneman
Mitglied
Konstrukteur


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

Beiträge: 140
Registriert: 19.07.2009

erstellt am: 07. Nov. 2019 06: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 moppesle 10 Unities + Antwort hilfreich

Hallo Uwe,

ich habe so ein ähnliches Makro.

Mein Hauptteil sieht so aus:

Code:
Sub CATMain()

Dim USel As Selection
Set USel = CATIA.ActiveDocument.Selection

    If USel.Count < 1 Then
        Fehleranzeige.Show
    Else
        Farbgebung.Show
    End If

End Sub


Das Private Sub für z.B Gewinde so:

Code:
Private Sub Gewinde_Click()
Set USel = CATIA.ActiveDocument.Selection

USel.VisProperties.SetRealColor 255, 255, 0, 1
USel.VisProperties.SetRealOpacity 255, 1

Unload Farbgebung
End Sub



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

moppesle
Ehrenmitglied V.I.P. h.c.
Konstrukteur


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

Beiträge: 3418
Registriert: 28.05.2009

CATIA V5 R19 SP9
WIN 7 64bit

erstellt am: 07. Nov. 2019 19: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


07-11-201919-47-00.png

 
Hallo joerneman,

danke für den Tip.

Leider funktioniert das nicht.
Wie/Wo muss ich denn die Variable dimensionieren.
Ich bin Anfänger was den Umgang mit UserForms betrifft.

------------------
Gruß Uwe

Auch Catia ist nur ein Mensch!    

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

Randle
Mitglied
CAD/PLM Consultant


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

Beiträge: 695
Registriert: 12.04.2003

Win10 x64
CATIA V5 R18, R19, R21, R27-29

erstellt am: 07. Nov. 2019 20:49    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 moppesle 10 Unities + Antwort hilfreich

Hallo,

du hast die Variable "Usel" nicht global, sondern nur in der Sub "CATMain" definiert.
Darum kann die Sub "cmdMakro1_Click" nicht darauf zugreifen.

Gruß
Randle

------------------
Wer für nichts steht, fällt für alles!

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

moppesle
Ehrenmitglied V.I.P. h.c.
Konstrukteur


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

Beiträge: 3418
Registriert: 28.05.2009

CATIA V5 R19 SP9
WIN 7 64bit

erstellt am: 07. Nov. 2019 22: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


07-11-201922-38-32.png

 
Hallo Randle,

irgendwie funktioniert das nicht.
Da ist wohl der Wurm drin.

Habe jetzt die Variable als Public deklariert... selbe Situation

------------------
Gruß Uwe

Auch Catia ist nur ein Mensch!    

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: 07. Nov. 2019 22:45    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 moppesle 10 Unities + Antwort hilfreich

Servus Uwe

Pack' mal die Dimensionierung von USel außerhalb der CATMain.
(siehe zB hier)

Gruß
Bernd

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

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

joerneman
Mitglied
Konstrukteur


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

Beiträge: 140
Registriert: 19.07.2009

erstellt am: 08. Nov. 2019 08: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 moppesle 10 Unities + Antwort hilfreich


Farb_Test.catvba.txt

 
Zitat:
Original erstellt von moppesle:
Hallo joerneman,

danke für den Tip.

Leider funktioniert das nicht.
Wie/Wo muss ich denn die Variable dimensionieren.
Ich bin Anfänger was den Umgang mit UserForms betrifft.


Bei mir läuft der Code so.

Heißt dein Fenster mit den Schaltflächen auch "Farbgebung"?
Das es mit Farbgebung.show aufgerufen wird?

Versuch es mal mit der Zeile "Set Usel..." in dem Private Sub,
sprich nicht auskommentieren.

Edit: Habe mal ein Beispiel angehangen.


[Diese Nachricht wurde von joerneman am 08. Nov. 2019 editiert.]

[Diese Nachricht wurde von joerneman am 08. Nov. 2019 editiert.]

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

martin2
Mitglied
Konstrukteur


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

Beiträge: 941
Registriert: 05.2002.27

Windows 11 / 64bit
CATIA V5-6R2018 bis V5-6R2022

erstellt am: 08. Nov. 2019 17:37    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 moppesle 10 Unities + Antwort hilfreich

Hallo,

versuch mal folgendes:
a) Du befindest Dich in der VBA-Umgebung
b) Klicke auf Tools-References
c) Schau nach, ob dort bei den angehakten Referenzen irgendeine (oder auch mehrere) den Namen "Missing xyz" hat.
d) Falls ja - mach den Haken raus und probier's nochmal.

Gruß
Martin

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

moppesle
Ehrenmitglied V.I.P. h.c.
Konstrukteur


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

Beiträge: 3418
Registriert: 28.05.2009

CATIA V5 R19 SP9
WIN 7 64bit

erstellt am: 08. Nov. 2019 20: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

Hallo zusammen,

@Martin. Es waren keine Missing Referenzen vorhanden.
Danke für den Tip

@Joerneman
Dein Code funktioniert bei mir auch.

@Joerneman , @Bernd
Er war bis auf CATMain identisch mit dem von Joerneman.
Die CatMain hatte ich in der Form integriert.

Nun dachte ich schön, lege ein Modul an und kopiere die CATMain hinein und gut iss.

Doch leider funktionierte es immer noch nicht.

Wenn ich nun in Joerneman´s Code die CATMain in die Form eingebaut hatte lief das Makro auch.

Jetzt habe ich kurzerhand ein neues Projekt angelegt und es funktioniert wie es soll.

Danke euch nochmals für die Zeit.

Schönes Wochenende

------------------
Gruß Uwe

Auch Catia ist nur ein Mensch!    

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