;;--------------------------------------------------------------------------* ;; Copyright 2003 DC4 Technisches Büro GmbH * ;; * ;;--------------------------------------------------------------------------* ;; Dateiname: am_norm_unprotect.lsp ;; Version : 1.0 ;; Datum : 29.10.2003 ;; Author : Gt ;;--------------------------------------------------------------------------* (in-package :custom) (use-package :OLI) ;;--------------------------------------------------------------------------* (sd-defdialog 'dc4-anno-schuetze-normteile-in-baugruppe-dialog :dialog-title "Schuetze Normteile" ;;:dialog-control :sequential :variables '( (teil_bgr :selection (*sd-object-seltype*) :multiple-items t :show-select-menu t :prompt-text "Teil oder Baugruppe angeben" :title "Teil" ;;:initial-value nil ) (ansicht :selection *sd-anno-view-seltype* :title "Ansicht" :prompt-text "Ansicht(en) angeben, in welche(n) die Teile/Baugruppen geschÏtzt werden soll" :multiple-items t ) (schutz :value-type :boolean :toggle-type :wide-toggle :title "Schuetzen" :initial-value nil ) (next :push-action (sd-call-cmds (next-action)) ) ) :local-functions '((next-action () (dc4-anno-schuetze-normteile-in-baugruppe teil_bgr ansicht schutz) ) ) :ok-action '(sd-call-cmds (dc4-anno-schuetze-normteile-in-baugruppe teil_bgr ansicht schutz)) ) ;;--------------------------------------------------------------------------* ;; functions * ;;--------------------------------------------------------------------------* ;; Schuetzt alle Teile in der ausgewaehlten Baugruppe "teil_bgr" ;; vor dem Durchschneiden (funktioniert nur mit Annotation) ;; (defun dc4-anno-schuetze-normteile-in-baugruppe (teil_bgr_list ansichtlist schutz) (let (teil_bgr) (docu::docu-enable-update-view-warning nil) (dolist (teil_bgr teil_bgr_list) (dc4-anno-schuetze-normteile-in-unterbgr teil_bgr ansichtlist schutz) );;dolist (docu::docu-enable-update-view-warning t) (display "Die Zeichnung muss aktualisiert werden!") );;let ) (defun dc4-anno-schuetze-normteile-in-unterbgr (teil_bgr ansichtlist schutz) (let (teiletyp ansicht kind kinder) (setf teiletyp (sel_item-type teil_bgr)) (if (and (equal teiletyp *sd-part-seltype*) (dc4-check-norm-info teil_bgr)) (progn (if schutz (progn (dolist (ansicht ansichtlist) (setf partslist (sd-am-view-struct-parts-3d (sd-am-inq-view ansicht))) (when (member teil_bgr partslist :test #'equal) (sd-call-cmds (AM_SECURE_PART_FROM_SECTION :PARTY (sd-inq-obj-pathname teil_bgr) :in_view ansicht :section_feature_in_view :on)) );;when );;dolist ;; (docu::am_secure_part_from_section :party (sd-inq-obj-pathname teil_bgr) :section_feature_in_general :on) );;progn (progn (dolist (ansicht ansichtlist) (setf partslist (sd-am-view-struct-parts-3d (sd-am-inq-view ansicht))) (when (member teil_bgr partslist :test #'equal) (sd-call-cmds (AM_SECURE_PART_FROM_SECTION :PARTY (sd-inq-obj-pathname teil_bgr) :in_view ansicht :section_feature_in_view :off)) );;when );;dolist ;; (docu::am_secure_part_from_section :party (sd-inq-obj-pathname teil_bgr) :section_feature_in_general :off) );;progn );;if );;progn );;if (when (equal teiletyp *sd-assembly-seltype*) (progn (setf kinder (sd-inq-obj-children teil_bgr)) (dolist (kind kinder) (dc4-anno-schuetze-normteile-in-unterbgr kind ansichtlist schutz) ) ;; dolist ) ;; progn ) ;; when );;let ) (defun dc4-check-norm-info (teil) (let (attributliste attribut norm) (setf attributliste (sd-inq-item-attributes teil :attachment :contents)) ;;(display (format nil "attlist=~a" attributliste)) (setf norm nil) (dolist (attribut attributliste) (progn ;;(display (format nil "att=~a" attribut)) (when (string= attribut "SOLLIB-INFO") (setf norm t) );;when );;progn );;dolist (values norm) );;let )