| |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
 | PNY: der unverzichtbare Partner für umfassende KI-Lösungen von Workstations bis zu Edge Computing und KI-Cluster-Bereitstellung, eine Pressemitteilung
|
Autor
|
Thema: Alternative für vlax-for (1026 mal gelesen)
|
Andreas Kraus Ehrenmitglied Elektrotechniker
    
 Beiträge: 1500 Registriert: 11.01.2006 WIN 11 ACAD 2022 BricsCAD V25.1.07
|
erstellt am: 17. Mrz. 2015 10:48 <-- editieren / zitieren --> Unities abgeben:         
Hallo zusammen, folgende Konstruktion: Code: (setq color_list nil) (vlax-for layer (vla-get-layers (vla-get-activedocument (vlax-get-acad-object)) ) (setq color_list (cons (vla-get-color layer) color_list)) )
liefert mir z.B. eine Auflistung der Farben aller Layer (ohne Rücksicht auf Truecolor usw. aber darum gehts ja auch grade nicht) Meine Frage: geht das auch einfacher und eleganter ??? Ich glaube ich hatte mal sowas gesehen, finds aber nicht wieder und komm auch selbst nicht drauf Also eine Liste erstellen mit irgendwelchen Daten von allen Layern, Blöcken, Textstilen, usw. (egal was) nur eben nicht mit vlax-for und setq, sondern irgendwas dass mir die Liste als Rückgabewert liefert. ------------------ Geht nicht, gibts nicht Gruß Andreas http://kraus-cad.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
       

 Beiträge: 13530 Registriert: 30.11.2003 .
|
erstellt am: 17. Mrz. 2015 11:06 <-- editieren / zitieren --> Unities abgeben:          Nur für Andreas Kraus
|
Andreas Kraus Ehrenmitglied Elektrotechniker
    
 Beiträge: 1500 Registriert: 11.01.2006 WIN 11 ACAD 2022 BricsCAD V25.1.07
|
erstellt am: 17. Mrz. 2015 11:31 <-- editieren / zitieren --> Unities abgeben:         
Hmmm... vlax-for layer wird ersetzt durch vlax-map-collection und statt (setq color_list (cons (vla-get-color layer) color_list)) hab ich genau das Selbe nur in einem labda verpackt. Danke Thomas aber das ist nicht ganz das was ich mir erhofft habe. Ich dachte eher an etwas wie: (setq liste (funktionsname todo collection)) ähnlich wie: (setq liste (mapcar 'car datenliste))
Also ohne das setq welches natürlich unzählige Male aufgerufen wird. EDIT: hab grade auf Axels Seiten nachgelesen. Das ist wirklich das Selbe. Wenns nix anderes gibt, hak ich das ab. ------------------ Geht nicht, gibts nicht Gruß Andreas http://kraus-cad.de [Diese Nachricht wurde von Andreas Kraus am 17. Mrz. 2015 editiert.] [Diese Nachricht wurde von Andreas Kraus am 17. Mrz. 2015 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
       

 Beiträge: 13530 Registriert: 30.11.2003 .
|
erstellt am: 17. Mrz. 2015 12:36 <-- editieren / zitieren --> Unities abgeben:          Nur für Andreas Kraus
|
Andreas Kraus Ehrenmitglied Elektrotechniker
    
 Beiträge: 1500 Registriert: 11.01.2006 WIN 11 ACAD 2022 BricsCAD V25.1.07
|
erstellt am: 17. Mrz. 2015 13:44 <-- editieren / zitieren --> Unities abgeben:         
|
Meldin Mitglied
 
 Beiträge: 398 Registriert: 15.07.2011 ACA2020 Windows10
|
erstellt am: 17. Mrz. 2015 19:11 <-- editieren / zitieren --> Unities abgeben:          Nur für Andreas Kraus
Hallo Damit deine Vorgabe klappt Zitat: ähnlich wie: (setq liste (mapcar 'car datenliste))
müsste man wissen das in deiner Datenliste drin steht. :D :D :D Aber hier noch ein anderes Beispiel. Code: (while (setq sw (tblnext "Layer"(not sw))) (setq Farbe(cons(getpropertyvalue(tblobjname"Layer"(cdr(assoc 2 sw)))"Color")Farbe)) )
------------------ Gruß Wolfgang  Alias: Rabbit007 und Wolli1 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |

| |
joern bosse Ehrenmitglied Dipl.-Ing. Vermessung
    
 Beiträge: 1776 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: 17. Mrz. 2015 19:33 <-- editieren / zitieren --> Unities abgeben:          Nur für Andreas Kraus
|