;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; for CoCreate SolidDesigner ;; Description: ;; hide/show texts in drawing dependend on Info text ;; ;; Reference : https://ww3.cad.de/foren/ubb/Forum29/HTML/004945.shtml ;; Docu : https://support.ptc.com/help/creo_elements_direct/... ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; Filename : cadde-29-004945.lsp ;; Version : 1.1 change N push-buttons to a mutual exculsion of booleans ;; 1.0 initial-version by darkfrei ;; Created : 02. Feb. 2024 09:45 (darkfrei) ;; Modified : Tue Feb 13 16:42:01 CET 2024 ;; Author : der_Wolfgang@forum@cad.de ;; Download : cad.de ;; SD-Version : developed with PE80 ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (in-package :cadde-df) (use-package :OLI) #| [QUOTE]Original erstellt von MiBr: [i]verstehe es trotdem nicht, sry[/i][/QUOTE] Ich musste auch etwas die GlasKugel [s]beweihräuchern[/s] befragen... ----------------------- Es gibt also Texte in der MI-Datei (, die an der gleichen Position stehen?). Textinhalte sind sprachabhängig und tragen je nach Sprache unterschiedliche Infotexte: [list][*] LAYER: 500 [*] LAYER: 510 [*] LAYER: 515 [*] LAYER: 520 [*] LAYER: 525 [*] LAYER: 530 [*] LAYER: 535[/list] Mit den Makros, die über den Dialog ausgelöst werden, soll jeweils (nur?) eine Sprache sichtbar gemacht werden. Derzeit VERÄNDERST(!) Du alle zu "verbergenden" Texte auf die Farbe Schwarz und machst sie winzig klein (1 µm). Damit ÄNDERST Du aber die MI-Daten und erhältst ein Diskettensymbol an der Zeichnung. Eigentlich geht es doch nur um die Sichtbarkeit, oder? Dafür kennt ME10/Annotator.exe den Befehl "SHOW" file:///C:/Program%20Files/PTC/Creo%20Elements/Direct%20Drafting%2020.6.1.0/locale/en/me_help/me_helps.htm#SHOW [CODE]SHOW ON/OFF[/CODE] Das sollte doch reichen? Nebeneffekt du änderst die Zeichnung nicht! BTW: du vermischst Portugiesisch und Spanisch (zumindest in der Beispiel MI Datei) Anbei lsp und m Datei. Bezüglich FehlerFindung, insbeondere bei (ME10-)Makros, empfehle ich die (wiederholte) Ausführung von [CODE](display (oli::sd-am-errors))[/CODE]Das ist ne dokumentierte Integration Kit Funktion. Und Makros nur mit 2 Buchstaben zu definieren ist immer (falsch|schlecht|ungeschickt|nichtempfehlenswert|schlechtwartbar|fehleranfellich|ungesund) [such dir mindestens eins aus! 😏 ) |# (sd-execute-annotator-command :cmd (format nil "input '~A' end" (sd-string-replace (namestring *load-truename*) ".lsp" ".m"))) (sd-defdialog 'multiaufkleber :dialog-title "Multiaufkleber" :mutual-exclusion '(set_layer_DE set_layer_GB set_layer_FR set_layer_NL set_layer_IT set_layer_PT) :variables '( ("Zeige Sprache:") (set_layer_DE :value-type :boolean :title "DE" :after-input (sd-execute-annotator-command :cmd "Show_layer_language_DE") :toggle-type :left-toggle) (set_layer_GB :value-type :boolean :title "GB" :after-input (sd-execute-annotator-command :cmd "Show_layer_language_GB") :toggle-type :left-toggle) (set_layer_FR :value-type :boolean :title "FR" :after-input (sd-execute-annotator-command :cmd "Show_layer_language_FR") :toggle-type :left-toggle) (set_layer_NL :value-type :boolean :title "NL" :after-input (sd-execute-annotator-command :cmd "Show_layer_language_NL") :toggle-type :left-toggle) (set_layer_IT :value-type :boolean :title "IT" :after-input (sd-execute-annotator-command :cmd "Show_layer_language_IT") :toggle-type :left-toggle) (set_layer_PT :value-type :boolean :title "PT" :after-input (sd-execute-annotator-command :cmd "Show_layer_language_PT") :toggle-type :left-toggle) ("-") ; --------------------------------------- (clear_dwg_id :title "clear dwg id" :push-action (clear-dwg-id "häh?") :toggle-type :wide-toggle) ) :after-initialization '(setq set_layer_DE NIL) :local-functions '( (clear-dwg-id (layer-number) (sd-execute-annotator-command :cmd "Awmc_m_clear_dwg_id CONFIRM") ) ) ) (sd-define-available-command "Annotation" "Bearbeiten" "Multiaufkleber" :commandTitle "Multiaufkleber" :action "multiaufkleber" )