Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  PTC Creo Elements/Direct Drafting
  Datei drucken mit Übergabe des Dateinamens

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
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Creo
Autor Thema:  Datei drucken mit Übergabe des Dateinamens (2857 / mal gelesen)
me10nutzer
Mitglied



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

Beiträge: 20
Registriert: 10.02.2017

erstellt am: 10. Feb. 2017 08:57    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, dass beim Plot einer .mi-Datei automatisch der Dateiname der .mi-Datei mit übermittelt wird.
Bsp: Druck der Datei test.mi als pdf ergibt den Dateinamen test.pdf

Grund: beim Stapelplot mehrerer Dateien als einzelne pdf-Dateien soll dadurch automatisch der Zeichnungsname als pdf-Name gespeichert werden, und nicht jedesmal neu eingetippt werden. (Der Speicherort ist hier erstmal egal.)

Bisher erscheint beim Drucken (sowohl als pdf-Druck als auch in den Druckerspeicher eines richtigen Druckers) immer derselbe Dateiname "Creo Elements/Direct Drafting".

Wie kann man das realisieren, in welchen Programmdateien muss da was geändert werden?
Verwendetes Programm: Creo Elements/Direct Drafting 18.1

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

Roman
Mitglied



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

Beiträge: 674
Registriert: 16.01.2001

ME10 v20.4.1, Win10
SD v20.4.1, Win10
Windchill 12.02
Creo 8.0.2 in der Einführungsphase

erstellt am: 10. Feb. 2017 09:42    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 me10nutzer 10 Unities + Antwort hilfreich

Hi,
ich denke du müsstest dir ein Makro bauen in dem die Variable
PLOT_DESTINATION auf z.B "test1.pdf" gesetzt wird.

Roman

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

Gerhard Deeg
Ehrenmitglied V.I.P. h.c. i.R.
Konstrukteur aus Leidenschaft



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

Beiträge: 2643
Registriert: 17.12.2000

CREO - OSD - OSM
HP XW4400 - XW4600
Dell Inspiron 17E
NVIDIA QUADRO FX1500
NVIDIA Quadro FX1800
HP Mini 210 2002sg
WIN 7 Ultimate 32/64

erstellt am: 10. Feb. 2017 13:22    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 me10nutzer 10 Unities + Antwort hilfreich

Hallo me10nutzer,

es wäre doch einfacher, wenn Du den Namen der Zeichnung gleich mit in Deinen Schriftkopf reinschreibst, dann ist es egal wann Du die Zeichnung ausplottest.

Gruß Gerhard

p.s. danach natürlich speichern.

------------------
Jeder erfüllte Wunsch ist ein Traum weniger.
Träume sind die Sonnenstunden der Hoffnung.

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

me10nutzer
Mitglied



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

Beiträge: 20
Registriert: 10.02.2017

erstellt am: 13. Feb. 2017 11:57    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

@Roman: Das mit dem Makro hab ich mir schon gedacht. Ich habe davon nur leider sehr wenig Ahnung. Und so wie du das schilderst, klingt das so, dass dann jede Datei "test1.pdf" heißen würde. ich komme gleich nochmal darauf zurück 

@Gerhard: Ich glaube du hast mich falsch verstanden. Ich werde mein Vorhaben nochmal ausführlicher beschreiben.

Bei uns ist ein Stapelplot eingerichtet, den wir nutzen um mehrere Pläne automatisch auszudrucken (inkl. Drehen und Anpassung an das Papierformat). Wenn wir diesen Plot benutzen erscheint dann im Druckerspeicher jede einzelne Datei/Druckauftrag mit dem Namen "Creo Elements/Direct Drafting." Um PDFs zu erstellen müssen wir bisher jede Datei einzeln öffnen, den PDF-Creator auswählen und anschließend den Richtigen Dateinamen angeben, da auch hier wieder als Standardname "Creo Elements/Direct Drafting" erscheint. Meine Idee ist es jetzt, den PDF-Creator als Standarddrucker einzurichten und den Stapelplot zu benutzen um die Dateien automatisch in einem beliebigen Ordner (kann mit PDF Creator eingestellt werden) zu speichern. Das Problem dabei ist aber, dass der Dateiname vom Printjobnamen erzeugt wird und damit wieder "Creo Elements/Direct Drafting" erscheint - für jede Datei. Das ist natürlich nicht zweckmäßig. Der Plan wäre nun dem Me10-Programm zu sagen, dass er für den printjobname den jeweiligen Dateinamen der Zeichnung verwendet. So könnte der PDF Creator diese einfach darunter abspeichern. Eine automatische Namensvergebung ist hier nicht sinnvoll, da unsere Dateinamen teils sehr kryptisch sind (Bsp.: 12BS-SCH-BD-XX-DR-FA-D6003) und nicht immer einfach numerisch aufsteigend vergeben werden und somit wieder eine erneute Umbenennung der Dateien notwendig wäre.

Ich hoffe, ihr versteht worauf ich hinaus will. Ich dachte mir, dass das vielleicht die einfachste Lösung wäre. Aber für andere Lösungen wäre ich auch Dankbar. Gruß und Danke im Vorraus

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

r.hoffmann
Mitglied
Techniker


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

Beiträge: 127
Registriert: 07.12.2006

OSD 13.2 20.4

erstellt am: 13. Feb. 2017 13:13    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 me10nutzer 10 Unities + Antwort hilfreich

Hallo me10nutzer,
im früheren ME10 konnte mit untenstehendem Makro

DEFINE eva_Datei_Name
  INQ_ENV 0
  LET eva_Dateiname_aktuell (INQ 304)
  IF (eva_Dateiname_aktuell = 'Untitled') LET eva_Dateiname_aktuell '' END_IF
  LET eva_Dateiname_pdf (eva_Dateiname_aktuell+'.pdf')
END_DEFINE

der Dateiname incl. Pfad ausgelesen werden.

Wenn Du diesen an Euren Stapelplot jeweils vor dem Drucken/Speichern übergeben kannst, wäre Dein Problem gelöst 
(ich kenne Euren Stapelplot nicht, kann deshalb nicht genaueres sagen).

Gruß
Robert

------------------
Homepage: www.me10-makros.de

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

Patrick Weber
Mitglied
Konstruktionstechniker, Admin


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

Beiträge: 657
Registriert: 20.11.2006

Win7 Pro SP1 64Bit
HP Z230, Core i5, 8GB RAM, nv Quadro K600
Creo Elements/Direct 19.0 M010
ModelManager 19.0 M010
clisp,VB.net,VBA,AHK,php,javascript

erstellt am: 13. Feb. 2017 15:05    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 me10nutzer 10 Unities + Antwort hilfreich

Der Printjob-Name im Druckauftrag ist rein informativ. Es gibt keine Vorgabe oder ähnliches, die aussagt, dass überhaupt ein PrintJob-Name übergeben werden muss, denn Windows braucht ihn nicht, um einen Druckauftrag auszuführen.

Ich kenne keinen Befehl, der im Drafting/ME10 dergleichen einstellen lässt. Drafting besitzt aber einen eigenen PDF-Ausgabedrucker (PLOTTER_TYPE 'PDF_GENERIC'), mit dessen Hilfe man ein Ausgabemakro schreiben könnte.

