;; os 04.08.2003 ;; Teileinformationen anzeigen ;; Durch :modifies nil wird der Schreibschutz ignoriert ;; mit mehrfach Auswahl (in-package :gd-package) (use-package :oli) (sd-defdialog 'os_teileinfo :dialog-title "Teil-Info" :dialog-control :sequential-loop :variables '( (TEILE :value-type :part :multiple-items t :title "Teil(e)" :initial-value nil :modifies nil :prompt-text "Teil(e) angeben" :after-input (progn (teileinfo_anzeigen)) ) ; end Teil );variables :local-functions '( (teileinfo_anzeigen () (let (VOLUMEN DICHTE MATERIAL) (display "") ;; leerzeile (dolist (a-part TEILE) ;; Volumen (setq VOLUMEN (sd-call-cmds (get_vol_prop :for_part a-part :part_asmb (sd-inq-obj-pathname a-part) :volume) :failure nil );sd-call-cmds );;setq VOLUMEN (setq dichte (sd-inq-part-density a-part)) (display (format nil "---------------------------~%Teileinformationen fuer: ~A" (sd-inq-obj-basename a-part))) (display (format nil " Volumen = ~A dm3 " (sd-num-to-string (/ VOLUMEN 1000000)4))) (display (format nil " Dichte = ~A kg/dm3" (sd-num-to-string (* 1000 dichte)2))) (display (format nil " Gewicht = ~A kg" (sd-num-to-string (* (/ VOLUMEN 1000) dichte)2))) (when (and (fboundp 'oli::sd-inq-part-render-material) (setq material (sd-inq-part-render-material a-part)) ) (display (format nil " Material = ~A" (or (sd-inq-part-render-material a-part) " -- "))) ) ) ;; end dolist (display "") ;; leerzeile );;let );;teileinfo_anzeigen );;local-functions ; :ok-action '(teileinfo_anzeigen) ; geändert s.o., damit sofort nach Auswahl das Fenster kommt );;sd-defdialog