Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Überprüfen ob Part / Product vorhanden ist.

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:  Überprüfen ob Part / Product vorhanden ist. (3150 mal gelesen)
AndreeX00X
Mitglied
Ingenieur


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

Beiträge: 48
Registriert: 14.08.2007

CATIA V5 R16

erstellt am: 18. Okt. 2007 18: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

Hallo,

ich möchte gerne meine Makros über die Schnellstartleiste mit Icons starten. Dazu habe ich mir eine Symbolleiste "MeineMakros" erzeugt, über die ich dann meine Makros aufrufen kann. Nun ist es aber so, dass nicht jedes Makro in jeder Umgebung funktioniert. In dem folgenden Code habe ich mir gedacht, dass ich den Fehler der Auftritt über "On Error Resume Next" oder einer "If-Else-Bedingung" ausmerzen kann, jedoch ohne Erfolg.

Code:

Option Explicit

Sub CATMain()

    Dim productDocument1 As Document
    Set productDocument1 = CATIA.ActiveDocument

    Dim Product1 As Product
'    Set Product1 = productDocument1.Product

'--------------------------------------------------------------------------
On Error Resume Next
    Set Product1 = productDocument1.Product

If Err = 0 Then
    'Parameter existiert
    MsgBox "Fehler"
    On Error GoTo 0
    Exit Sub
Else
    On Error GoTo 0
'--------------------------------------------------------------------------

'  If CATIA.ActiveDocument = True Then

    EigParaErzeugen Product1

    userParameter.Show 0

  End If

End Sub

Sub EigParaErzeugen(Product1)
   
'    Dim productDocument1 As Document
'    Set productDocument1 = CATIA.ActiveDocument

'    Dim Product1 As Product
'    Set Product1 = productDocument1.Product

    Dim parameters1 As Parameters
    Set parameters1 = Product1.UserRefProperties

    Dim strParam1 As StrParam

    ...


Dieses Makro ist übrigens in VBA geschrieben. Mir gehts jetzt darum, was im "CATMain"-Teil steht. Dieses Makro kann nur im Part- und im Assambly-Design (mehr habe ich nocht nicht ausprobiert) gestartet werden. Ich möchte aber, dass wenn kein Part oder Product geöffnet ist, dass z.B. eine MsgBox erscheint, die drauf hinweist, dass das Makro nicht ausführbar ist.

Hat von euch vielleicht jemand eine Idee?


------------------
Gruß AndreeX00X

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: 18. Okt. 2007 23:32    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 AndreeX00X 10 Unities + Antwort hilfreich

Hallo AndreeX00X,

aus meiner Sicht musst Du die Fehler-Abfrage schon um

Code:
Set productDocument1 = CATIA.ActiveDocument
herum bauen. Tritt kein Fehler auf, ist zumindest ein Dokument geöffnet. Dann fragst Du mittels "TypeName(productDocument1)" ab, ob es ein Part(-Dokument) oder Product(-Dokument) ist. Wenn nicht, dann kommt Dein Info-Text...

[Edit]
Alternativ könntest Du auch den aktuellen Workbench abfragen. Je nach Workbench ist ein nur ein bestimmter Dokumenttyp das aktive Dokument...
[/Edit]


mfg,
Lusilnie


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

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

frei nach größeren Geistern

[Diese Nachricht wurde von Lusilnie am 18. Okt. 2007 editiert.]

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: 18. Okt. 2007 23: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 AndreeX00X 10 Unities + Antwort hilfreich

Servus

Vielleicht geht es so:

Code:
If CATIA.Document.Count = 0 then
MsgBox "KeinDokument geöffnet"
Exit Sub
End if

Dim oDocument As Document
Set oDocument = CATIA.ActiveDocument

If TypeName(oDocument) = "DrawingDocument" Then
  ...
ElseIf TypeName(oDocument) = "PartDocument" Then
  ...
ElseIf TypeName(oDocument) = "ProductDocument" Then
  ...
Else
  MsgBox "Falsche Dokumentart geöffnet"
End if



(nicht getestet)

Gruß
Bernd

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

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

AndreeX00X
Mitglied
Ingenieur


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

Beiträge: 48
Registriert: 14.08.2007

CATIA V5 R16

erstellt am: 19. Okt. 2007 16: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

Vielen Dank an euch beide für die schnelle Antwort.

Ich habe noch ein "s" an "Document" ranhängen müssen, also

Code:
If CATIA.Documents.Count = 0 then
...

dann hat es so funktioniert.

Ich habe mal noch eine andere Frage. Wenn ein neues Makro erzeugt wird, dann kann es ja über Anpassen -> Symbolleisten -> Befehle hinzufügen in eine neue Symbolleiste eingefügt werden. Kann ich auch das Makro aus der Liste "Befehle hinzufügen" wieder entfernen?

Denn die gelöschten Makros sind auch noch in der Liste vorhanden.

------------------
Gruß AndreeX00X

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

BigCheese
Mitglied
Dipl-Ing


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

Beiträge: 130
Registriert: 12.05.2004

CATIA V5R19 SP3

erstellt am: 19. Okt. 2007 17: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 AndreeX00X 10 Unities + Antwort hilfreich

Hi AndreeX00X,

diese Makros kannst Du über 2 Möglichkeiten wieder aus Deiner Toolbar entfernen.

1. In Customize->Toolbars kannst Du Deine Makro-Toolbar auswählen und dann über den "RemoveCommands"-Button den entsprechenden Befehl entfernen.
2. Du gehst in Customize auf Commands und ziehst einfach das Icon von Deiner Toolbar per Drag&Drop in das Commands-Fenster.

edit:
wer lesen kann ist klar im Vorteil... Du möchtest die Befehle ja aus der Liste raus haben und nicht aus der Symbolleiste...
Das geht meiner Meinung nach nur durch das Löschen von Settings, was dann aber wohl zur Folge hat, dass Du Deine Toolbar neu erstellen musst...

Grüße, Alex

[Diese Nachricht wurde von BigCheese am 19. Okt. 2007 editiert.]

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

AndreeX00X
Mitglied
Ingenieur


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

Beiträge: 48
Registriert: 14.08.2007

CATIA V5 R16

erstellt am: 19. Okt. 2007 19:10    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

Hm, das ist ja nicht so schön.

Ich werde es mal ausprobieren. Kann dann ja mal berichten.

Falls noch jemand eine Idee hat, wäre ich dankbar.

------------------
Gruß AndreeX00X

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

AndreeX00X
Mitglied
Ingenieur


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

Beiträge: 48
Registriert: 14.08.2007

CATIA V5 R16

erstellt am: 28. Okt. 2007 13: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

Hallo BigCheese und alle anderen, die das interessiert,

ich habe letzte Woche mal nachgeschaut wie die selbst erstellten Makros aus der Liste unter "Tools / Anpassen... / Symbolleisten / Befehle hinzufügen" wieder entfernt werden können.

Dazu muss unter

    "C:\Dokumente und Einstellungen\<<Name>>\Anwendungsdaten\DassaultSystemes\CATSettings\"

die Datei

    "FrameConfig.CATSettings"

gelöscht werden.

"Anwendungsdaten" ist ein versteckter Ordner.

------------------
Gruß AndreeX00X

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