;;--------------------------------------------------------------------------* ;; Copyright 2003 DC4 Technisches Büro GmbH * ;; * ;;--------------------------------------------------------------------------* ;; Dateiname: dichte_suchen.lsp ;; Version : 1.0 ;; Datum : 22.05.2003 ;; Author : Gt ;;--------------------------------------------------------------------------* (in-package :custom) (use-package :OLI) ;;--------------------------------------------------------------------------* ;; dialogs * ;;--------------------------------------------------------------------------* (sd-defdialog 'dc4-dichte-suchen-dialog :dialog-title "Dichte suchen" ;;:dialog-control :sequential :variables '( (bgr :value-type :assembly :prompt-text "Baugruppe angeben" :title "Baugruppe" :modifies nil ) ("Dichte") (dichtu :value-type :number :prompt-text "unteren Wert eingeben" :title "von" ;;:initial-value nil ) (dichto :value-type :number :prompt-text "oberen Wert eingeben" :title "bis" ;;:initial-value nil ) (teil :value-type :part :prompt-text "Teil, dessen Dichte uebernommen werden soll angeben" :title "von Teil" :modifies :nil :initial-value nil :initial-optional t :after-input (after-teil-action) ) (next :push-action (sd-call-cmds (next-action)) ) ) :local-functions '( (after-teil-action () (let () (setf dichtu (sd-inq-part-density teil :realized)) (setf dichto (sd-inq-part-density teil :realized)) );;let ) (next-action () (dc4-suche-dichte-in-bgr bgr dichtu dichto) ) ) :ok-action '(sd-call-cmds (dc4-suche-dichte-in-bgr bgr dichtu dichto)) ) ;;--------------------------------------------------------------------------* (defun dc4-suche-dichte-im-top (dichtu dichto) (let (oberste_bgr) (setf oberste_bgr (sd-pathname-to-obj "/")) (dc4-suche-dichte-in-bgr oberste_bgr dichtu dichto) ) ;; let ) (defun dc4-suche-dichte-in-bgr (teil_bgr dichtu dichto) (let (teiletyp kind kinder teildicht) (setf teiletyp (sel_item-type teil_bgr)) (if (equal teiletyp *sd-part-seltype*) (progn (setf teildicht (sd-inq-part-density teil_bgr)) (if (and (<= dichtu teildicht) (>= dichto teildicht)) (display (format nil "~a:~a~a" (sd-inq-obj-pathname teil_bgr) (code-char 9) teildicht)) nil);;if );;progn ;; else (when (equal teiletyp *sd-assembly-seltype*) (progn (setf kinder (sd-inq-obj-children teil_bgr)) (dolist (kind kinder) (dc4-suche-dichte-in-bgr kind dichtu dichto) ) ;; dolist ) ;; progn ) ;; when ) ;; if ) ;; let )