Autor
|
Thema: Manipulationen erkennen (451 mal gelesen)
|
Smerg Mitglied Student
Beiträge: 43 Registriert: 20.03.2008
|
erstellt am: 01. Jun. 2008 11:36 <-- editieren / zitieren --> Unities abgeben:
Halli Hallo, ich steh vor folgendem Problem: Ich muss beim Start meines Marcos erkennen, ob an dem Product, also an den Parts usw irgendetwas verändert wurden ist. Wie kann ich das bewerkstelligen? Ich weiß nur, wie man prüfen kann, ob es überhaupt schon gespeichert ist. Danke euch im voraus ------------------ ODI PROFANUM VULGUS Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
denyo_1 Moderator Manager
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: 01. Jun. 2008 18:41 <-- editieren / zitieren --> Unities abgeben: Nur für Smerg
Hallo, kannst du "irgendwas verändert worden" ev. ein wenig genauer spezifizieren. Ab die Geometrie die Parts geändert wurde (Fit, Form, Funktion Änderung). Wenn du das abfragen willst, wird es bestimmt schwer. Wie soll das Makro erkennen was vor dem Abspeichern und wieder Öffnen das Parts alles geändert wurde? Ich denke das eizige was geht ist den Speicherstatus abzufragen. Aber dann muss der USER erst ändern und anschließend das Makro laufen lassen... ------------------ MFG Daniel Die KATJA ist halt doch nur ne zickige Französin Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Smerg Mitglied Student
Beiträge: 43 Registriert: 20.03.2008
|
erstellt am: 01. Jun. 2008 21:31 <-- editieren / zitieren --> Unities abgeben:
Also "irgendwas verändert worden" kann echt alles sein. Hab schon mal geschaut, ob man irgendwie was vom "Save Management" was abfragen kann. Da gibts ja schlßlich den Status, wo man sieht, ob was verändert wurde. Im Prinzip muss ich für mein Macro gewährleisten, dass alles gespeichert ist. Kann aber leider nicht mit Save und co einfach sagen, dass alles gespeichert wird. Da einige Bestandteile des Products z.B. aus einem anderem Projekt einfach eingefügt/importiert werden... usw. ------------------ ODI PROFANUM VULGUS Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
M.Seidler Mitglied Dipl. Ing.
Beiträge: 600 Registriert: 08.01.2007 ABAQUS CAE 6.7-1 Ansys 12.1 Hyper Works 12
|
erstellt am: 01. Jun. 2008 22:14 <-- editieren / zitieren --> Unities abgeben: Nur für Smerg
Hallo Smerg, bin zwar kein Programmierer, aber mir drängt sich hier die Frage auf, warum nutzt Du nicht einfach das "Save Management"? Im schlimmsten Fall passiert halt nicht oder die ungesicherten Daten werden gespeichert. Oder falls das Problem ist, dass "Save Management" per Macro anzusprechen, kannst Du einen anderen Trick versuchen. Der "send to..." Befehl ist nur ausführbar, wenn das Modell gespeichert ist. Ergo... Ist der Befehl ausführbar ist das Modell gespeichert, wenn nicht halt nicht. Dann muss der Anwender Speichern. ******************************************* Omne tulit punctum, qui miscuit utile dulci
------------------ *********************** Gruß Der Markus Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
denyo_1 Moderator Manager
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: 02. Jun. 2008 07:31 <-- editieren / zitieren --> Unities abgeben: Nur für Smerg
Hallo Smerg, in den CATIA.Documents gibt es eine Methode namens "Saved" (Typ: Boolean) mit der du das abfragen kannst. Das ist zwar nicht ganz der Status des "Save Managments" aber für deine Zwecke reicht die Methode vollkommen. Hier wird abgefragt ob das aktuelle Part/Produkt in der aktuellen Session gespeichert wurde oder nicht. Sprich du machst dir eine Schleife und lässt alle CATIA.Documents durch die Schleife durch. Falls die Methode ein "falsch" liefert brichst du das Makro mit "Exit Sub" ab und gibst den USER eine Message Box aus. Unten steht ein Code-Beispiel von der Schleife. Code:
Sub Test()For i = 1 To CATIA.Documents.Count Set oDoc = CATIA.Documents.Item(i) If oDoc.Saved = "Falsch" Then ErrorCode = 1 End If Next If ErrorCode <> 0 Then Box = MsgBox("Es wurden " & ErrorCode & " Dokumente identifiziert die nicht gespeichert wurden" + , vbCritical, "Hinweis") Exit Sub End If End Sub
------------------ MFG Daniel Die KATJA ist halt doch nur ne zickige Französin Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|