;;--------------------------------------------------------------------------* ;; Copyright 2004 DC4 Technisches Büro GmbH * ;; * ;;--------------------------------------------------------------------------* ;; Dateiname: am_show_owner.lsp ;; Version : 1.0 ;; Datum : 16.02.2004 ;; Author : Gt (in-package :custom) (use-package :OLI) ;;--------------------------------------------------------------------------* ;; initial functions * ;;--------------------------------------------------------------------------* (defun dc4-am-desman-get-owner () (let (ret blatt anslist ans) (setf ret nil) (setf blatt (sd-am-inq-curr-sheet)) (when blatt (progn (setf anslist (sd-am-sheet-struct-views (sd-am-inq-sheet blatt))) (when anslist (progn (dolist (ans anslist) (when (and (not ret) (sd-am-view-struct-view-3d (sd-am-inq-view ans))) (progn (setf ret (sd-am-view-set-struct-owner (sd-am-inq-view-set (sd-am-view-struct-view-set (sd-am-inq-view ans )))) );;setf );;progn );;when );;dolist );;progn );;when );;progn );;when (values ret) );;let ) ;;--------------------------------------------------------------------------* ;; dialogs * ;;--------------------------------------------------------------------------* (sd-defdialog 'dc4-anno-desman-show-owner-dialog :dialog-title "3D-Besitzer zeigen" :variables '( ("Optional:") (ans :selection *sd-anno-view-seltype* :prompt-text "Ansicht fuer Besitzersuche angeben." :title "Ansicht" :multiple-items nil :initial-optional t :after-input (ans-action) :check-function #'(lambda (ans) (let () (if (sd-am-view-struct-view-3d (sd-am-inq-view ans)) :ok (values :error "Diese Ansicht hat keine 3D-Repraesentation!") );;if );;let );;lambda ) ("Besitzer suchen:") (teil :value-type :part-assembly :prompt-text "Besitzer fuer Suche in 3D-Strukturliste angeben." :title "Besitzer" :size :third :initial-value (dc4-am-desman-get-owner) ) ) :local-functions '( (ans-action () (let () (setf teil (sd-am-view-set-struct-owner (sd-am-inq-view-set (sd-am-view-struct-view-set (sd-am-inq-view ans )))) );;setf );;let ) (search-action () (let () (dc4-zeige-tools-teile-einzeln teil) );;let ) ) :ok-action '(search-action) ) ;;--------------------------------------------------------------------------* ;; functions * ;;--------------------------------------------------------------------------* (defun dc4-zeige-tools-teile-einzeln (teil) (let () (when (sd-inq-vp-exists-p "3D-BESITZER-ZEIGEN") (progn (delete_vp "3D-BESITZER-ZEIGEN") ) ) ;; when (create_vp :name "3D-BESITZER-ZEIGEN" :corner_1 (make-gpnt2d :x 100 :y 100) :corner_2 (make-gpnt2d :x 600 :y 500 )) (add_to_vp_drawlist "3D-BESITZER-ZEIGEN" teil) ) ;; let )