vlax-map-collection
Dostępne słowniki: Zmienne systemowe i polecenia Architektura LISP System ZWGeo ZWToolbox ZWTraffic ZWTextile ZW3D
vlax-map-collection
(vlax-map-collection objekt funkcja)
Stosuje funkcję na wszystkich elementach kolekcji VLA.
Jeśli argument objekt nie reprezentuje kolekcji VLA lub każdy obiekt kolekcji nie jest odpowiedni dla funkcji vlax-map-collection rzuca błąd. W przeciwnym przypadku funkcja jest zastosowana na każdym elemencie kolekcji i zwraca wartość argumentu objekt .
Przykład:
(vl-load-com )
(defun c:test (/ ModelSpace Nums_circle Nums_line Nums_arc Nums_ellipse) (setq Nums_circle Nums_line 0 Nums_arc 0 Nums_ellipse ) (setq ModelSpace (vlax-get-property (vlax-get-property (vlax-get-acad-object ) 'ActiveDocument) 'ModelSpace)) (vlax-map-collection ModelSpace 'statistics) (alert (strcat (itoa Nums_circle) " circles" "\n" (itoa Nums_line) " lines" "\n" (itoa Nums_arc) " arcs" "\n" (itoa Nums_ellipse)" ellipses" ) ) (princ))
(defun statistics (ent / objType) (setq objType (cdr (assoc 0 (entget (vlax-vla-object->ename ent))))) (cond ((= objType "CIRCLE") (setq Nums_circle (1+ Nums_circle)) ) ((= objType "LINE") (setq Nums_line (1+ Nums_line)) ) ((= objType "ARC") (setq Nums_arc (1+ Nums_arc)) ) ((= objType "ELLIPSE")(setq Nums_ellipse (1+ Nums_ellipse)) ) ))