------------------
Patrick

[Diese Nachricht wurde von Patrick Weber am 13. Feb. 2017 editiert.]

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

r.hoffmann
Mitglied
Techniker


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

Beiträge: 127
Registriert: 07.12.2006

OSD 13.2 20.4

erstellt am: 13. Feb. 2017 19:24    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 me10nutzer 10 Unities + Antwort hilfreich

Hallo me10nutzer,

aus einer Google-Suche:
Nach dem Aufruf von PDF Creator über das Startmenü wählen Sie „Drucker, Einstellungen“.
Den wichtigsten Punkt für die komfortable Benutzung finden Sie unter „Programm, Automatisches Speichern“.
Setzen Sie in diesem Dialog ein Häkchen in das Kästchen ganz oben.
Darunter definieren Sie als Format „PDF“.
Als Dateiname verwenden Sie am einfachsten „<Title>“ – der Name entspricht dann der Ausgangsdatei.
Definieren Sie ferner ein „Verzeichnis für das automatische Speichern“.
Kontrollieren Sie dann noch unter „Programm, Drucken“, dass dort das Kontrollfeld „Drucken nach dem Speichern“ deaktiviert ist.
Nach diesen Einstellungen erzeugen Sie in allen Windows-Anwendungen mit „Datei, Drucken“
und Auswahl von „PDFCreator“ PDF-Dateien. Weitere Nachfragen entfallen.

Also müsste doch statt Euerem Printjobname der Dateiname in obigem <Title> zu finden sein.

Gruß
Robert

------------------
Homepage: www.me10-makros.de

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

ME10-Faultier
Mitglied



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

Beiträge: 25
Registriert: 30.03.2015

Direct Drafting 18.1

erstellt am: 29. Aug. 2017 16:56    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 me10nutzer 10 Unities + Antwort hilfreich

Hallo Me10nutzer!

Falls noch Interesse besteht: ich habe mir für meine Zeichnungen ein Makro geschrieben, welches aus dem Schriftfeld der Zeichnung den Zeichnungsnamen ausliest und daraus und aus dem Zeichnungsrahmen den Druckdateinamen erstellt. Dann wird die Zeichnung im ME10 in ein PDF umgewandelt, welches dann auf der Festplatte automatisch im Zeichnungsverzeichnis gespeichert wird. Und dieses PDF kann man dann ausdrucken. Man könnte die Zeichnung auch automatisch ausdrucken lassen, aber da ich meist nur die PDF per Mail versende, genügt mir das Speichern der PDF ohne dem Ausdrucken.
Beispiel: der Zeichnungsnamen im Schriftfeld ist 17401-EG-1 (die ersten 2 Zeichen sind das Jahr, die nächste Stelle ist der Code für den Zeichner und die letzten 2 Stellen sind die laufende Projektnummer; dann kommt das aktuelle Geschoß und hinten die laufende Nummer der Zeichnung). Diese Zeichnung würde automatisch im Verzeichnis "../2017/17401" als "eg-1-a0" gespeichert, wenn der Rahmen ein A0-Rahmen wäre.
Falls Interesse besteht, kann ich Dir das hier einstellen. Aber da Du schreibst, daß Du nicht so viel mit Makros am Hut hast, spare ich mir vorerst die Arbeit.

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

r.hoffmann
Mitglied
Techniker


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

Beiträge: 127
Registriert: 07.12.2006

OSD 13.2 20.4

erstellt am: 24. Sep. 2017 18:51    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 me10nutzer 10 Unities + Antwort hilfreich

Hallo,
vielleicht ist das Makro aber auch für andere nützlich.
Deswegen würde ich das Makro trotzdem hier einstellen.

Gruß
Robert

------------------
Homepage: www.me10-makros.de

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

ME10-Faultier
Mitglied



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

Beiträge: 25
Registriert: 30.03.2015

Direct Drafting 18.1

erstellt am: 25. Sep. 2017 15: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 me10nutzer 10 Unities + Antwort hilfreich

Eigentlich wollte ich mir die Arbeit des Überarbeitens ersparen (sh mein Nick  ), da ich auf einige andere Makros zurückgreife und die ja dann auch alle gepostet werden müßten oder im Druckmakro die Stellen entsprechend geändert werden müßten.

Aber hier erst einmal das unbearbeitete Druckmakro:

