;********************************************************************************************* ; Dateiname : SD_UpdateThreadColor.lsp ; Autor : Stephan Wörz ; Erstellt : 18.06.2008 ; geändert : ;********************************************************************************************* ; Beschreibung : - Suchen aller Flächen welche die SolidLib typische rosa Farbe haben ; Ändern der Farbe dieser Flächen ; ; ; Optionen : - ; - ; - ;********************************************************************************************* ; ---------------------------------------------------------------------------------------- ; ä Ì Ä Ø ö Î Ö Ú ü Ï Ü Û ß Þ ° ³ ; ---------------------------------------------------------------------------------------- ; Änderungen ; ;;================================================================================================ ;;=========== Alle SolidLib-Gewindefarben ("1.0,0.6314,0.6" suchen ============= ;;================================================================================================ (in-package :Teo) (use-package :OLI) (sd-hide-console-window) (sd-show-console-window) (setf si::*enter-break-handler* t) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (setq ThreadColor (sd-rgb-to-color (read-from-string "0.0,0.0,0.5"))) ;;Gewindefarbe setzen (setf OldThreadFaces nil) (sd-defdialog 'SD_UpdateThreadColor :dialog-title "Update ThreadColor" :toolbox-button t :variables '( (object :value-type :part :initial-value nil :modifies nil :title "Teil(e) angeben" :multiple-items t :after-input (progn (GetFaces) ;; alte SolidLib-Gewindeflächen zusammensuchen (SetFaceColor) ;; Farbe tauschen (setf object nil) ;; Variable zurücksetzen );;progn :next-variable 'object );;object ("INFO") (Info :title "Kurzanleitung" :toggle-type :wide-toggle :push-action (sd-display-message "Das Tool bietet folgende Funktion: Die gewÌhlten Teile werden auf rosa FlÌchen durchsucht! Diese FlÌchen werden dann umgefÌrbt! " :push "Alles Klar!" );;sd-display-message );;Info );;variables :local-functions '( (GetFaces () (setf ThreadFaces nil) (setf OldThreadFaces nil) (dolist (part object) (setf OldThreadFaces (sd-call-cmds (get_selection :focus_type *sd-face-seltype* :check_function #'checkOldThreadFaces :select :selected_part part :all_3d) );;sd-call-cmds );;setf OldThreadFaces (dolist (Old OldThreadFaces) (setq ThreadFaces (adjoin Old ThreadFaces)) );;dolist ; (display (length oldThreadFaces)) );;dolist ; (display OldThreadFaces) );;getfaces (SetFaceColor () (dolist (Threadface ThreadFaces) (sd-call-cmds (set_face_color Threadface ThreadColor) );;sd-call-cmds );;dolist );;SetFaceColor );;local-functions :ok-action '(doit) ;; ---------------------------------------------------------------------------------------------------------------------------------------------------- :cleanup-action '(progn );end progn ;; ---------------------------------------------------------------------------------------------------------------------------------------------------- :cancel-action '(progn );;progn ;; ---------------------------------------------------------------------------------------------------------------------------------------------------- :help-action '(sd-display-message "Das Tool bietet folgende Funktion: Die gewÌhlten Teile werden auf rosa FlÌachen durchsucht! Diese FlÌchen werden dann umgefÌrbt! " :title "Update Threadcolor - Kurzanleitung" :push "Alles Klar!" );;sd-display-message ;; ---------------------------------------------------------------------------------------------------------------------------------------------------- ) ;; end defdialog ;; ---------------------------------------------------------------------------------------------------------------------------------------------------- ;; Funktionen ;; ---------------------------------------------------------------------------------------------------------------------------------------------------- (defun checkOldThreadFaces (face) (if (equal (sd-inq-face-color face) (gpnt3d 1.0 0.63137257099151611 0.60000002384185791)) :ok :filter );;if );;defun ;; (if (and FaceColor (equal FaceColor (gpnt3d 1.0 0.63137257099151611 0.60000002384185791))) (trace checkOldThreadFaces)