Hallo,
Ich habe das Makro zum SAT speichern im Einsatz und habe nun gemerkt dass das Makro immer in der höchsten SAT Version 23 die Teile abspeichert und nicht wie im Makro hinterlegt in der SAT Version 6.
(sd-call-cmds (native_cad_out :cad_system :acis_sat :version-sat "6.0" :PARTS teil :filename datei verwrite))
Kann ein Lisp Guru da Abhilfe schaffen ?
Lisp:
(sd-defdialog 'dc4-speichere-teile-sat-dialog
:toolbox-button t
:dialog-title "SAT speichern"
;;:dialog-control :sequential
:variables
'(
(verz :value-type :string
rompt-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))
k
(values :error "Dieses Verzeichnis existiert nicht!")))
)
(over :value-type :boolean
:toggle-type :wide-toggle
:title "Ueberschreiben"
:initial-value nil
)
(parts :selection
(*sd-part-seltype*)
:multiple-items t
;;:show-select-menu t
:title "Teile"
)
)
:local-functions
'((doit-action ()
(let (datei index teil fn)
(dolist (teil parts)
(setf fn (ts-PAC-speichere-sat-get-dateiname teil))
(setf datei (format nil "~a//~a 1Stk.sat" verz fn))
(if over
(progn
(sd-call-cmds (native_cad_out :cad_system :acis_sat :version-sat "6.0" :PARTS teil :filename datei verwrite))
);;progn
(progn
(setf index 2)
(loop
(if (sd-inq-file-status datei :existence)
(progn
(setf datei (format nil "~a//~a ~aStk.sat" verz fn index))
(setf index (+ index 1))
);;progn
(return nil)
);;if
);;loop
(sd-call-cmds (native_cad_out :cad_system :acis_sat :PARTS teil :filename datei))
);;progn
);;if
);;dolist
);;let
)
)
k-action
'(doit-action)
:help-action '()
[Diese Nachricht wurde von netvista am 14. Sep. 2015 editiert.]
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP