;;--------------------------------------------------------------------------* ;; Copyright 2009 DC4 Technisches Büro GmbH * ;; * ;;--------------------------------------------------------------------------* (in-package :custom) (use-package :OLI) ;;--------------------------------------------------------------------------* (sd-defdialog 'dc4-anno-copy-sketch-dialog :dialog-title "Skizze kopieren" :variables '( (quelle :selection (*sd-anno-sketch-seltype*) :prompt-text "Skizze zum Kopieren angeben" :title "Skizze" ) (ppnt :value-type :docupntcnp :prompt-text "Ausgangspunkt fuer Verschiebung angeben" :title "Startpunkt" :after-input (sd-execute-annotator-command :cmd (format nil "LEADER_LINE ~A,~A" (oli::gpntdocu_x ppnt) (oli::gpntdocu_y ppnt))) ) (rpnt :value-type :docupntcnp :prompt-text "Endpunkt fuer Verschiebung angeben" :title "Zielpunkt" :after-input (progn (after-rpnt-action) (sd-execute-annotator-command :cmd (format nil "CANCEL")) );;progn ) ) :local-functions '( (after-rpnt-action () (let () (when (equal ppnt rpnt) (progn (sd-display-error "Start- und Zielpunkt sind identisch!") (setf rpnt nil) );;progn );;when );;let ) (next-action () (let (uname mep1 mep2 comstring nothing) (setf uname (sd-am-inq-unique-name quelle)) (setf mep1 (format nil "~a,~a" (oli::gpntdocu_x ppnt) (oli::gpntdocu_y ppnt))) (setf mep2 (format nil "~a,~a" (oli::gpntdocu_x rpnt) (oli::gpntdocu_y rpnt))) (setf comstring (format nil "~a~% ~a~% ~a~a~a~% ~a~% ~a~% ~a~% ~a~% ~a~a~a~a~a~a~a~% ~a" "INQ_ENV 7" "LET Cname ('~'+(INQ 302))" "EDIT_PART '" uname "'" "END_PART" "INQ_ENV 7" "LET Pname ('~'+(INQ 302))" "INQ_PART Pname" "MODIFY COPY '" uname "' 0,0 ((" mep2 "+(-1)*" mep1 ") / (INQ 4)) END" "EDIT_PART Cname" )) (sd-execute-annotator-command :cmd comstring) (sd-process-event "*DOCU-CHANGE-OBJECT-TREE-EVENT*") );;let ) ) :ok-action '(next-action) :help-action '() )