DEFINE Plotdatei_erstellen_und_drucken
{ ============================================================================================================= }
{ - druckt die aktuelle Zeichnung im Format A0 oder A1 aus. (Andere Formate werden nur ab Version 18 gedruckt!) }
{      - verwendet folgende Variable:                                                                          }
{          - uebergabetext  - wird zur Ermittlung der Zeichnungsgröße benutzt                                  }
{ ============================================================================================================= }
  LOCAL laenge_mm_je_punkt
  LOCAL groesser_als_a0
  LOCAL akt_verzeichnis
  IF ( Sys_plot_plotscale = 0 )
      LET uebergabetext ( SUBSTR Sys_plot_format 2 1 )
      IF ( Me10_version >= 18 )
        LET groesser_als_a0 4
      ELSE
        LET groesser_als_a0 1
      END_IF
      IF ( ( VAL uebergabetext ) > groesser_als_a0 )
        LET uebergabetext groesser_als_a0
      END_IF
      LET uebergabetext ((STR uebergabetext)+'#####Die Zeichnung wird gezoomt. Bitte eine Zahl für die Zeichnungsgröße eingeben (0 für A0 ... '+(STR groesser_als_a0)+' für A'+(STR groesser_als_a0)+'):')
      Daten_eingeben 'Zahl'
      IF ( uebergabetext < 4 )
        IF ( Me10_version >= 18 )
            LET rahmengroesse ( 'A' + ( STR uebergabetext ) + '_DIN_frame' )
        ELSE
            IF ( uebergabetext < 2 )
              LET rahmengroesse ( 'A' + ( STR uebergabetext ) + '_DIN_frame' )
            ELSE
              LET rahmengroesse 'falsch'
            END_IF
        END_IF
      ELSE
        LET rahmengroesse 'falsch'
      END_IF
  ELSE
      Zeich_Rahmen_feststellen
      LET Sys_plot_plotscale 1
  END_IF
  IF ( rahmengroesse = 'ohne' )
      DISPLAY 'Bitte erst einen Rahmen einfügen!'
  ELSE_IF ( rahmengroesse = 'falsch' )
      DISPLAY 'Dieses Zeichnungsformat wird nicht unterstützt! Die Zeichnung bitte mit Menü "PLOT" drucken!'
  ELSE
      LET uebergabetext 'Y'
      Set_sys_plot_source ALL
      IF ( rahmengroesse = 'A0_DIN_frame' )
        DISPLAY_NO_WAIT 'Zeichnung wird im Format A0 gedruckt!'
        LET Plot_file_name 'ta0'
        Set_sys_plot_format 'A0'
      ELSE_IF ( rahmengroesse = 'A1_DIN_frame' )
        DISPLAY_NO_WAIT 'Zeichnung wird im Format A1 gedruckt!'
        LET Plot_file_name 'ta1'
        Set_sys_plot_format 'A1'
      ELSE_IF ( ( POS rahmengroesse 'A0_DIN_frame' ) > 0 )
        LET groesser_als_a0 ( SUBSTR rahmengroesse ((POS rahmengroesse 'A0_DIN_frame')+13) ((POS rahmengroesse 'mm') - ((POS rahmengroesse 'A0_DIN_frame')+13)) )
        IF ( ( POS rahmengroesse 'x 891' ) > 0 )
            DISPLAY_NO_WAIT ( 'Zeichnung wird im User-Format ' + groesser_als_a0 + 'mm x 891mm gedruckt!' )
        ELSE
            IF ( groesser_als_a0 = 891 )
              DISPLAY_NO_WAIT ( 'Zeichnung wird im User-Format 1189mm x 891mm gedruckt!' )
            ELSE
              DISPLAY_NO_WAIT ( 'Zeichnung wird im User-Format ' + groesser_als_a0 + 'mm x 841mm gedruckt!' )
            END_IF
        END_IF
        LET groesser_als_a0 ( VAL groesser_als_a0 )
        LET Plot_file_name 'ta0'
        Set_sys_plot_format 'USER'
        Set_sys_plot_offset_x 0
        Set_sys_plot_offset_y 0
        INQ_ENV 6
        LET laenge_mm_je_punkt ( INQ(2) )
        IF ( ( POS rahmengroesse 'x 891' ) > 0 )
            Set_sys_plot_format_width ( groesser_als_a0 * laenge_mm_je_punkt )
            Set_sys_plot_format_height ( 891 * laenge_mm_je_punkt )
        ELSE
            IF ( groesser_als_a0 = 891 )
              Set_sys_plot_format_width ( 1189 * laenge_mm_je_punkt )
              Set_sys_plot_format_height ( 891 * laenge_mm_je_punkt )
            ELSE
              Set_sys_plot_format_width ( groesser_als_a0 * laenge_mm_je_punkt )
              Set_sys_plot_format_height ( 841 * laenge_mm_je_punkt )
            END_IF
        END_IF
        Set_sys_plot_format 'USER'
        PLOT_FORMAT Sys_plot_format_width Sys_plot_format_height
        PLOT_VIEWPORT FORMAT
        Sm_plot_pp_update
      ELSE
        IF ( Me10_version >= 18 )
            IF ( rahmengroesse = 'A2_DIN_frame' )
              DISPLAY_NO_WAIT 'Zeichnung wird im Format A2 gedruckt!'
              LET Plot_file_name 'ta2'
              Set_sys_plot_format 'A2'
            ELSE_IF ( rahmengroesse = 'A3_DIN_frame' )
              DISPLAY_NO_WAIT 'Zeichnung wird im Format A3 gedruckt!'
              LET Plot_file_name 'ta3'
              Set_sys_plot_format 'A3'
            ELSE_IF ( rahmengroesse = 'A4_DIN_frame' )
              DISPLAY_NO_WAIT 'Zeichnung wird im Format A4 gedruckt!'
              LET Plot_file_name 'ta4'
              Set_sys_plot_format 'A4'
            END_IF
        ELSE
            DISPLAY 'Dieses Zeichnungsformat wird nicht unterstützt! Die Zeichnung bitte mit Menü "PLOT" drucken!'
            LET uebergabetext 'N'
        END_IF
      END_IF
      IF ( uebergabetext = 'Y' )
        LET Sys_plot_default ( 'BP1,"' + Plot_file_name + '" ' )
        Sm_plot
        IF ( Me10_version >= 18 )
            INQ_ENV (0)
            LET akt_verzeichnis ( INQ(302) )
            Zeichnung_auto_speichern 'iVerZe'
            Zeichnungsname_erstellen
            Set_sys_plot_filename_generate ( FALSE )
            IF ( Sys_plot_format = 'USER' )
              Set_sys_plot_filename_prefix ( uebergabetext + '-a0' )
            ELSE
              Set_sys_plot_filename_prefix ( uebergabetext + '-' + ( LWC Sys_plot_format ) )
            END_IF
            Select_plot_destination
            Sm_plot_configuration_update
            Set_sys_plot_rot 0
            Plot_define_format_viewport
            Sm_plot_pp_update
            Sm_plot_configuration
            Select_plot_config "'PDF_GENERIC'"
            LET laenge_mm_je_punkt uebergabetext
            Teil_feststellen
            EDIT_PART TOP
            im_aktiven_Teil_nach_Teil_suchen 'Grundriß aus DXF-Datei' 1 'Nummer'
            Teil_herstellen
            IF ( ( POS uebergabetext 'Fehler - ' ) = 0 )
              LET uebergabetext laenge_mm_je_punkt
              Set_sys_plot_as_displayed 0
              IF ( Sys_plot_format = 'USER' )
                  Set_sys_plot_filename_prefix ( uebergabetext + '-a0 mit grd' )
              ELSE
                  Set_sys_plot_filename_prefix ( uebergabetext + '-' + ( LWC Sys_plot_format ) + ' mit grd' )
              END_IF
              Plot_plot
              LET uebergabetext ( Sys_plot_filename_prefix + Plot_file_name )
              Zeichnung_auto_speichern 'DruDaPr'
              Set_sys_plot_as_displayed 1
              LET index_grd 'J'
              Daten_Wechsel 'Grd'
              LET uebergabetext laenge_mm_je_punkt
              IF ( Sys_plot_format = 'USER' )
                  Set_sys_plot_filename_prefix ( uebergabetext + '-a0' )
              ELSE
                  Set_sys_plot_filename_prefix ( uebergabetext + '-' + ( LWC Sys_plot_format ) )
              END_IF
            ELSE
              LET uebergabetext laenge_mm_je_punkt
            END_IF
            Plot_plot
            Sm_plot
            Set_sys_plot_as_displayed 0
            Verzeichnis_wechseln akt_verzeichnis 0
        ELSE
            Plot_transform
            PLOT_DESTINATION DEL_OLD ( Sys_plot_filename_prefix + Plot_file_name )
            Plot_define_format_viewport
            Raster_plot_set
            Plot_start
            DISPLAY_NO_WAIT 'Druck wird gestartet ...'
            RUN GRAPHIC ( 'lp -s -dplotter ' + Sys_plot_filename_prefix + Plot_file_name )
            LET uebergabetext 'Möchten Sie die Plot-Datei der Zeichnung löschen?'
            Daten_eingeben 'Ja_Nein'
            IF ( uebergabetext = 'Y' )
              RUN GRAPHIC ( 'rm ' + Sys_plot_filename_prefix + Plot_file_name + ' &' )
            ELSE
              LET uebergabetext ( Sys_plot_filename_prefix + Plot_file_name )
              Zeichnung_auto_speichern 'DruDaKo'
            END_IF
        END_IF
        LET Sys_plot_plotscale 1
        LET uebergabetext ( Sys_plot_filename_prefix + Plot_file_name )
        Zeichnung_auto_speichern 'DruDaPr'
      END_IF
      Sm_willi_1
  END_IF
  CANCEL
