(dictnext ename [rewind])
Find the next item in a dictionary.
The dictnext function searches a dictionary (ename) to find the next item in the dictionary. If the parameter rewind is present and is not nil, the dictionary is rewound and the first entry in it is retrieved.
Example
; Create an entity list
(setq dictionary (list '(0 . "DICTIONARY") '(100 . "AcDbDictionary")))
; Create an entity from entity list
(setq xname (entmakex dictionary))
; Get the named object dictionary
(setq nmdict (namedobjdict))
; Add a record to dictionary table and returns the entity name of the object added
(setq newdict (dictadd nmdict "MY_DICTIONARY" xname))
; Create an entity list
(setq datalist (append (list '(0 . "XRECORD") '(100 . "AcDbXrecord")) '((1 . "MY_DATA") (10 1. 2. 3.) (70 . 33))))
; Create an entity from entity list
(setq xname (entmakex datalist))
; Add a record to dictionary table and returns the entity name of the object added
(dictadd newdict "FIRST_DATA_RECORD" xname)
; Create an entity from entity list
(setq xname (entmakex datalist))
; Add a record to dictionary table.
(dictadd newdict "SECOND_DATA_RECORD" xname)
; Returns entity name of FIRST_DATA_RECORD
(cdr (car (dictnext newdict)))
; Returns entity name of SECOND_DATA_RECORD
(cdr (car (dictnext newdict)))
; Returns nil as there are no more records
(cdr (car (dictnext newdict)))
; Rewinds and so returns entity name of FIRST_DATA_RECORD
(cdr (car (dictnext newdict T)))