| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| PNY WIRD VON NVIDIA ZUM HÄNDLER DES JAHRES GEWÄHLT, eine Pressemitteilung
|
Autor
|
Thema: AddCustomInfo (2907 mal gelesen)
|
cad-mkl Mitglied Technischer Zeichner
Beiträge: 37 Registriert: 16.04.2012 Bricscad 12 /Nova 7/Acad 2000
|
erstellt am: 19. Aug. 2013 11:58 <-- editieren / zitieren --> Unities abgeben:
Hallo! Hiermit kann man Benutzerdefinierte Werte in den Zeichnungseigenschaften schreiben: (habe ich hier im Forum gefunden) (vlax-invoke-method(vla-get-summaryInfo(vla-get-activeDocument(vlax-get-acad-object))) "AddCustomInfo" "[NAME]" "[WERT]") Mit den vl... Befehlen kenne ich mich nicht aus. Kann mir jemand sagen wie ich die Werte auslesen und auch löschen kann?. Danke. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADwiesel Moderator CAD4FM UG
Beiträge: 1989 Registriert: 05.09.2000 AutoCAD, Bricscad Wir machen das Mögliche unmöglich
|
erstellt am: 19. Aug. 2013 12:09 <-- editieren / zitieren --> Unities abgeben: Nur für cad-mkl
;;;Löschen von 10 Einträgen (progn (setq zaehler 0 ) ;_ end of setq (repeat 10 (vl-catch-all-apply 'vlax-invoke-method (list (vla-get-SummaryInfo (vla-get-activeDocument(vlax-get-acad-object)) ) 'RemoveCustomByIndex zaehler) ) ;_ end of vl-catch-all-apply (setq zaehler (1+ zaehler) ) ;_ end of setq ) ;_ end of repeat ) ;;;schreiben eines Eintrags (vl-catch-all-apply 'vlax-put-property (list (vla-get-SummaryInfo (vla-get-activeDocument(vlax-get-acad-object)) ) key wert ) ;_ end of list ) ------------------ Gruß CADwiesel Besucht uns im CHAT
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cad-mkl Mitglied Technischer Zeichner
Beiträge: 37 Registriert: 16.04.2012 Bricscad 12 /Nova 7/Acad 2000
|
erstellt am: 19. Aug. 2013 13:31 <-- editieren / zitieren --> Unities abgeben:
Hallo und vielen Dank. das hilft mir ein bischen weiter. Bei mir werden so allerding die letzten 6 Einträge gelöscht. Wie kann ich die Werte denn am besten auslesen und in eine Liste schreiben. (tut mit leid, aber der Teil von Lisp ist mir zu hoch) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADwiesel Moderator CAD4FM UG
Beiträge: 1989 Registriert: 05.09.2000 AutoCAD, Bricscad Wir machen das Mögliche unmöglich
|
erstellt am: 19. Aug. 2013 14:52 <-- editieren / zitieren --> Unities abgeben: Nur für cad-mkl
So, das muss reichen. Mach weas draus.... Code: (defun prompt_liste (s_obj / item lst anz zaehler v1 k1) (setq lst (list "Title" "Subject" "Author" "Keywords" "Hyperlinkbase" "Comments" "LastSavedBy" "RevisionNumber" ) ;_ end of list ) ;_ end of setq (foreach item lst (princ (strcat "\n" item " : " (vlax-get-property s_obj item)) ) ;_ end of princ ) ;_ end of foreach (if (> (setq anz (vl-catch-all-apply 'vlax-invoke-method (list s_obj 'NumCustomInfo) ) ;_ end of vl-catch-all-apply ) ;_ end of setq 0 ) ;_ end of > (progn (princ "\nSchlüssel\tWert") (setq zaehler 0 ) ;_ end of setq (repeat 20 (if (not (vl-catch-all-error-p (vl-catch-all-apply 'vlax-invoke-method (list s_obj 'GetCustomByIndex zaehler 'v1 'k1) ) ;_ end of vl-catch-all-apply ) ;_ end of vl-catch-all-error-p ) ;_ end of not (if (and (/= v1 "") (/= k1 "")) (princ (strcat "\n" v1 "\t\t" k1) ) ;_ end of princ ) ;_ end of if ) ;_ end of if (setq v1 nil k1 nil zaehler (1+ zaehler) ) ;_ end of setq ) ;_ end of repeat ) ;_ end of progn (princ "\nKeine Benutzerdefinierten Eigenschaften.") ) ;_ end of if ) (prompt_liste (vlax-get-property (vla-get-ActiveDocument (vlax-get-acad-object)) 'SummaryInfo)) (princ)
------------------ Gruß CADwiesel Besucht uns im CHAT
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cad-mkl Mitglied Technischer Zeichner
Beiträge: 37 Registriert: 16.04.2012 Bricscad 12 /Nova 7/Acad 2000
|
erstellt am: 19. Aug. 2013 16:44 <-- editieren / zitieren --> Unities abgeben:
|
cad-mkl Mitglied Technischer Zeichner
Beiträge: 37 Registriert: 16.04.2012 Bricscad 12 /Nova 7/Acad 2000
|
erstellt am: 21. Aug. 2013 09:32 <-- editieren / zitieren --> Unities abgeben:
|
CADadler Mitglied Zeichner
Beiträge: 9 Registriert: 12.05.2018 ACAD 2013<P>Win 7 64bit Win 10 64bit
|
erstellt am: 13. Feb. 2020 11:23 <-- editieren / zitieren --> Unities abgeben: Nur für cad-mkl
Hallo Zusammen, habe folgendes Problem mit (vlax-invoke-method(vla-get-summaryInfo(vla-get-activeDocument(vlax-get-acad-object))) "AddCustomInfo" "Silikon" "") frage dazu wäre: wenn es Silikon schon in der Benutzerspezifischen Eing. gibt und ich wieder "(vlax-invoke-method(vla-get-summaryInfo(vla-get-activeDocument(vlax-get-acad-object))) "AddCustomInfo" "Silikon" "")" eingebe habe ich diese doppelt. gibt es eine Routine die es vorher abfragt, und wenn es schon da ist ersetzt? vielen dank schon malm im voraus auf die Antworten. Gruß Adler
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
joern bosse Ehrenmitglied Dipl.-Ing. Vermessung
Beiträge: 1763 Registriert: 11.10.2004 Window 11 ACAD 2021 CIVIL 2021 BricsCAD ab V14 11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz 2.80 GHz 32.0GB RAM NVIDIA GeForce MX450<P>
|
erstellt am: 13. Feb. 2020 20:10 <-- editieren / zitieren --> Unities abgeben: Nur für cad-mkl
Hallo Adler, mit folgender Funktion kannst Du die vorhandenen Keys in eine Liste schreiben, und dann prüfen, ob Dein Key "Silikon" schon vorhanden ist. Code:
(defun c:test ( / KEY0 KEYLIST KEYNAME N SUMMARYINFO) (setq summaryInfo (vla-get-summaryInfo (vla-get-activeDocument (vlax-get-acad-object) ) ) ) (setq KeyName "Silikon") (setq n -1) (repeat (vla-NumCustomInfo summaryInfo) (setq n (+ n 1)) (vla-GetCustomByIndex summaryInfo n 'Key0 'Value0) (setq KeyList (cons Key0 KeyList)) ) (if (not (member KeyName KeyList)) (progn (vla-AddCustomInfo summaryInfo KeyName "") (alert (strcat "Key \"" KeyName "\" hinzugefügt.")) ) (alert (strcat "Key \"" KeyName "\" schon vorhanden, nicht hinzugefügt.")) ) (princ) )
------------------ viele Grüße Jörn http://www.bosse-engineering.com Multifilter Youtube Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADadler Mitglied Zeichner
Beiträge: 9 Registriert: 12.05.2018 ACAD 2013<P>Win 7 64bit Win 10 64bit
|
erstellt am: 14. Feb. 2020 13:16 <-- editieren / zitieren --> Unities abgeben: Nur für cad-mkl
|