END_DEFINE

- uebergabetext ist bei mir eine global definierte Variable, die mir zum Datenaustausch mit allen Subroutines dient.
- Me10_version ist eine Variable, der beim Starten von ME10 bei uns die installierte Version zugewiesen wird
- Sys_... sind Variablen, an deren Namen man das Menü erkennt und den Wert/Befehl aus diesem Menü: Sys_plot_plotscale wäre also der Befehl Plotscale aus dem Menü Plot und enthält den aktuell eingestellten Zoomfaktor
- rahmengroesse enthält die Rahmengröße
- Zeich_Rahmen_feststellen liest die Rahmengröße (der Rahmen ist bei uns ein Teil, das den entsprechenden Namen trägt) und weist sie der Variablen rahmengroesse zu
- die Funktionen Set_sys_... weisen den entsprechenden Variablen sys_... die dahinter stehenden Werte zu
- Sm_plot_pp_update aktualisiert das Plotmenü
- Sm_plot wechselt in das Menü PLOT
- Zeichnung_auto_speichern - Funktion für die vielfältigsten Dateioperationen
- Zeichnungsname_erstellen - erstellt aus den Variablen für den Zeichnungsnamen und den Index die Bezeichnung zum Abspeichern und überprüft sie auf Zeichen, die in einem Dateinamen nicht enthalten sein dürfen. Die Bezeichnung wird dann uebergabetext zugewiesen.
- Teil_feststellen - stellt fest, in welchem Teil ich mich befinde, und speichert das in der globalen Variablen 'alt_part_n'
- Teil_herstellen - wechelt in das Teil 'alt_part_n'
- im_aktiven_Teil_nach_Teil_suchen 'Grundriß aus DXF-Datei' - Funktion, die im aktuellen Teil nach dem Teil 'Grundriß aus DXF-Datei' (das ist bei mir ein eingescannter Grundriß, der unter meine Zeichnung gelegt ist und in dem alle Linien die Info 'grd' tragen) sucht. Wenn dieses Teil vorhanden ist, dann wird die Zeichnung noch einmal in ein PDF umgewandelt, aber mit dem ausgeblendeten Teil 'Grundriß aus DXF-Datei', da in dieser Zeichnung unsere Schalung besser zu erkennen ist. Mit LET index_grd 'J' wird der Index für das Ausblenden auf "J" (für Ja = eingeblendet) gesetzt und mit Daten_Wechsel 'Grd' auf "N" und gleichzeitig ausgeblendet.
- Verzeichnis_wechseln - Funktion zum Verzeichniswechsel mit Fehlerüberprüfung           

Und da die Funktion des automatischen Speicherns Zeichnung_auto_speichern sicher dann auch interessant ist, kommt die hier noch:

DEFINE Zeichnung_auto_speichern
{ ============================================================================================================= }
{ - speichert die Zeichnung automatisch in das in der Projektnummer angegebene Verzeichnis unter dem als Plan-  }
{  nummer + Index angegebenen Namen. Wenn das Verzeichnis nicht existiert, wird es neu erstellt. ODER          }
{ - wechselt in das bezeichnete Verzeichnis, das im Parameter angegeben wurde ODER                              }
{ - kopiert die Dateien 'parts' und 'Prices' in dem in der Projektnummer angegebenen Verzeichnis unter dem als  }
{  Plannummer + Index + '-t' bzw. '-p' angegebenen Namen. Wenn das Verzeichnis nicht existiert, wird es neu    }
{  erstellt.                                                                                                  }
{      - Aufruf: Zeichnung_auto_speichern ( 'AblPlKo', 'DruDaKo', 'TeiLiKo xxx', 'ZeiSpei', 'iVerMa', 'iVerPr', }
{                                          'iVerWi' oder 'iVerZe' )                                            }
{        darin: 'AblPlKo'    - Angabe, daß die Datei 'Flowchart' kopiert werden soll                            }
{              'DruDaKo'    - Angabe, daß die Plotdatei ins Projektverzeichnis kopiert werden soll            }
{              'DruDaPr'    - Angabe, daß die Plotdatei ins Protokoll eingetragen werden soll                  }
{              'iVerMa'    - Angabe, daß in das Verzeichnis "Macro" gewechselt werden soll                    }
{              'iVerPr'    - Angabe, daß in das Projektverzeichnis gewechselt werden soll                    }
{              'iVerWi'    - Angabe, daß in das Verzeichnis "Willi" gewechselt werden soll                    }
{              'iVerZe'    - Angabe, daß in das Zeichnungsverzeichnis gewechselt werden soll                  }
{              'TeiLiKo'    - Angabe, daß die Dateien 'parts' und 'Prices' kopiert werden sollen. Mit 'xxx'    }
{                              kann man eine Vorgabe für den Dateianhang angeben. Z.B. ' kt' für '(-t/-p)-kt'  }
{              'ZeiSpei'    - Angabe, daß die Zeichnung gespeichert werden soll                                }
{      - verwendet folgende Variablen:                                                                          }
{          - Project_nummer - die Projektnummer, die verwendet wird                                            }
{          - Tekening_nummer- die Plannummer, die verwendet wird                                              }
{          - index_n        - der Zeichnungsindex, der verwendet wird                                          }
{          - alt_part_n    - das Teil, in dem man sich beim Aufruf des Macros befindet                        }
{          - uebergabetext  - enthält beim Macrostart den Namen (incl. Pfad) der Plotdatei, die kopiert werden }
{                              soll und am Ende beim Verzeichniswechsel das Verzeichnis oder eine Fehlermeldung }
{ ============================================================================================================= }
  PARAMETER was_tun
  LOCAL pfad_name
  LOCAL druckdatei_name
  LOCAL zeichnungs_name
  LOCAL zeichnung_speichern
  LOCAL anhang_datei
  LET pfad_name ''
  IF ( ( POS was_tun 'DruDa' ) > 0 )
      LET druckdatei_name uebergabetext
  END_IF
  IF ( ( was_tun = 'iVerMa' ) OR ( was_tun = 'iVerWi' ) OR ( was_tun = 'iVerPr' ) )
      IF ( was_tun = 'iVerMa' )
        LET pfad_name ( SUBSTR pfad_willi_macros 1 ( LEN pfad_willi_macros - 1 ) )
        LET Cur_dir 'Willi_Macros'
      ELSE_IF ( was_tun = 'iVerPr' )
        Projektnummer_aus_Zeichnung 'prnum'
        LET pfad_name uebergabetext
        LET Cur_dir Project_nummer
      ELSE_IF ( was_tun = 'iVerWi' )
        LET pfad_name ( SUBSTR pfad_users_willi 1 ( LEN pfad_users_willi - 1 ) )
        LET Cur_dir 'willi'
      END_IF
  ELSE
      IF ( index_zeich = 'z' )
        Projektnummer_aus_Zeichnung 'zeich'
      ELSE
        Projektnummer_aus_Zeichnung 'prnum'
      END_IF
      LET pfad_name uebergabetext
      IF ( was_tun = 'iVerZe' )
        LET Cur_dir Project_nummer
      END_IF
  END_IF
  IF ( pfad_name <> '' )
      Dateiname_ueberpruefen pfad_name
      LET pfad_name uebergabetext
      IF ( ( was_tun = 'ZeiSpei' ) OR ( was_tun = 'AblPlKo' ) OR ( (POS was_tun 'DruDa') > 0 ) OR ( (POS was_tun 'TeiLiKo') > 0 ) )
        Zeichnungsname_erstellen
        LET zeichnungs_name uebergabetext
        IF ( was_tun = 'ZeiSpei' )
            LET uebergabetext ( 'Soll die Zeichnung unter '+pfad_name+pfad_trenn_z+zeichnungs_name+' gespeichert werden?' )
            Daten_eingeben 'Ja_Nein'
            LET zeichnung_speichern uebergabetext
        ELSE_IF ( was_tun = 'DruDaKo' )
            LET zeichnungs_name ( zeichnungs_name + '-a' + ( SUBSTR druckdatei_name ( LEN druckdatei_name ) 1 ) + '.plt' )
            LET uebergabetext ('Soll die Druckdatei '+druckdatei_name+' unter '+pfad_name+pfad_trenn_z+zeichnungs_name+' gespeichert werden?')
            Daten_eingeben 'Ja_Nein'
            LET zeichnung_speichern uebergabetext
        ELSE_IF ( was_tun = 'DruDaPr' )
            IF ( ( POS druckdatei_name 'mit grd' ) > 0 )
              LET druckdatei_name ( ( SUBSTR druckdatei_name ( LEN druckdatei_name ) 1 ) + ' mit grd' )
            ELSE
              LET druckdatei_name ( SUBSTR druckdatei_name ( LEN druckdatei_name ) 1 )
            END_IF
            LET zeichnungs_name ( zeichnungs_name + '-a' + druckdatei_name + '.plt' )
            Protokolldatei_eintragen ('Datei gedruckt  : '+pfad_name+pfad_trenn_z+zeichnungs_name+' im Format A'+druckdatei_name)
            LET zeichnung_speichern 'N'
        ELSE_IF ( ( was_tun = 'AblPlKo' ) OR ( ( POS was_tun 'TeiLiKo' ) > 0 ) )
            LET anhang_datei ''
            IF ( was_tun = 'AblPlKo' )
              LET uebergabetext ('Soll die Datei "Flowchart" unter '+pfad_name+pfad_trenn_z+zeichnungs_name+'-a gespeichert werden?')
            ELSE
              IF ( ( LEN was_tun ) > 7 )
                  LET anhang_datei ( TRIM ( SUBSTR was_tun 8 ( ( LEN was_tun ) - 7 ) ) )
                  LET uebergabetext ('Sollen die Dateien "parts"/"Prices" unter '+pfad_name+pfad_trenn_z+zeichnungs_name+'(-t-/-p-)'+anhang_datei+'+Anhang gespeichert werden?')
              ELSE
                  LET uebergabetext ('Sollen die Dateien "parts"/"Prices" unter '+pfad_name+pfad_trenn_z+zeichnungs_name+'(-t/-p)+Anhang gespeichert werden?')
              END_IF
            END_IF
            Daten_eingeben 'Ja_Nein'
            LET zeichnung_speichern uebergabetext
            IF ( UPC ( zeichnung_speichern ) = 'Y' )
              IF ( was_tun = 'AblPlKo' )
                  LET uebergabetext ( 11 - ( LEN ( zeichnungs_name ) ) )
                  IF ( uebergabetext > 0 )
                    LET uebergabetext ('Bitte den Anhang für die Datei '+pfad_name+pfad_trenn_z+zeichnungs_name+'-a eingeben (max. '+(STR uebergabetext)+' Zeichen empfohlen):')
                  ELSE
                    LET uebergabetext ('Bitte den Anhang für die Datei '+pfad_name+pfad_trenn_z+zeichnungs_name+'-a eingeben:')
                  END_IF
              ELSE
                  IF ( ( LEN was_tun ) > 7 )
                    LET uebergabetext ( 10 - ( LEN ( zeichnungs_name + anhang_datei ) ) )
                    IF ( uebergabetext > 0 )
                        LET uebergabetext (anhang_datei+'#####Bitte den Anhang für die Dateien '+pfad_name+pfad_trenn_z+zeichnungs_name+'(-t/-p) eingeben (max. '+(STR uebergabetext)+' Zeichen empfohlen):')
                    ELSE
                        LET uebergabetext (anhang_datei+'#####Bitte den Anhang für die Dateien '+pfad_name+pfad_trenn_z+zeichnungs_name+'(-t/-p) eingeben:')
                    END_IF
                  ELSE
                    LET uebergabetext ( 11 - ( LEN ( zeichnungs_name ) ) )
                    IF ( uebergabetext > 0 )
                        LET uebergabetext ('Bitte den Anhang für die Dateien '+pfad_name+pfad_trenn_z+zeichnungs_name+'(-t/-p) eingeben (max. '+(STR uebergabetext)+' Zeichen empfohlen):')
                    ELSE
                        LET uebergabetext ('Bitte den Anhang für die Dateien '+pfad_name+pfad_trenn_z+zeichnungs_name+'(-t/-p) eingeben:')
                    END_IF
                  END_IF
              END_IF
              Daten_eingeben 'Text'
              LET anhang_datei uebergabetext
            END_IF
        END_IF
        IF ( UPC ( zeichnung_speichern ) = 'Y' )
            IF ( was_tun = 'ZeiSpei' )
              Datei_auto_speichern 'd' (SUBSTR pfad_willi_macros 1 (LEN pfad_willi_macros - 1)) (pfad_name+pfad_trenn_z+zeichnungs_name) 'alte_zeich'
              Datei_auto_speichern 's' pfad_name '' zeichnungs_name
            ELSE_IF ( was_tun = 'AblPlKo' )
              IF ( ( LEN anhang_datei ) > 0 )
                  IF ( Me10_version >= 18 )
                    Datei_auto_speichern 'k' pfad_name 'FLOWCHART.TXT' ( zeichnungs_name + '-a-' + anhang_datei )
                  ELSE
                    Datei_auto_speichern 'k' pfad_name 'Flowchart' ( zeichnungs_name + '-a-' + anhang_datei )
                  END_IF
              ELSE
                  IF ( Me10_version >= 18 )
                    Datei_auto_speichern 'k' pfad_name 'FLOWCHART.TXT' ( zeichnungs_name + '-a' )
                  ELSE
                    Datei_auto_speichern 'k' pfad_name 'Flowchart' ( zeichnungs_name + '-a' )
                  END_IF
              END_IF
            ELSE_IF ( was_tun = 'DruDaKo' )
              Datei_auto_speichern 'd' pfad_name druckdatei_name zeichnungs_name
            ELSE_IF ( ( POS was_tun 'TeiLiKo' ) > 0 )
              IF ( ( LEN anhang_datei ) > 0 )
                  Datei_auto_speichern 'k' pfad_name 'parts' ( zeichnungs_name + '-t-' + anhang_datei )
                  IF ( Me10_version >= 18 )
                    Datei_auto_speichern 'k' pfad_name 'PARTLIST.TXT' ( zeichnungs_name + '-p-' + anhang_datei )
                  ELSE
                    Datei_auto_speichern 'k' pfad_name 'Prices' ( zeichnungs_name + '-p-' + anhang_datei )
                  END_IF
              ELSE
                  Datei_auto_speichern 'k' pfad_name 'parts' ( zeichnungs_name + '-t' )
                  IF ( Me10_version >= 18 )
                    Datei_auto_speichern 'k' pfad_name 'PARTLIST.TXT' ( zeichnungs_name + '-p' )
                  ELSE
                    Datei_auto_speichern 'k' pfad_name 'Prices' ( zeichnungs_name + '-p' )
                  END_IF
              END_IF
            END_IF
        END_IF
        Fenster_herstellen
        Sm_willi
        LET uebergabetext ''
      ELSE_IF ( ( was_tun = 'iVerMa' ) OR ( was_tun = 'iVerPr' ) OR ( was_tun = 'iVerWi' ) OR ( was_tun = 'iVerZe' ) )
        TRAP_ERROR
        CURRENT_DIRECTORY pfad_name
        IF ( CHECK_ERROR = 0 )
            LET Act_dir pfad_name
            IF ( Me10_version >= 6 )
              FBROWSER REREAD
            END_IF
            IF ( was_tun = 'iVerZe' )
              Teil_herstellen
              Fenster_herstellen
            ELSE_IF ( ( was_tun = 'iVerMa' ) OR ( was_tun = 'iVerWi' ) )
              Fbt_dtabs_all_on 0
              IF ( was_tun = 'iVerMa' )
                  Tm_file_1
              ELSE
                  LOAD
              END_IF
            END_IF
        ELSE
            DISPLAY ('Das Verzeichnis '+pfad_name+' wurde nicht gefunden. Bitte erstellen sie es zuerst und starten dann neu.')
            LET uebergabetext 'Fehler: unbekanntes Verzeichnis'
        END_IF
      END_IF
  ELSE
      LET uebergabetext 'Fehler: Pfadangabe falsch'
  END_IF
