;;--------------------------------------------------------------------------* ;; Copyright 2011 DC4 Technisches Büro GmbH * ;; * ;;--------------------------------------------------------------------------* ;; Dateiname: multiplesteplsp ;; Version : 3.0 ;; Datum : 20.01.2011 ;; Author : Gt ;;--------------------------------------------------------------------------* (in-package :custom) (use-package :OLI) ;;--------------------------------------------------------------------------* (sd-defdialog 'dc4-speichere-teile-step-dialog :dialog-title "STEP speichern" ;;:dialog-control :sequential :variables '( (verz :value-type :string :prompt-text "Verzeichnis zum Speichern angeben" :title "Verzeichnis" :initial-value (sd-get-current-working-directory) :check-function #'(lambda (dir) (if (sd-directory-p (format nil "~a//" dir)) :ok (values :error "Dieses Verzeichnis existiert nicht!"))) ) (over :value-type :boolean :toggle-type :wide-toggle :title "Ueberschreiben" :initial-value nil ) (parts :selection (*sd-assembly-seltype* *sd-part-seltype*) :multiple-items t :show-select-menu t :title "Teile/Bgr." ) ("Dateiname aus:") (base :value-type :grouped-boolean :title "Struktur" :initial-value t ) (cont :value-type :grouped-boolean :title "Modell" :initial-value nil ) (komb :value-type :grouped-boolean :title "Str.+Mod." :initial-value nil ) ) :mutual-exclusion '((base cont komb)) :local-functions '((doit-action () (let (datei index fname teil) (dolist (teil parts) (cond (base (setf datei (format nil "~a//~a.stp" verz (sd-inq-obj-basename teil)))) (cont (setf datei (format nil "~a//~a.stp" verz (sd-inq-obj-contents-name teil)))) (t (setf datei (format nil "~a//~a_~a.stp" verz (sd-inq-obj-basename teil) (sd-inq-obj-contents-name teil)))) );cond (setf fname datei) (if over (progn (sd-call-cmds (step_export :select teil :filename fname :overwrite)) );;progn (progn (setf index 1) (loop (if (sd-inq-file-status fname :existence) (progn (setf fname (format nil "~a-~a.stp" datei index)) (setf index (+ index 1)) );;progn (return nil) );;if );;loop (sd-call-cmds (step_export :select teil :filename fname)) );;progn );;if );;dolist );;let ) ) :ok-action '(doit-action) :help-action '() )