CompareExport in lisp code

CompareExport in lisp code

aksel_haeldermans
Enthusiast Enthusiast
702 Views
5 Replies
Message 1 of 6

CompareExport in lisp code

aksel_haeldermans
Enthusiast
Enthusiast

I'm trying to export compare to a exportcompare folder.

it is working with the qsave commands.

But it does not work with compare exports.

how do I use to compare export in command line so it does same as the safe commands?

 

(defun c:bup (/ curfilename CopySaveLocation CurFileName newlen SaveTime mainfilepathname backupfilename savetime mainfilepathcopyname curfilecopyname)
(vl-load-com)
(vl-mkdir (strcat (getvar "dwgprefix") "ExportCompare"))
(setq CopySaveLocation (strcat (getvar "dwgprefix") "ExportCompare"))
(setq CurFileName (getvar "dwgname"))
(setq newlen (- (strlen CurFileName) 10))
(setq CurFileName (substr CurFileName 1 newlen))
(setq UserName (getvar "loginname"))

(setq SaveTime (rtos (getvar "cdate")))
(setq SaveTime (strcat (substr SaveTime 1 4) "-" (substr SaveTime 5 2) "-" (substr SaveTime 7 2) "-" (substr SaveTime 10 6)))

(setq CopyFileName (strcat CurFileName "_WIP-vs-RTC_" SaveTime "_" UserName))

(setvar "filedia" 0)

(setq CurPathCurFileName (strcat (getvar "dwgprefix") (getvar "dwgname")))
(setq CopySaveLocationCopyFileName (strcat CopySaveLocation "\\" CopyFileName ".dwg" ))

(vl-file-copy CurPathCurFileName CopySaveLocationCopyFileName)

;;;  qsave need to be replaced by CompareExport
;;;(command "qsave")
(command "_.CompareExport" "2018" (vl-file-copy CurPathCurFileName CopySaveLocationCopyFileName))  
(setvar "filedia" 1)
(princ)
)

 

This is not my code I adapted an existing code found on Save DWG file to local backup drive (augi.com)

0 Likes
703 Views
5 Replies
Replies (5)
Message 2 of 6

ВeekeeCZ
Consultant
Consultant

And what's the issue? If it's working well with the QSAVE, why it's not an option?

0 Likes
Message 3 of 6

aksel_haeldermans
Enthusiast
Enthusiast

The drawing that is open is the results of the compare command of 200 drawings based on a template.

The qsave command only saves the current drawing but before saving it drops to compare command so only saves an empty template.

If I use the compareexport commands it includes all the drawings I want to compare, the quick save does not have this function.

 

 

0 Likes
Message 4 of 6

ВeekeeCZ
Consultant
Consultant

Use this instead of command 

 

(vla-sendcommand (vla-get-activedocument (vlax-get-acad-object)) (strcat "compareexport\r2018\r" filename "\r"))

0 Likes
Message 5 of 6

aksel_haeldermans
Enthusiast
Enthusiast

Dear,

 

it took a while testing.

I tried the next code but no luck.

The results are just below the code.

 

(defun c:13CompareExport (/ curfilename CopySaveLocation CurFileName newlen SaveTime mainfilepathname backupfilename savetime mainfilepathcopyname curfilecopyname)
(vl-load-com)
(vl-mkdir (strcat (getvar "dwgprefix") "ExportCompare"))
(setq CopySaveLocation (strcat (getvar "dwgprefix") "ExportCompare"))
(setq CurFileName (getvar "dwgname"))
(setq newlen (- (strlen CurFileName) 10))
(setq CurFileName (substr CurFileName 1 newlen))
(setq UserName (getvar "loginname"))

(setq SaveTime (rtos (getvar "cdate")))
(setq SaveTime (strcat (substr SaveTime 1 4) "-" (substr SaveTime 5 2) "-" (substr SaveTime 7 2) "-" (substr SaveTime 10 6)))

(setq CopyFileName (strcat CurFileName "_WIP-vs-RTC_" SaveTime "_" UserName))

(setvar "filedia" 0)

(setq CurPathCurFileName (strcat (getvar "dwgprefix") (getvar "dwgname")))
(setq CopySaveLocationCopyFileName (strcat CopySaveLocation "\\" CopyFileName ".dwg" ))

(vl-file-copy CurPathCurFileName CopySaveLocationCopyFileName)


(vla-sendcommand (vla-get-activedocument (vlax-get-acad-object)) (strcat "compareexport\r2018\r" (strcat ".\\" SaveTime " - " (getenv "username") "-" (getvar 'DWGNAME)) "\r"))

(setvar "filedia" 1)
(princ)
)

The result is a dialogbox so = to use the "Compareexport"

 

(defun c:13CompareExport (/ curfilename CopySaveLocation CurFileName newlen SaveTime mainfilepathname backupfilename savetime mainfilepathcopyname curfilecopyname)
(vl-load-com)
(vl-mkdir (strcat (getvar "dwgprefix") "ExportCompare"))
(setq CopySaveLocation (strcat (getvar "dwgprefix") "ExportCompare"))
(setq CurFileName (getvar "dwgname"))
(setq newlen (- (strlen CurFileName) 10))
(setq CurFileName (substr CurFileName 1 newlen))
(setq UserName (getvar "loginname"))

(setq SaveTime (rtos (getvar "cdate")))
(setq SaveTime (strcat (substr SaveTime 1 4) "-" (substr SaveTime 5 2) "-" (substr SaveTime 7 2) "-" (substr SaveTime 10 6)))

(setq CopyFileName (strcat CurFileName "_WIP-vs-RTC_" SaveTime "_" UserName))

(setvar "filedia" 0)

(setq CurPathCurFileName (strcat (getvar "dwgprefix") (getvar "dwgname")))
(setq CopySaveLocationCopyFileName (strcat CopySaveLocation "\\" CopyFileName ".dwg" ))

(vl-file-copy CurPathCurFileName CopySaveLocationCopyFileName)
  
(vla-sendcommand (vla-get-activedocument (vlax-get-acad-object)) (strcat "compareexport\r2018\r" filename "\r"))
(setvar "filedia" 1)
(princ)
)

; error : bad argument type : string nil

 

(defun c:13CompareExport ()
(setvar "filedia" 0)
(vla-sendcommand (vla-get-activedocument (vlax-get-acad-object)) (strcat "compareexport\r2018\r" filename "\r"))
(setvar "filedia" 1)
(princ)
)

 

 

; error : bad argument type : string nil

 

0 Likes
Message 6 of 6

ВeekeeCZ
Consultant
Consultant

Yes, obviously. I just used a dummy variable for you to see where to put a file name. Of course, you need to use yours. 

0 Likes