Hot News aus dem CAD.de-Newsletter:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  AddCustomInfo

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:   AddCustomInfo (1373 mal gelesen)
cad-mkl
Mitglied
Technischer Zeichner


Sehen Sie sich das Profil von cad-mkl an!   Senden Sie eine Private Message an cad-mkl  Schreiben Sie einen Gästebucheintrag für cad-mkl

Beiträge: 37
Registriert: 16.04.2012

Bricscad 12 /Nova 7/Acad 2000

erstellt am: 19. Aug. 2013 11:58    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

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




Sehen Sie sich das Profil von CADwiesel an!   Senden Sie eine Private Message an CADwiesel  Schreiben Sie einen Gästebucheintrag für CADwiesel

Beiträge: 1913
Registriert: 05.09.2000

AutoCAD, Bricscad
Wir machen das Mögliche unmöglich

erstellt am: 19. Aug. 2013 12:09    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für cad-mkl 10 Unities + Antwort hilfreich

;;;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


Sehen Sie sich das Profil von cad-mkl an!   Senden Sie eine Private Message an cad-mkl  Schreiben Sie einen Gästebucheintrag für cad-mkl

Beiträge: 37
Registriert: 16.04.2012

Bricscad 12 /Nova 7/Acad 2000

erstellt am: 19. Aug. 2013 13:31    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

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




Sehen Sie sich das Profil von CADwiesel an!   Senden Sie eine Private Message an CADwiesel  Schreiben Sie einen Gästebucheintrag für CADwiesel

Beiträge: 1913
Registriert: 05.09.2000

AutoCAD, Bricscad
Wir machen das Mögliche unmöglich

erstellt am: 19. Aug. 2013 14:52    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für cad-mkl 10 Unities + Antwort hilfreich

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


Sehen Sie sich das Profil von cad-mkl an!   Senden Sie eine Private Message an cad-mkl  Schreiben Sie einen Gästebucheintrag für cad-mkl

Beiträge: 37
Registriert: 16.04.2012

Bricscad 12 /Nova 7/Acad 2000

erstellt am: 19. Aug. 2013 16:44    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

SUPER!

Ihr Profis programmiert sehr kompackt, da braucht man etwas zum durchsteigen. Das bekomme ich aber hin ;-)
Hoffe ich werde auch mal so programmieren können.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

cad-mkl
Mitglied
Technischer Zeichner


Sehen Sie sich das Profil von cad-mkl an!   Senden Sie eine Private Message an cad-mkl  Schreiben Sie einen Gästebucheintrag für cad-mkl

Beiträge: 37
Registriert: 16.04.2012

Bricscad 12 /Nova 7/Acad 2000

erstellt am: 21. Aug. 2013 09:32    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Habe den Fehler zwar noch nicht gefunden, aber der letzte Wert wird durch die Zahl der Variable zaehler ergänzt.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

CADadler
Mitglied
Zeichner

Sehen Sie sich das Profil von CADadler an!   Senden Sie eine Private Message an CADadler  Schreiben Sie einen Gästebucheintrag für CADadler

Beiträge: 9
Registriert: 12.05.2018

ACAD 2013<P>Win 7 64bit
Win 10 64bit

erstellt am: 13. Feb. 2020 11:23    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für cad-mkl 10 Unities + Antwort hilfreich

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


Sehen Sie sich das Profil von joern bosse an!   Senden Sie eine Private Message an joern bosse  Schreiben Sie einen Gästebucheintrag für joern bosse

Beiträge: 1662
Registriert: 11.10.2004

Window 8.1
ACAD 2012-2020
CIVIL 2012 - 2020
BricsCAD V14-V20
Intel(R) Core(TM)i5-8250U CPU @ 1.60GHz 1.80 GHz
16.0GB RAM
NVIDIA GeForce GTX 1050

erstellt am: 13. Feb. 2020 20:10    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für cad-mkl 10 Unities + Antwort hilfreich

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

Sehen Sie sich das Profil von CADadler an!   Senden Sie eine Private Message an CADadler  Schreiben Sie einen Gästebucheintrag für CADadler

Beiträge: 9
Registriert: 12.05.2018

ACAD 2013<P>Win 7 64bit
Win 10 64bit

erstellt am: 14. Feb. 2020 13:16    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für cad-mkl 10 Unities + Antwort hilfreich

Hey Jörn

Vielen Dank für die schnelle Antwort ich werde es heute testen.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2020 CAD.de | Impressum | Datenschutz