(defun c:ar4sysmark () (cond ((/= (strcase (getvar "dwgname")) "ALOHA3.DWG") (princ "\nIncorrect drawing loaded\nOpen ALOHA3 from the C:/Program files/Accrender 4.0/User Guide/Models folder\n") ) ((null (arloaded?)) (alert "AccuRender not loaded, type AR4 at the command prompt and then AR4SYSMARK.") ) ((< (nth 2 (ar4_version)) 0) (princ "\nPlease install the most current version of AccuRender - build 0 or above\n") ) (T (run_ar4sysmark) ) ) (princ) ) (defun run_ar4sysmark (/ ocm flags endtime starttime ar4_translate_time ar4_radiosity_time ar4_raytrace_time) (setq ocm (getvar "cmdecho")) ; save command echo mode (setvar "cmdecho" 0) ; and switch it off (command "_.undo" "_begin") (command "_.-layer" "_t" "*" "") (setq flags (ar4_getvar 1300)) (if (> flags 8000) (setq flags (- flags 8192)) ) (ar4_setvar 1300 flags) (ar4_setvar 1301 640) ;set the X resolution (ar4_setvar 1302 320) ;and the Y resolution (ar4_setvar 1325 4) ;set to very high (setq ar4_translate_time (translate_test)) (setq ar4_radiosity_time (radiosity_test)) (setq ar4_raytrace_time (raytrace_test)) (princ (strcat "\nThe AR4SYSMark v1 results are as follows:\n" "\nTranslation time: " (rtos ar4_translate_time 2 2) " seconds" "\nRadiosity time: " (rtos ar4_radiosity_time 2 2) " seconds" "\nRaytrace time: " (rtos ar4_raytrace_time 2 2) " seconds" "\nTotal time: " (rtos (+ ar4_translate_time ar4_radiosity_time ar4_raytrace_time) 2 2) " seconds") ) (command "_.undo" "_end") (setvar "cmdecho" ocm) ) (defun translate_test ( / clear starttime endtime time) (setq starttime (getvar "date")) (command "ar4_loadmodel") (setq endtime (getvar "date")) (setq time (* 86400 (- endtime starttime))) time ) (defun radiosity_test ( / clear starttime endtime time ) (ar4_setvar 1201 1000) (setq starttime (getvar "date")) (c:ar4_rad) (while (/= (getvar "cmdactive") 0) (setq endtime (getvar "date")) ) (setq endtime (getvar "date")) (setq time (* 86400 (- endtime starttime))) time ) (defun raytrace_test ( / clear starttime endtime time ) (setq starttime (getvar "date")) (command "ar4_rtm") (setq endtime (getvar "date")) (setq time (* 86400 (- endtime starttime))) time ) (defun arloaded? () (if (= (substr (getvar "acadver") 1 2) "16") (cond ((member "ar4_opm16.arx" (arx))) ) (cond ((member "ar4_opm.arx" (arx))) ) ) ) (princ "\nType AR4SYSMARK to begin Accurender benchmark - Version 1.0.1.") (princ)