| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für PTC CREO |
Autor
|
Thema: Automatisch Daten aufrufen und anders abspeichern (2086 mal gelesen)
|
cathy Mitglied angehende Bachelor of Eng. in Maschinenbau Fachrichtung Konstruktion und Entwicklung
Beiträge: 185 Registriert: 28.07.2005 ME10 8.70 mit TB-ZVS
|
erstellt am: 20. Mrz. 2007 10:27 <-- editieren / zitieren --> Unities abgeben:
Guten Morgen Forum... Wir haben ein Problem... schon immer wurde hier in der firma unterschiedlich abgespeichert... die einen haben comprimiert abgespeichert, die anderen nicht! Kennt ihr ein makro, oder könnt ihr mir einen ansatz für eins geben, was diese comprimierten Datein in einem ordner aufruft, und dann normal abspeichert? Wir müssen die Daten jetzt umwandeln... wir arbeiten ja noch mit 8.7 ! Dazu müssen alle Zeichnungen das gleiche format haben! Wäre nett wenn ihr mir helfen könntet! Lieben Gruß Cathy -----------------
[Diese Nachricht wurde von cathy am 20. Mrz. 2007 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RainerH Mitglied Techn. Ang. (Konstruktion)
Beiträge: 736 Registriert: 22.01.2003 OSDM 14.00A OSDD 14.00A MM 14.00A Windows-XP Professional --- HP xw4100 3.0 GHz 2GB RAM Quadro4 980 XGL
|
erstellt am: 20. Mrz. 2007 10:53 <-- editieren / zitieren --> Unities abgeben: Nur für cathy
|
Hartmuth Mitglied CAD-Support
Beiträge: 1240 Registriert: 07.04.2001
|
erstellt am: 20. Mrz. 2007 21:07 <-- editieren / zitieren --> Unities abgeben: Nur für cathy
Ich habe mal das folgende relativ einfache Makro für diesen Zweck geschrieben. Es ist einigermaßen einfach nachzuvollziehen. Vorher muss über ein Eingabeaufforderungsfenster im Verzeichnis mit den zu übersetzenden Dateien folgender Befehl abgesetzt werden: dir /B >liste.txt Eine Fehlerliste aller nicht verarbeiteter Dateien wird unter "C:\temp\fehlerliste.txt" erzeugt.
Übrigens: Bevor man so ein Makro durchlaufen lässt, sollte unbedingt eine Sicherungskopie des Verzeichnisses angelegt werden. Die enthaltenden Dateien werden alle überschrieben!! DEFINE Mi2mi LOCAL Q LOCAL N LET N 1 OPEN_INFILE 7 'liste.txt' WHILE (N<=3000) LET Q N READ_FILE 7 Q TRAP_ERROR IF (Q='END-OF-FILE') DISPLAY 'Liste ist durchgearbeitet!' CANCEL END_IF LOAD Q IF (CHECK_ERROR) OPEN_OUTFILE 1 APPEND 'C:/temp/fehlerliste.txt' WRITE_FILE 1 Q CLOSE_FILE 1 EDIT_PART TOP DELETE ALL CONFIRM ELSE TRAP_ERROR STORE MI ALL DEL_OLD Q IF (CHECK_ERROR) OPEN_OUTFILE 2 APPEND 'C:/temp/fehlerliste.txt' WRITE_FILE 2 Q CLOSE_FILE 2 END END_IF WAIT 1 EDIT_PART TOP DELETE ALL CONFIRM WAIT 1 END_IF LET N (N+1) END_WHILE CLOSE_FILE 7 END_DEFINE
------------------ Grüße Hartmuth Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
nxfix Mitglied Dipl-Ing.
Beiträge: 11 Registriert: 20.03.2007
|
erstellt am: 21. Mrz. 2007 09:23 <-- editieren / zitieren --> Unities abgeben: Nur für cathy
Das haben wir schon sehr oft für Kunden gemacht. So etwas kann man schön im Batch üner Nacht erledigen. Falls du es alleine schaffst, melde dich! Viel Erfolg
------------------ Viele Grüße Thorsten Grimm EKONS GmbH www.ekons.de
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
highway45 Moderator Bastler mit Diplom
Beiträge: 6331 Registriert: 14.12.2004 ME10
|
erstellt am: 21. Mrz. 2007 10:28 <-- editieren / zitieren --> Unities abgeben: Nur für cathy
|
cathy Mitglied angehende Bachelor of Eng. in Maschinenbau Fachrichtung Konstruktion und Entwicklung
Beiträge: 185 Registriert: 28.07.2005 ME10 8.70 mit TB-ZVS
|
erstellt am: 21. Mrz. 2007 10:31 <-- editieren / zitieren --> Unities abgeben:
Zitat: Original erstellt von highway45: [QUOTE]Original erstellt von nxfix: [b]Falls du es alleine schaffst, melde dich!
Und wenn sie es nicht schafft ? [/B][/QUOTE]
Du sprichst mir aus der Seele... mein Problem ist gerade das dir/B>liste.txt hab nicht ganz verstanden was ich damit machen soll! ------------------ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RainerH Mitglied Techn. Ang. (Konstruktion)
Beiträge: 736 Registriert: 22.01.2003 OSDM 14.00A OSDD 14.00A MM 14.00A Windows-XP Professional --- HP xw4100 3.0 GHz 2GB RAM Quadro4 980 XGL
|
erstellt am: 21. Mrz. 2007 10:33 <-- editieren / zitieren --> Unities abgeben: Nur für cathy
|
RainerH Mitglied Techn. Ang. (Konstruktion)
Beiträge: 736 Registriert: 22.01.2003 OSDM 14.00A OSDD 14.00A MM 14.00A Windows-XP Professional --- HP xw4100 3.0 GHz 2GB RAM Quadro4 980 XGL
|
erstellt am: 21. Mrz. 2007 10:40 <-- editieren / zitieren --> Unities abgeben: Nur für cathy
@cathy Probier doch das CC-Goodie aus, das ich dir geschickt habe. Da brauchst du manuell keine Liste zu erstellen - es werden dabei alle MI-Dateien im aktuellen Verzeichnis im Hintergrund in einer Tabelle erfasst und nacheinander abgearbeitet. Ist wirklich ganz einfach ... Trotzdem solltest du vorsichtshalber die Daten zuvor sichern !
Gruss RainerH. [Diese Nachricht wurde von RainerH am 21. Mrz. 2007 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cathy Mitglied angehende Bachelor of Eng. in Maschinenbau Fachrichtung Konstruktion und Entwicklung
Beiträge: 185 Registriert: 28.07.2005 ME10 8.70 mit TB-ZVS
|
erstellt am: 21. Mrz. 2007 11:32 <-- editieren / zitieren --> Unities abgeben:
Zitat: Original erstellt von RainerH: @cathyProbier doch das CC-Goodie aus, das ich dir geschickt habe. Da brauchst du manuell keine Liste zu erstellen - es werden dabei alle MI-Dateien im aktuellen Verzeichnis im Hintergrund in einer Tabelle erfasst und nacheinander abgearbeitet. Ist wirklich ganz einfach ... [b] Trotzdem solltest du vorsichtshalber die Daten zuvor sichern !
Gruss RainerH. [Diese Nachricht wurde von RainerH am 21. Mrz. 2007 editiert.][/B]
Wie binde ich das den ein? ------------------ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Hartmuth Mitglied CAD-Support
Beiträge: 1240 Registriert: 07.04.2001
|
erstellt am: 21. Mrz. 2007 12:39 <-- editieren / zitieren --> Unities abgeben: Nur für cathy
Zitat: Original erstellt von cathy: Wie binde ich das den ein?
Für das CoCreate-Makro wechselst Du zuerst in das Verzeichnis mit den zu konvertierenden Dateien und lädst das Makro anschließend mit input 'Makro-Dateiname' Mit Update_8 wird es aufgerufen. Zitat: Original erstellt von cathy: Du sprichst mir aus der Seele... mein Problem ist gerade das dir/B>liste.txt hab nicht ganz verstanden was ich damit machen soll!
Damit erzeugt Du eine Textliste aller Dateien im aktuellen Verzeichnis: Start - Programme - Zubehör - Eingabeaufforderung Darin erst den Laufwerksbuchstaben des Verzeichnisses mit den zu konvertierenden Dateien eingeben. Z.B. X: Dann cd Verzeichnisname Dann dir /B >liste.txt erzeugt die Liste mit dem Inhaltsverzeichnis Das Makro muß auch mit "input" geladen werden und kann dann mit mi2mi gestartet werden. Allerdings wie bei allen anderen Fremdmakros auch die Du eventuell verwenden möchtest, solltest Du zumindest so viel Grundkenntnis der ME10-Makrosprache haben, dass Du einigermaßen nachvollziehen kannst was da abläuft und gegebenenfalls z.B. einen Verzeichnisnamen für deine Zwecke anpassen kannst. Ansonsten solltest Du dir besser jemanden zur Hilfe holen. ------------------ Grüße Hartmuth
[Diese Nachricht wurde von Hartmuth am 21. Mrz. 2007 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cathy Mitglied angehende Bachelor of Eng. in Maschinenbau Fachrichtung Konstruktion und Entwicklung
Beiträge: 185 Registriert: 28.07.2005 ME10 8.70 mit TB-ZVS
|
erstellt am: 21. Mrz. 2007 12:43 <-- editieren / zitieren --> Unities abgeben:
Zitat: Original erstellt von Hartmuth: Damit erzeugt Du eine Textliste aller Dateien im aktuellen Verzeichnis:Start - Programme - Zubehör - Eingabeaufforderung Darin erst den Laufwerksbuchstaben des Verzeichnisses mit den zu konvertierenden Dateien eingeben. Z.B. X: Dann cd Verzeichnisname Dann dir /B >liste.txt erzeugt die Liste mit dem Inhaltsverzeichnis Das Makro muß auch mit "input" geladen werden und kann dann mit mi2mi gestartet werden. Allerdings wie bei allen anderen Fremdmakros auch die Du eventuell verwenden möchtest, solltest Du zumindest so viel Grundkenntnis der ME10-Makrosprache haben, dass Du einigermaßen nachvollziehen kannst was da abläuft und gegebenenfalls z.B. einen Verzeichnisnamen für deine Zwecke anpassen kannst.
Deins versteh ich... also ich weiß was das makro ungefähr macht! Das von co create nicht ganz... Ich hatte versucht das co create einfach einmal durchlaufen zu lassen! Aber bekamm ne fehler meldung! Muss ich das "gelaber" rauslöschen? ------------------ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Hartmuth Mitglied CAD-Support
Beiträge: 1240 Registriert: 07.04.2001
|
erstellt am: 21. Mrz. 2007 12:52 <-- editieren / zitieren --> Unities abgeben: Nur für cathy
Normalerweise mußt Du nichts rauslöschen. Aber ich habe es nicht getestet. Wenn Du meins verstehst dann nimm besser das. Nachdem Du übrigens die Liste wie beschrieben erzeugt hast, kannst Du auch per Texteditor alle überflüssigen Einträge herauslöschen. ------------------ Grüße Hartmuth Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
thomas.h Mitglied Konstrukteur Maschinenbau
Beiträge: 222 Registriert: 13.04.2001 ME10 13.20B SWX 2015 SP5.0 WIN 7 64-bit
|
erstellt am: 21. Mrz. 2007 14:01 <-- editieren / zitieren --> Unities abgeben: Nur für cathy
Hallo Ich habe hier auch noch ein kleines Macro, das alle Dateien im aktuellen Verzeichnis lädt und neu als MI-file abspeichert. Durch den "TRAP_ERROR / CHECK_ERROR" werden z.B. Text- und Macrodateien ausgenommen. {*** Dateien laden und neu speichern ***}
CATALOG_LAYOUT '1234567890123456789012345678901234567890123456789012345678901234546789 DEFINE_CATALOG '' '' 1 1 END DEFINE_CATALOG 'Dateiname (maximal 70 Zeichen)' 'FILE_NAME' 1 1 END DEFINE store_mi LOCAL filename CATALOG '' DEL_OLD 'c:/tmp_mi' OPEN_INFILE 1 'c:/tmp_mi EDIT_FILE 'c:/tmp_mi' {nur zum evtl. editieren der Liste} REPEAT READ_FILE 1 filename LET filename (TRIM filename) IF ((filename = '') OR (filename = 'VERZEICHNIS: .') OR (filename = 'Dateiname (maximal 70 Zeichen)') OR (filename = '======================================================================') OR (filename = 'END-OF-FILE')) ELSE EDIT_PART TOP DELETE ALL CONFIRM TRAP_ERROR LOAD filename IF (CHECK_ERROR) ELSE STORE MI ALL DEL_OLD Filename END_IF END_IF UNTIL (Filename = 'END-OF-FILE') CLOSE_FILE 1 END_DEFINE Gruß Thomas
[Diese Nachricht wurde von thomas.h am 21. Mrz. 2007 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
nxfix Mitglied Dipl-Ing.
Beiträge: 11 Registriert: 20.03.2007
|
erstellt am: 21. Mrz. 2007 14:06 <-- editieren / zitieren --> Unities abgeben: Nur für cathy
|
RainerH Mitglied Techn. Ang. (Konstruktion)
Beiträge: 736 Registriert: 22.01.2003 OSDM 14.00A OSDD 14.00A MM 14.00A Windows-XP Professional --- HP xw4100 3.0 GHz 2GB RAM Quadro4 980 XGL
|
erstellt am: 21. Mrz. 2007 14:07 <-- editieren / zitieren --> Unities abgeben: Nur für cathy
Mal eine Frage zu euren Makros: Was geschieht, wenn sich im Verzeichnis denn DXF, DWG oder IGES befinden ? Dann werden diese wahrscheinlich alle als MI ueberspeichert Das sollte man dabei nicht vergessen ... Gruss RainerH. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
thomas.h Mitglied Konstrukteur Maschinenbau
Beiträge: 222 Registriert: 13.04.2001 ME10 13.20B SWX 2015 SP5.0 WIN 7 64-bit
|
erstellt am: 21. Mrz. 2007 14:12 <-- editieren / zitieren --> Unities abgeben: Nur für cathy
Zitat: Original erstellt von RainerH: Mal eine Frage zu euren Makros:Was geschieht, wenn sich im Verzeichnis denn DXF, DWG oder IGES befinden ? Dann werden diese wahrscheinlich alle als MI ueberspeichert Das sollte man dabei nicht vergessen ... Gruss RainerH.
Haben wir nicht. Aber es sollte nicht allzu schwierig sein, eine evtl. Dateiendung zusätzlich abzufragen. Thomas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cathy Mitglied angehende Bachelor of Eng. in Maschinenbau Fachrichtung Konstruktion und Entwicklung
Beiträge: 185 Registriert: 28.07.2005 ME10 8.70 mit TB-ZVS
|
erstellt am: 21. Mrz. 2007 14:39 <-- editieren / zitieren --> Unities abgeben:
Zitat: Original erstellt von RainerH: Mal eine Frage zu euren Makros:Was geschieht, wenn sich im Verzeichnis denn DXF, DWG oder IGES befinden ? Dann werden diese wahrscheinlich alle als MI ueberspeichert Das sollte man dabei nicht vergessen ... Gruss RainerH.
Hallo Rainer H. Hab nun deins eingebunden! Und es funktioniert ein ganz großes Dankeschön! Bei deinem MAKRO wird das Problem was du geschildert hast, also von wegen dass z.B. .dwg überspeichert wird, doch umgangen oder? Soweit ich MAKROS lesen kann jedenfalls Auf jedenfall ganz ganz lieben Dank! Gruß Cathy aber auch Danke an alle anderen U´s sind unterwegs... ------------------ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Hartmuth Mitglied CAD-Support
Beiträge: 1240 Registriert: 07.04.2001
|
erstellt am: 21. Mrz. 2007 20:24 <-- editieren / zitieren --> Unities abgeben: Nur für cathy
Zitat: Original erstellt von RainerH:
Was geschieht, wenn sich im Verzeichnis denn DXF, DWG oder IGES befinden ? Dann werden diese wahrscheinlich alle als MI ueberspeichert
Stimmt! Aber durch eine kleine Modifikation (wie z.B. Anhängen der Endung .mi) werden die Originaldateien nicht überschrieben sondern neue erzeugt. So: STORE MI ALL DEL_OLD (Q + ".mi")
------------------ Grüße Hartmuth Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RainerH Mitglied Techn. Ang. (Konstruktion)
Beiträge: 736 Registriert: 22.01.2003 OSDM 14.00A OSDD 14.00A MM 14.00A Windows-XP Professional --- HP xw4100 3.0 GHz 2GB RAM Quadro4 980 XGL
|
erstellt am: 22. Mrz. 2007 08:31 <-- editieren / zitieren --> Unities abgeben: Nur für cathy
Zitat: Original erstellt von Hartmuth: STORE MI ALL DEL_OLD (Q + ".mi")
@Hartmuth Das wuerde gehen - nur muss man dann auch wieder zuvor abfragen, ob schon eine .mi Endung besteht ansonsten wird eine .mi ploetzlich eine .mi.mi Gehen wurde das so, wen es interessiert: Code:
IF (MATCH (STR Q) '*.mi') STORE MI ALL DEL_OLD Q ELSE STORE MI ALL DEL_OLD (Q + ".mi") END_IF
HTH
Gruss RainerH.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RainerH Mitglied Techn. Ang. (Konstruktion)
Beiträge: 736 Registriert: 22.01.2003 OSDM 14.00A OSDD 14.00A MM 14.00A Windows-XP Professional --- HP xw4100 3.0 GHz 2GB RAM Quadro4 980 XGL
|
erstellt am: 22. Mrz. 2007 08:35 <-- editieren / zitieren --> Unities abgeben: Nur für cathy
Zitat: Original erstellt von cathy: Bei deinem MAKRO wird das Problem was du geschildert hast, also von wegen dass z.B. .dwg überspeichert wird, doch umgangen oder? Soweit ich MAKROS lesen kann jedenfalls
@Cathy Da hast du dan Makro ganz richtig gelesen - DXF DWG und IGS werden dabei nicht angeruehrt P.S. Das Makro stammt nicht von mir, sondern von CC - ich hab es lediglich erweitert. Ui's bitte an CC schicken Trotzdem DANKE Gruss RainerH. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Hartmuth Mitglied CAD-Support
Beiträge: 1240 Registriert: 07.04.2001
|
erstellt am: 22. Mrz. 2007 10:12 <-- editieren / zitieren --> Unities abgeben: Nur für cathy
Zitat: Original erstellt von RainerH: @HartmuthDas wuerde gehen - nur muss man dann auch wieder zuvor abfragen, ob schon eine .mi Endung besteht ansonsten wird eine .mi ploetzlich eine .mi.mi Gehen wurde das so, wen es interessiert: Code:
IF (MATCH (STR Q) '*.mi') STORE MI ALL DEL_OLD Q ELSE STORE MI ALL DEL_OLD (Q + ".mi") END_IF
HTH
Gruss RainerH.
Perfekt ------------------ Grüße Hartmuth Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RainerH Mitglied Techn. Ang. (Konstruktion)
Beiträge: 736 Registriert: 22.01.2003 OSDM 14.00A OSDD 14.00A MM 14.00A Windows-XP Professional --- HP xw4100 3.0 GHz 2GB RAM Quadro4 980 XGL
|
erstellt am: 22. Mrz. 2007 10:15 <-- editieren / zitieren --> Unities abgeben: Nur für cathy
Zitat: Original erstellt von Hartmuth: Perfekt
@Hartmuth Danke fuer die Blumen ! Vollkommen wasserdicht ist es aber nur so: (Sollte jemand .MI gross geschrieben haben) Code:
IF (MATCH (LWC (STR Q)) '*.mi') STORE MI ALL DEL_OLD Q ELSE STORE MI ALL DEL_OLD (Q + ".mi") END_IF
Gruss RainerH.
[Diese Nachricht wurde von RainerH am 22. Mrz. 2007 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |