(use-package :OLI) (export 'Anno_speichern1) (setq aktu_Arbeits_Verz "leer") (sd-defdialog 'Anno_auto_speich1 :dialog-title "Zeichnung speichern" :toolbox-button t :variables '( ("Art des Verzeichnisses mit Auftrags-Nr. wählen") (2D_Verz :value-type :grouped-boolean :title "2D-Daten" :size :half ; oder :third :initial-value t :check-function #'(lambda (new-value) (SETQ Pfad_teilen (sd-string-split (sd-get-current-working-directory) "/")) (SETQ Ordner (nth (-(length Pfad_teilen) 1) Pfad_teilen)) (SETQ Auftrag (subseq Ordner (-(length Ordner)6))) (SETQ LAENGE_ERFRAGEN nil) (SETQ LAENGE1 (length Ordner)) (IF (= LAENGE1 19) (SETQ LAENGE_ERFRAGEN t) ) (IF (AND (sd-string-match-pattern-p "[0-9][0-9]-[0-9][0-9][0-9]" Auftrag) LAENGE_ERFRAGEN) :ok ) ) :after-input (setq PFAD nil) ) (Haupt_Verz :value-type :grouped-boolean :title "Hauptverzeichnis" :size :half ; oder :third :initial-value nil :after-input (setq PFAD nil) ) ("Verzeichnis") (PFAD :value-type :directory ;:filename :direction :input :multiple-items nil :title "Auftragspfad" :prompt-text "Wählen Sie den aktuellen Pfad des Auftrags aus" :initial-value (sd-get-current-working-directory) :after-input (progn (SETQ Pfad_teilen (sd-string-split PFAD "/")) (SETQ Ordner (nth (-(length Pfad_teilen) 1) Pfad_teilen)) (SETQ Auftrag (subseq Ordner (-(length Ordner)6))) (cond ((AND (not (sd-string-match-pattern-p "[0-9][0-9]-[0-9][0-9][0-9]" Auftrag)) 2D_Verz) (display "Hieraus ist die Auftragsnummer nicht ableitbar, neues Verzeichnis wählen") (setq PFAD nil) ) ((AND (NOT (sd-string-match-pattern-p "[0-9][0-9]-[0-9][0-9][0-9]" Auftrag)) Haupt_Verz) (display "Hieraus ist die Auftragsnummer nicht ableitbar, neues Verzeichnis wählen") (setq PFAD nil)) ((AND (sd-string-match-pattern-p "[0-9][0-9]-[0-9][0-9][0-9]" Auftrag) 2D_Verz) (display :clear) (display :hide) ) ((AND (sd-string-match-pattern-p "[0-9][0-9]-[0-9][0-9][0-9]" Auftrag) Haupt_Verz) (display :clear) (display :hide) ) ) (sd-set-current-working-directory PFAD) ) ) ;("woher Auftragsnummer") );ende variables :mutual-exclusion '(2D_Verz Haupt_Verz) :cancel-action '() :ok-action '(Anno_speichern1 PFAD 2D_Verz Haupt_Verz) ) (defun Anno_speichern1 (PFAD 2D_Verz Haupt_Verz) (SETQ aktu_Arbeits_Verz PFAD) (SETQ Zeichnungs_Nr (sd-am-inq-drawing-no)) (SETQ Auftrag (sd-string-split PFAD "/")) ;(V: WKZ-AUFTRAEGE-2015 WKZ-AUFTRAEGE-2015 Auftrag-15-018 2d-daten) (IF 2D_Verz (progn (SETQ Ordner_2D (format nil "~A/" aktu_Arbeits_Verz)) (WHEN (= (length (nth (-(length Auftrag) 1) Auftrag)) 19) (SETQ TEMPEN1 (nth (-(length Auftrag) 1) Auftrag)) ) (WHEN (< (length (nth (-(length Auftrag) 1) Auftrag)) 19) (SETQ TEMPEN1 (nth (-(length Auftrag) 2) Auftrag)) ) ); progn ende ); if ende (IF Haupt_Verz (progn ;(SETQ Ordner_2D (format nil "~A/2d-daten/" aktu_Arbeits_Verz)) (SETQ Ordner_2D (format nil "~A/2d-daten/" aktu_Arbeits_Verz)) (SETQ TEMPEN1 (nth (-(length Auftrag) 1) Auftrag)) ;(SETQ Auftrag (sd-string-split PFAD "-")) ); progn ende ); if ende (SETQ Auftrag (SUBSEQ TEMPEN1 (- (length TEMPEN1) 6))) ;(SETQ Auftrag (format nil "~A-~A" (nth (-(length Auftrag) 2) Auftrag) (nth (-(length Auftrag) 1) Auftrag))) (SETQ DATEINAME (format nil "~A~A_~A.mi" Ordner_2D (sd-am-inq-drawing-no) Auftrag)) (frame2::getres(am_store_drawing :filename DATEINAME :overwrite :check_up_to_date 1 )) ) ;(Anno_speichern (sd-get-current-working-directory) t nil) ;2D Daten ;(Anno_speichern (sd-get-current-working-directory) nil t) ;Hauptver