Okay, I've done a ton of reading and, while I understand the theory and the ultra-novice basics of the WHILE function, I am apparently not experienced enough to debug it.
Working with Lee Mac's guide (
http://www.lee-mac.com/debugvlide.html), I was able to isolate the section that's giving the error, but I'm not sure how to fix it. From the watch window, I see that it hangs on the PAGE_NO tag. I'm guessing there's nothing to tell it to skip over tags that aren't specified.
Here's the little bit that's giving me the trouble:
(progn
(setq i -1)
(while (setq ent (ssname ss (setq i (1+ i))))
(setq att (entnext ent))
(setq attData (entget att))
(while (not (= "SEQEND" (cdadr attData)))
(setq tag (cdr (assoc 2 attData)))
(cond
((= "DRAWNBY" tag) (_entmod fld1 attData))
((= "DRAWNDATE" tag) (_entmod fld2 attData))
((= "DRAWING_NO" tag) (_entmod fld3 attData))
((= "ITEM_NO" tag) (_entmod fld4 attData))
((= "DESCRIPTION" tag) (_entmod fld5 attData))
((= "SALES_ORDER" tag) (_entmod fld6 attData))
)
(setq att (entnext att))
)
)
(command "._regenall")
(*error* nil)
)
Specifically, the program seems to stop on:
(setq att (entnext att)) ;the second instance of this code
I am certainly not knocking Renderman's code, it's awesome, I just didn't provide a ton of info and he's already spent a few weeks helping me on this ridonkerous problem.