;;----------------------------------------------------------------------------- ;; for CoCreate OneSpace Designer Annotation ;; Description: ;; saves a single view (also flat view) to different file formats ;; ;;----------------------------------------------------------------------------- ;; Filename : save_ansicht.lsp ;; Version : 1.0 ;; Datum : ???? ;; Author : unkown ;; Download : osd.cad.de ;; ;; translated: german/english by der_Wolfgang@forum@Cad.de 19.10.2007 ;; added: more file formats by der_Wolfgang@forum@Cad.de 22.10.2007 ;; added: multiple-items + Select Sketches by Wolfgang Seel 27.11.2017 ;;----------------------------------------------------------------------------- (in-package :examples) (use-package :oli) (sd-defdialog 'am-ansicht-speichern :dialog-title '(sd-multi-lang-string "Save 2D View" :german "2D Ansicht speichern") :toolbox-button t ;; nil / if no reference in a menu already exist :initial-variable 'ansicht :variables '( ("Ansichten + Sketche auswählen:") (ansicht :selection (*sd-anno-view-seltype* *sd-anno-flat-seltype* *sd-anno-sketch-seltype*) :multiple-items t :title (sd-multi-lang-string "Selection" :german "Auswahl") :prompt-text (sd-multi-lang-string "Select view to be saved" :german "Zu speichernde Ansichten und Sketches angeben.") :initial-value t ;nil :after-input (progn (sd-set-variable-status 'mi-dateiname :enable T) (sd-set-variable-status 'dxf-dateiname :enable T) (sd-set-variable-status 'dwg-dateiname :enable T) (sd-set-variable-status 'svg-dateiname :enable T) ) ) (mi-dateiname :value-type :filename :fileType :mi :add-suffix nil :if-exists :confirm-overwrite :initialPattern (format nil "~a_~a.mi" (sd-am-inq-drawing-no) (sd-am-inq-name ansicht)) :title (sd-multi-lang-string "MI filename" :german "MI-Datei") :prompt-text (sd-multi-lang-string "Enter filename to save the view." :german "Dateiname der zu speichernden Ansicht angeben.") :initial-optional t :initial-enable nil :after-input (ansicht-speichern :mi mi-dateiname) ) (dxf-dateiname :value-type :filename :fileType :dxf :add-suffix nil :if-exists :confirm-overwrite :initialPattern (format nil "~a_~a.dxf" (sd-am-inq-drawing-no) (sd-am-inq-name ansicht)) :title (sd-multi-lang-string "DXF filename" :german "DXF-Datei") :prompt-text (sd-multi-lang-string "Enter filename to save the view." :german "Dateiname der zu speichernden Ansicht angeben.") :initial-optional t :initial-enable nil :after-input (ansicht-speichern :dxf dxf-dateiname) ) (dwg-dateiname :value-type :filename :fileType :dwg :add-suffix nil :if-exists :confirm-overwrite :initialPattern (format nil "~a_~a.dwg" (sd-am-inq-drawing-no) (sd-am-inq-name ansicht)) :title (sd-multi-lang-string "DWG filename" :german "DWG-Datei") :prompt-text (sd-multi-lang-string "Enter filename to save the view." :german "Dateiname der zu speichernden Ansicht angeben.") :initial-optional t :initial-enable nil :after-input (ansicht-speichern :dwg dwg-dateiname) ) (svg-dateiname :value-type :filename :fileType :dwg :add-suffix nil :if-exists :confirm-overwrite :initialPattern (format nil "~a_~a.svg" (sd-am-inq-drawing-no) (sd-am-inq-name ansicht)) :title (sd-multi-lang-string "SVG filename" :german "SVG-Datei") :prompt-text (sd-multi-lang-string "Enter filename to save the view." :german "Dateiname der zu speichernden Ansicht angeben.") :initial-optional t :initial-enable nil :after-input (ansicht-speichern :svg svg-dateiname) ) ) ;; end variables :ok-action '() :cancel-action '() :help-action '(sd-display-message " 2017-11-28 erstellt von Wolfgang Seel Makro zum speichern von mehreren Ansichten und Sketches als DXF, DWG, SVG oder MI Datei Vorsicht: Werden die Ansichten und Sketches aus verschiedenen Blättern im Strukturbaum ausgewählt, ist es möglich, dass manche Ansichten in der Zieldatei übereinander liegen. Viel Spaß beim Anwenden !!! " :title "SW-DXF-Ansichten-speichern.lsp" :push "Weiter") :local-functions '((ansicht-speichern (fform dateiname) (let ((err nil) ME10-parts) (setq ME10-parts nil) (setq ME10-parts (format nil "~{'~A' ~}" (mapcar #'sd-am-inq-unique-name ansicht))) (when ME10-parts (sd-am-errors :clear) (sd-execute-annotator-command :cmd (format nil "STORE ~A SELECT ~a CONFIRM DEL_OLD '~a' END" fform ME10-parts (nth 0 dateiname))) (pprint (sd-am-errors)) (setq err (sd-am-errors :get_first)) (when err (display (format nil "### ~A ~% ~A~%" (sd-multi-lang-string "Problem saving view" :german "Problem beim Speichern der Ansicht") err))) ) ) ) ) ;; end local functions ) ;; end dialog