END_DEFINE

Gruß

ME10-Faultier

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

ME10-Faultier
Mitglied



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

Beiträge: 25
Registriert: 30.03.2015

Direct Drafting 18.1

erstellt am: 25. Sep. 2017 15: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 Nur für me10nutzer 10 Unities + Antwort hilfreich

Und da die Funktion Datei_auto_speichern auch sehr oft oben vorkommt, hier noch diese:

DEFINE Datei_auto_speichern
{v============================================================================================================= }
{ - speichert eine Zeichnung oder kopiert eine Datei unter Berücksichtigung auftretender Fehlermeldungen        }
{      - Aufruf: Datei_auto_speichern ( 'd', 'k', 's' oder 'u' ) Pfad Dateiname1 Dateiname2                     }
{        darin: 'd'          - Angabe, daß eine Datei kopiert werden soll (Dateiname1 enthält anderen Pfad)     }
{               'k'          - Angabe, daß eine Datei kopiert werden soll (im selben Verzeichnis)               }
{               's'          - Angabe, daß die Zeichnung gespeichert werden soll                                }
{               'u'          - Angabe, daß eine Datei auf Vorhandensein überprüft werden soll                   }
{               Pfad         - der Pfad, wo sich die Dateien befinden                                           }
{               Dateiname1   - der Name der Datei, die kopiert werden soll                                      }
{               Dateiname2   - der Name der neuen Datei oder Zeichnung, die erstellt werden soll                }
{      - verwendet folgende Variable:                                                                           }
{           - uebergabetext  - wird bei der Abfrage, ein nicht vorhandenes Verzeichnie zu erstellen, benötigt.  }
{                              Gibt bei Auftreten eines Fehlers "Fehler", sonst "kein Fehler" zurück.           }
{           - verwendet die zu überprüfende Datei mit der Dateinummer 1                                         }
{ ============================================================================================================= }
   PARAMETER was_tun
   PARAMETER pfad_name
   PARAMETER datei_name_alt
   PARAMETER datei_name_neu
   LOCAL akt_verzeichnis
   LOCAL pfad_name_1
   INQ_ENV (0)
   LET akt_verzeichnis ( INQ(302) )
   LOOP
      TRAP_ERROR
      IF ( ( UPC was_tun ) = 'D' )
         COPY_FILE datei_name_alt DEL_OLD ( pfad_name + pfad_trenn_z + datei_name_neu )
      ELSE_IF ( ( UPC was_tun ) = 'K' )
         COPY_FILE ( pfad_name + pfad_trenn_z + datei_name_alt ) DEL_OLD ( pfad_name + pfad_trenn_z + datei_name_neu )
      ELSE_IF ( ( UPC was_tun ) = 'S' )
         Protokolldatei_eintragen ( 'Datei gesichert : ' + pfad_name + pfad_trenn_z + datei_name_neu )
         STORE ALL DEL_OLD ( pfad_name + pfad_trenn_z + datei_name_neu )
      ELSE_IF ( ( UPC was_tun ) = 'U' )
         CATALOG pfad_name DETAIL_INFO SELECT 'FILE_NAME' = datei_name_alt DEL_OLD ( pfad_name + pfad_trenn_z + datei_name_neu )
      END_IF
      LET uebergabetext 'kein Fehler'
      EXIT_IF ( CHECK_ERROR = 0 )
      IF ( ( POS ERROR_STR "*** Cannot find '" ) > 0 )
         IF ( UPC ( was_tun ) = 'D' )
            DISPLAY ( ERROR_STR + ' Bitte neu versuchen ...' )
         ELSE
            DISPLAY ( 'Die Datei ' + datei_name_alt + ' ist im Verzeichnis ' + pfad_name + ' nicht vorhanden. Bitte neu versuchen ...' )
         END_IF
         LET uebergabetext 'Fehler'
      ELSE_IF ( ( (POS ERROR_STR "*** Cannot read directory '") > 0 ) OR ( (POS ERROR_STR "*** Cannot open file '") > 0 ) )
         DISPLAY ('Die Datei '+datei_name_alt+' oder das Verzeichnis '+pfad_name+' sind nicht vorhanden. Bitte neu versuchen ...')
         IF ( UPC ( was_tun ) = 'D' )
            LET pfad_name_1 ( SUBSTR ERROR_STR ( POS ERROR_STR pfad_trenn_z ) ( LEN ERROR_STR - ( POS ERROR_STR pfad_trenn_z ) ) )
            Verzeichnis_wechseln pfad_name 0
            IF ( uebergabetext <> 'kein Fehler' )
               LET uebergabetext ( 'Das Verzeichnis ' + pfad_name + ' ist nicht vorhanden. Soll es erstellt werden?' )
               Daten_eingeben 'Ja_Nein'
               IF ( UPC uebergabetext = 'Y' )
                  CREATE_DIRECTORY pfad_name
               END_IF
            END_IF
            LET pfad_name pfad_name_1
         END_IF
         Verzeichnis_wechseln pfad_name 0
         IF ( uebergabetext <> 'kein Fehler' )
            LET uebergabetext ( 'Das Verzeichnis ' + pfad_name + ' ist nicht vorhanden. Soll es erstellt werden?' )
            Daten_eingeben 'Ja_Nein'
            IF ( UPC uebergabetext = 'Y' )
               CREATE_DIRECTORY pfad_name
            END_IF
         END_IF
         LET uebergabetext 'kein Fehler'
         Verzeichnis_wechseln akt_verzeichnis 0
      ELSE_IF ( UPC ( was_tun ) = 'U' )
         LET uebergabetext 'Fehler'
      ELSE
         DISPLAY ( 'Unbekannte Fehlermeldung: ' + ERROR_STR )
         LET uebergabetext 'Fehler'
      END_IF
      EXIT_IF ( uebergabetext = 'Fehler' )
   END_LOOP
   IF ( ( UPC ( was_tun ) = 'U' ) AND ( uebergabetext = 'kein Fehler' ) )
      OPEN_INFILE 1 ( pfad_name + pfad_trenn_z + datei_name_neu )
      READ_FILE 1 uebergabetext
      IF ( uebergabetext = 'END-OF-FILE' )
         LET uebergabetext 'Fehler'
      ELSE
         LET uebergabetext 'kein Fehler'
      END_IF
      CLOSE_FILE 1
      PURGE_FILE ( pfad_name + pfad_trenn_z + datei_name_neu ) CONFIRM
   END_IF
