Autor
|
Thema: Überprüfen ob Part / Product vorhanden ist. (3150 mal gelesen)
|
AndreeX00X Mitglied Ingenieur
Beiträge: 48 Registriert: 14.08.2007 CATIA V5 R16
|
erstellt am: 18. Okt. 2007 18:26 <-- editieren / zitieren --> Unities abgeben:
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 ExplicitSub 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
Beiträge: 1486 Registriert: 13.07.2005
|
erstellt am: 18. Okt. 2007 23:32 <-- editieren / zitieren --> Unities abgeben: Nur für AndreeX00X
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
Beiträge: 11780 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 18. Okt. 2007 23:41 <-- editieren / zitieren --> Unities abgeben: Nur für AndreeX00X
Servus Vielleicht geht es so: Code: If CATIA.Document.Count = 0 then MsgBox "KeinDokument geöffnet" Exit Sub End ifDim 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
Beiträge: 48 Registriert: 14.08.2007 CATIA V5 R16
|
erstellt am: 19. Okt. 2007 16:48 <-- editieren / zitieren --> Unities abgeben:
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
Beiträge: 130 Registriert: 12.05.2004 CATIA V5R19 SP3
|
erstellt am: 19. Okt. 2007 17:18 <-- editieren / zitieren --> Unities abgeben: Nur für AndreeX00X
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
Beiträge: 48 Registriert: 14.08.2007 CATIA V5 R16
|
erstellt am: 19. Okt. 2007 19:10 <-- editieren / zitieren --> Unities abgeben:
|
AndreeX00X Mitglied Ingenieur
Beiträge: 48 Registriert: 14.08.2007 CATIA V5 R16
|
erstellt am: 28. Okt. 2007 13:49 <-- editieren / zitieren --> Unities abgeben:
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 |