#|
|#
(in-package :EXAMPLES)
(use-package :OLI)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(sd-defdialog 'fesat
:dialog-title "FE/SAT"
:variables
'((JJ_PART :value-type :part :modifies :nil :title "Part")
(JJ_ASSY :value-type :assembly :modifies :nil :title "Assembly"))
:mutual-exclusion '(jj_part jj_assy)
:start-variable 'JJ_PART
:ok-action
'(let* ((name (sd-inq-obj-basename (or jj_part jj_assy)))
(temp (sd-inq-temp-dir))
(tempdir (format nil "~Afesat" temp)))
(sd-make-directory tempdir)
(sd-with-current-working-directory tempdir
(sd-call-cmds
(save_sat (or jj_part jj_assy)
:filename :overwrite (format nil "~A.sat" name)))
(with-open-file
(fp "start.cmd" :direction :output)
(format fp "Fesat~%Geometry~%edit edit_target \"~A\" ;~%" name)
(format fp "setup geom_mode precise ;~%quit~%~%")
(format fp "Fesat~%translators~%quit~%~%")
(format fp "direct pkg \"ACIS_ASCII\"~%import \"~A.sat\"~%" name)
(format fp "yes~%quit~%~%")
(format fp "view fit all_geom ;~%quit~%~%")
(format fp "Fesat~%")
)
(system "fesat")))) ;; arbitrary application here
;;