(in-package :custom) (use-package :OLI) ;;--------------------------------------------------------------------------* (sd-defdialog 'dc4-praegekanten-kennzeichnen-dialog :dialog-title "Praegekanten markieren" ;;:dialog-control :sequential :variables '( (teill :selection (*sd-part-seltype*) :multiple-items t :show-select-menu t :prompt-text "Teile, deren Kanten gekennzeichnet werden soll angeben" :title "Teil" :modifies :contents :initial-value nil ;; :after-input (teill-action) ) ) :local-functions '( (go-action () (let (mit ohne kt) (dolist (teil teill) (setf mit (sd-call-cmds (get_selection :focus_type *sd-edge-3d-seltype* :select :in_part teil))) (setf back (sd-set-model-checkpoint)) (sd-call-cmds (merge_3D (sd-inq-obj-pathname teil))) (setf ohne (sd-call-cmds (get_selection :focus_type *sd-edge-3d-seltype* :select :in_part teil))) (setf ktlist mit) (dolist (kt ohne) (setf ktlist (remove kt ktlist :test #'equal)) );;dolist (sd-return-to-model-checkpoint back) (dolist (kt ktlist) (sd-attach-item-attribute kt "DC4-PRAEGEKANTE" :on-copy :copy :on-merge :maintain :on-split :copy :on-xform :maintain :filing '(:sd-file :mi-file) :values `(:DC4-PRAEGEKANTE ,"PRAEGEKANTE") ) );;dolist );;dolist );;let ) ) :ok-action '(go-action) )