;; Speichern der Auswahl im Strukturbaum ( ;; https://ww3.cad.de/foren/ubb/Forum92/HTML/001032.shtml #| (save_package :OBJECTS (delete-if-not 'oli::sel_item-p (mapcar 'oli::sd-pathname-to-obj (mapcar 'g-browser::BrowserNode-objPath (oli::sd-query-browser "parcel-gbrowser" :GET-SELECTED-OBJECTS)))) :filename "c:/temp/saved_objs.pkg" :overwrite ) |# (in-package :cadde) (use-package :oli) ;; DDEExecute nChannelNumber, "(cadde::safe-selected-objects-to-pkg """ & PadSpeichern & """)" ;; (cadde::safe-selected-objects-to-pkg "c:/temp/saved_objs.pkg") (defun safe-selected-objects-to-pkg (filename) (let (objs-to-save) (setq objs-to-save (delete-if-not '(lambda(o) (or (sd-inq-part-p o) (sd-inq-assembly-p o))) ;; only parts+assys (delete-if-not 'sel_item-p (mapcar 'sd-pathname-to-obj (delete-if '(lambda (o) (equal o "/")) ;; not the root (mapcar 'BrowserNode-objPath (sd-query-browser "parcel-gbrowser" :GET-SELECTED-OBJECTS) )))))) ;(pprint (mapcar 'sd-inq-obj-pathname objs-to-save)) (if objs-to-save (save_package :objects objs-to-save :filename filename :overwrite) ;; else (sd-display-alert "lerne zu selektieren! :-p") ) )) ;; (cadde::safe-selected-objects-to-pkg-dolist "c:/temp/saved_objs.pkg") (defun safe-selected-objects-to-pkg-dolist (filename) (let (objs-to-save a-path a-obj) (dolist (a-node (sd-query-browser "parcel-gbrowser" :GET-SELECTED-OBJECTS)) (setq a-path (BrowserNode-objPath a-node)) (when (not (equal a-path "/")) ;; not the root (setq a-obj (sd-pathname-to-obj a-path)) (when (and (sel_item-p a-obj) (or (sd-inq-part-p a-obj) (sd-inq-assembly-p a-obj)) ;; only parts+assys ) (push a-obj objs-to-save) )) ) ; end dolist (pprint (mapcar 'sd-inq-obj-pathname objs-to-save)) (if objs-to-save (save_package :objects objs-to-save :filename filename :overwrite) ;; else (sd-display-alert "lerne zu selektieren! :-p") ) ))