Author Topic: Trouble to rename xref  (Read 1900 times)

0 Members and 1 Guest are viewing this topic.

Adesu

  • Guest
Trouble to rename xref
« on: January 25, 2007, 04:25:56 AM »
Hi Alls,
I just create a program to rename a file xref,here that code
Code: [Select]
; rxd is stand for Rename Xref Drawing
;        Design by  : Adesu <Ade Suharna>
;        Email      : mteybid@yuasabattery.co.id
;        Homepage   : http://www.yuasa-battery.co.id
;        Create     : 25 January 2007
;        Program no.: 0516/01/2007
;        Edit by    :

(defun c:rxd (/ cfn fd objname path ss vevo vgad vgao vgd xfn xpath)
  (vl-load-com)
  (setq vgao (vlax-get-acad-object))
  (setq vgad (vla-get-activedocument vgao))
  (setq vgd (vla-get-documents vgao))
  (setq ss (car (entsel "\nSelect an object Xref")))   
  (setq vevo (vlax-ename->vla-object ss))
  (setq objname (vlax-get vevo 'ObjectName))
  (if
    (= objname "AcDbBlockReference")
    (progn
      (setq path (vlax-get vevo 'Path))
      (setq cfn (vl-filename-base path))
      (setq xfn
     (getstring t
       (strcat "\nEnter new name for drawing< " cfn " >: ")))
      (if (= xfn "")(setq xfn cfn))
      (setq fd (vl-filename-directory path))
      (setq xpath (strcat fd "\\" xfn ".dwg"))
      (setq opath (vl-string-translate "\\" "/" path))
      (setq xpath (vl-string-translate "\\" "/" xpath))
      (setq ren (vl-file-rename opath xpath))        ; here the problem !!!
      ;(vlax-Release-Object ren)
      )                               ; progn
    )                                 ; if
  (princ)
  )                                   ; defun

VVA

  • Newt
  • Posts: 166
Re: Trouble to rename xref
« Reply #1 on: January 25, 2007, 04:43:44 AM »
So should work
Code: [Select]
; rxd is stand for Rename Xref Drawing
;        Design by  : Adesu <Ade Suharna>
;        Email      : mteybid@yuasabattery.co.id
;        Homepage   : http://www.yuasa-battery.co.id
;        Create     : 25 January 2007
;        Program no.: 0516/01/2007
;        Edit by    :
(defun c:rxd (/ cfn fd objname path ss vevo vgad vgao vgd xfn xpath)
    (vl-load-com)
    (if (= (getvar "XLOADCTL") 2)
        (progn
            (setq vgao (vlax-get-acad-object))
            (setq vgad (vla-get-activedocument vgao))
            (setq vgd (vla-get-documents vgao))
            (setq ss (car (entsel "\nSelect an object Xref")))
            (setq vevo (vlax-ename->vla-object ss))
            (setq objname (vlax-get vevo 'ObjectName))
            (if
                (and
                    (= objname "AcDbBlockReference")
                    (vlax-property-available-p vevo 'Path)
                ) ;_ end of and
                   (progn
                       (setq path (vlax-get vevo 'Path))
                       (setq cfn (vl-filename-base path))
                       (setq xfn
                                (getstring t
                                           (strcat "\nEnter new name for drawing< " cfn " >: ")
                                ) ;_ end of getstring
                       ) ;_ end of setq
                       (if (= xfn "")
                           (setq xfn cfn)
                       ) ;_ end of if
                       (setq fd (vl-filename-directory path))
                       (setq xpath (strcat fd "\\" xfn ".dwg"))
                       (setq opath (vl-string-translate "\\" "/" path))
                       (setq xpath (vl-string-translate "\\" "/" xpath))
                       (if (vl-file-systime opath)
                       (setq ren (vl-file-rename opath xpath))        ; here the problem !!!                           
                       (alert (strcat "Can't rename " opath))
                           )
                       
                                                                      ;(vlax-Release-Object ren)
                   )                                                  ; progn
            )                                                         ; if
        ) ;_ end of progn
        (alert "Set XLOADCTL to 2")
    ) ;_ end of if
    (princ)
)                                                             

« Last Edit: January 25, 2007, 04:46:00 AM by VVA »

Adesu

  • Guest
Re: Trouble to rename xref
« Reply #2 on: January 25, 2007, 06:54:01 PM »
Hi VVA,
It's great,thanks very much for your help.