我认为需要添加总计数器:
- (defun CmdSpy()
- (vl-load-com)
- (if(not cmdspy:cmdreactor)
- (setq cmdspy:cmdreactor
- (vlr-Command-Reactor nil
- '((:vlr-CommandEnded . CmdSpyReaction))
- ); end vlr-Command-Reactor
- ); end setq
- ); end if
- (princ)
- ); end of CmdSpy
- (CmdSpy)
- (defun CmdSpyReaction(Reac Args / cLst)
- (if
- (not
- (setq cLst(assoc(car Args)cmdspy:list)))
- (setq cmdspy:list(cons(cons(car Args) 1)cmdspy:list))
- (setq cmdspy:list(subst(cons(car Args)(1+(cdr cLst)))
- cLst cmdspy:list))
- ); end if
- (princ)
- ); end of CmdSpyReaction
- (defun c:lookcmdlist(/ cTot)
- (if cmdspy:list
- (progn
- (setq cmdspy:list
- (vl-sort cmdspy:list
- '(lambda(a b)(>(cdr a)(cdr b))))
- cTot(apply '+(mapcar 'cdr cmdspy:list))
- ); end setq
- (princ "\n====== Command Statistic ======\n")
- (foreach i cmdspy:list
- (princ(strcat "\n "(car i)" "))
- (repeat(- 26(strlen(car i)))(princ "."))
- (princ " ")(princ(itoa(cdr i)))
- ); end foreach
- (princ(strcat "\n\n TOTAL: "(itoa cTot)))
- (princ "\n\n========== End Report =========")
- (textscr)
- ); end progn
- (princ "\nNo command history found ")
- ); end if
- (princ)
- ); end of c:lookcmdlist
- Command: lookcmdlist
- ====== Command Statistic ======
- INSERT .................... 9
- GRIP_STRETCH .............. 4
- MOVE ...................... 3
- SETVAR .................... 3
- LINE ...................... 3
- MIRROR .................... 2
- CIRCLE .................... 2
- COPY ...................... 1
- BLOCK ..................... 1
- ERASE ..................... 1
- +DSETTINGS ................ 1
- TOTAL: 30
- ========== End Report =========
|