END_DEFINE

Und dazu noch das Überprüfen des Dateinamens:

DEFINE Dateiname_ueberpruefen
{ ============================================================================================================= }
{ - überprüft einen Dateinamen auf verbotene Zeichen ('/', '\', ':', '*', '?', '"', '<', '>', '|'). Ein ':' an  }
{   der 2. Stelle im Wort wird aber ignoriert, weil das als Laufwerkstrennzeichen ( C: ) interpretiert wird.      }
{      - Aufruf: Dateiname_ueberprüfen 'Name'                                                                   }
{        darin: 'Name'       - der Dateiname, der überprüft werden soll                                         }
{      - verwendet folgende Variable:                                                                           }
{           - uebergabetext  - enthält den überprüften und bereinigten Dateinamen                               }
{ ============================================================================================================= }
   PARAMETER datei_name
   IF ( pfad_trenn_z <> '/' )
      Alle_Buchstaben_im_Wort_tauschen datei_name '/' '-'
      LET datei_name uebergabetext
   END_IF
   IF ( pfad_trenn_z <> '\' )
      Alle_Buchstaben_im_Wort_tauschen datei_name '\' ''
      LET datei_name uebergabetext
   END_IF
   IF ( ( POS datei_name ':' ) = 2 )
      Alle_Buchstaben_im_Wort_tauschen datei_name ':' '-'
      Buchstabe_in_Wort_tauschen uebergabetext 2 ':' 't'
      LET datei_name uebergabetext
   ELSE
      Alle_Buchstaben_im_Wort_tauschen datei_name ':' '-'
      LET datei_name uebergabetext
   END_IF
   Alle_Buchstaben_im_Wort_tauschen datei_name '?' ''
   LET datei_name uebergabetext
   Alle_Buchstaben_im_Wort_tauschen datei_name '"' ''
   LET datei_name uebergabetext
   Alle_Buchstaben_im_Wort_tauschen datei_name '<' ''
   LET datei_name uebergabetext
   Alle_Buchstaben_im_Wort_tauschen datei_name '>' ''
   LET datei_name uebergabetext
   Alle_Buchstaben_im_Wort_tauschen datei_name '|' ''
   LET datei_name uebergabetext
END_DEFINE

Und hier noch die Funktion Verzeichnis_wechseln:

DEFINE Verzeichnis_wechseln
{ ============================================================================================================= }
{ - wechselt das Verzeichnis und prüft, ob dabei Fehler auftreten                                               }
{      - Aufruf: Verzeichnis_wechseln 'verz_name' ( 0 oder 1 )                                                  }
{        darin: 'verz_name'  - das Verzeichnis, in welches gewechselt und welches überprüft werden soll         }
{               0 oder 1     - Angabe, ob die Fehlermeldung angezeigt (1) werden soll oder nicht (0)            }
{      - verwendet folgende Variable:                                                                           }
{           - uebergabetext  - gibt die auftretende Fehlermeldung bzw. 'kein Fehler' zurück.                    }
{ ============================================================================================================= }
   PARAMETER verz_name
   PARAMETER anz_fehler
   TRAP_ERROR
{  RUN GRAPHIC ( 'cd ' + verz_name )                                                           }
{     DISPLAY ( 'Beim Verzeichnis ' + verz_name + ' trat folgender Fehler auf: ' + ERROR_STR ) }
   CURRENT_DIRECTORY verz_name
   IF ( CHECK_ERROR = 0 )
      LET uebergabetext 'kein Fehler'
   ELSE_IF ( ( POS ERROR_STR "*** Cannot find '" ) > 0 )
      LET uebergabetext ( 'Das Verzeichnis ' + verz_name + ' kann nicht gefunden werden.' )
   ELSE_IF ( ( POS ERROR_STR "*** Cannot read directory '") > 0 )
      LET uebergabetext ( 'Das Verzeichnis ' + verz_name + ' kann nicht gelesen werden.' )
   ELSE_IF ( ( POS ERROR_STR "*** Cannot open file '") > 0 )
      LET uebergabetext ( 'Das Verzeichnis ' + verz_name + ' kann nicht geöffnet werden.' )
   ELSE
      LET uebergabetext ( 'Beim Verzeichnis ' + verz_name + ' trat folgender Fehler auf: ' + ERROR_STR )
   END_IF
   IF ( anz_fehler = 1 )
      DISPLAY uebergabetext
   END_IF
END_DEFINE

Gruß

ME10-Faultier

[Diese Nachricht wurde von ME10-Faultier am 25. Sep. 2017 editiert.]

[Diese Nachricht wurde von ME10-Faultier am 26. Sep. 2017 editiert.]

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

me10nutzer
Mitglied



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

Beiträge: 20
Registriert: 10.02.2017

erstellt am: 26. Sep. 2017 07: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

Super, danke erstmal an alle 

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

ME10-Faultier
Mitglied



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

Beiträge: 25
Registriert: 30.03.2015

Direct Drafting 18.1

erstellt am: 02. Okt. 2017 09: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 Nur für me10nutzer 10 Unities + Antwort hilfreich

Weil die Buchstaben-Funktionen auch mehrmals vorkommen, hier noch diese:

DEFINE Alle_Buchstaben_im_Wort_tauschen
{ ============================================================================================================= }
{ - tauscht in einem Text alle Buchstaben eines Typs gegen einen anderen aus                                    }
{      - Aufruf: Alle_Buchstaben_im_Wort_tauschen 'Text', 'alter B', 'neuer B'                                  }
{        darin: 'Text'      - der Text, in dem der Buchstabe getauscht werden soll                            }
{              'alter B'    - der alte Buchstabe, der durch den neuen ersetzt werden soll                      }
{              'neuer B'    - der neue Buchstabe, der an Stelle des alten eingefügt werden soll                }
{      - verwendet folgende Variable:                                                                          }
{          - uebergabetext  - enthält den bearbeiteten Text                                                    }
{ ============================================================================================================= }
  PARAMETER welcher_text
  PARAMETER alter_b
  PARAMETER neuer_b
  LOCAL i
  LOCAL x_len
  LOCAL x_pos
  LET x_len ( LEN alter_b )
  LET x_pos ( POS welcher_text alter_b )
  IF ( x_pos > 0 )
      WHILE ( x_pos > 0 )
        Buchstabe_in_Wort_tauschen welcher_text x_pos neuer_b 't'
        LET welcher_text uebergabetext
        IF ( x_len > 1 )
            LET i 1
            WHILE ( i < x_len )
              Buchstabe_in_Wort_tauschen welcher_text ( x_pos + ( x_len - i ) ) '' 't'
              LET welcher_text uebergabetext
              LET i ( i + 1 )
            END_WHILE
        END_IF
        LET x_pos ( POS welcher_text alter_b )
      END_WHILE
  ELSE
      LET uebergabetext welcher_text
  END_IF
END_DEFINE

DEFINE Buchstabe_in_Wort_tauschen
{v============================================================================================================= }
{ - tauscht in einem Text einen Buchstaben aus                                                                  }
{      - Aufruf: Buchstabe_in_Wort_tauschen 'Text' 100 Buchstabe ('t' oder 'e')                                }
{        darin: 'Text'      - der Text, in dem der Buchstabe getauscht werden soll                            }
{              100          - die Position im Text, an der der Buchstabe getauscht werden soll                }
{              Buchstabe    - der neue Buchstabe, der in den Text eingefügt werden soll                        }
{              't' oder 'e' - Angabe, ob der neue Buchstabe in den Text eingefügt ('e') oder der Buchstabe an  }
{                              dieser Stelle ersetzt ('t') werden soll. Soll der Buchstabe gelöscht werden, so  }
{                              muß 't' und als Buchstabe ein Leerstring ('') angegeben werden.                  }
{      - verwendet folgende Variable:                                                                          }
{          - uebergabetext  - enthält den bearbeiteten Text                                                    }
{ ============================================================================================================= }
  PARAMETER welcher_text
  PARAMETER welcher_buchst
  PARAMETER neuer_buchst
  PARAMETER was_tun
  IF ( welcher_buchst > 1 )
      LET uebergabetext ( SUBSTR welcher_text 1 ( welcher_buchst - 1 ) + neuer_buchst )
  ELSE
      LET uebergabetext neuer_buchst
  END_IF
  IF ( welcher_buchst < LEN welcher_text )
      IF ( ( UPC was_tun ) = 'E' )
        LET uebergabetext ( uebergabetext + ( SUBSTR welcher_text welcher_buchst (1 + LEN welcher_text - welcher_buchst) ) )
      ELSE_IF ( ( UPC was_tun ) = 'T' )
        LET uebergabetext ( uebergabetext + ( SUBSTR welcher_text (welcher_buchst + 1) (LEN welcher_text - welcher_buchst) ) )
      END_IF
  END_IF
END_DEFINE

Falls noch was unklar ist oder andere Funktionen gebraucht werden, meldet Euch einfach.

Gruß

ME10-Faultier

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

r.hoffmann
Mitglied
Techniker


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

Beiträge: 127
Registriert: 07.12.2006

OSD 13.2 20.4

erstellt am: 07. Okt. 2017 21:43    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 me10nutzer 10 Unities + Antwort hilfreich

Hallo me10nutzer,

ich hatte ja in einem vorigen Posting geschrieben,
wie der PDF-Creator automatisiert werden kann.
Hier noch einmal ein Vorschlag, wie der Dateiname aus der aktuellen Zeichnung
in den ME10-Variablen gesetzt wird.

DEFINE eva_plot_aktuell
  LOCAL P
  LOCAL Z
  LOCAL C
  LOCAL D
  LOCAL eva_dateiname_aktuell
  LOCAL eva_dateiname_aktuell_ohne
  LOCAL eva_dateiname_pdf
  INQ_ENV 0
  LET eva_dateiname_aktuell (INQ 304)
  IF (eva_dateiname_aktuell = 'Untitled') LET eva_dateiname_aktuell '' END_IF
  LET P (POS eva_dateiname_aktuell '\')
  WHILE (P>0)
    LET eva_dateiname_aktuell (SUBSTR eva_dateiname_aktuell (P+1) (LEN eva_dateiname_aktuell))
    LET P (POS eva_dateiname_aktuell '\')
  END_WHILE
  LET eva_dateiname_aktuell_ohne eva_dateiname_aktuell
  LET Z (LEN eva_dateiname_aktuell_ohne)
  WHILE (Z>0)
    LET C (SUBSTR eva_dateiname_aktuell_ohne Z 1)
    IF (C <> '.')
      LET eva_dateiname_aktuell_ohne (SUBSTR eva_dateiname_aktuell_ohne 1 (Z-1))
    ELSE
      LET eva_dateiname_aktuell_ohne (SUBSTR eva_dateiname_aktuell_ohne 1 (Z-1))
      LET Z 0
    END_IF
  END_WHILE
{###
eventuell den Pfad voraussetzen (PFAD + eva_dateiname_aktuell_ohne + '.pdf'),
bei automatisiertem PDFCreator nicht nötig,
da hier ein Verzeichnis voreingestellt ist
###}
  LET eva_dateiname_pdf (eva_dateiname_aktuell_ohne + '.pdf')
{### ME10 vorbereiten ###}
  print_mgr_option_off
  request_print_setup off
  Set_sys_plot_filename_delold (TRUE)
  LET Sys_plot_filename_generate 0
  LET Sys_plot_filename_prefix (eva_datei_name_pdf)
{### hier euere weiteren Anpassungen (drehen, Format usw.) und den PDF-Plot-Aufruf hin ###}
  print_mgr_option_on
  request_print_setup on
END_DEFINE

Gruß
Robert

------------------
Homepage: www.me10-makros.de

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

me10nutzer
Mitglied



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

Beiträge: 20
Registriert: 10.02.2017

erstellt am: 09. Okt. 2017 08:42    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

Danke erstmal an alle    ich werde es testen.

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

NOBAG
Mitglied
Supportmanager


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

Beiträge: 610
Registriert: 13.06.2007

Win 10 Pro x64 Intel Xeon 3.6 Ghz 64GB RAM
NVIDIA Quadro P2000
CoCreate Modeling 20.3 mit Power Extensions
SolidPower 20.3
ModelManager 20.3

erstellt am: 11. Okt. 2017 18: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 me10nutzer 10 Unities + Antwort hilfreich

Wow, ich versuche es zu testen.
Danke erstmal...   

------------------
Gruss vom Thunersee, Joy
-- Wer Rechtschreibfehler findet, darf sie behalten. --

[Diese Nachricht wurde von NOBAG am 11. Okt. 2017 editiert.]

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