Visual LISP, AutoLISP and General Customization
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Change "Reference Name" of attached IMAGE xref .tiff

1 REPLY 1
Reply
Message 1 of 2
RTKarshick
1394 Views, 1 Reply

Change "Reference Name" of attached IMAGE xref .tiff

Greetings!

 

HEADACHE!

 

I am trying to write a LISP that does the following:

 

-Open drawing

-Saveas as NEW drawing based on certain criteria from DCL menu

-Deletes old drawing

-*THEN, if drawing contain attached IMAGE FILE (.tiff in my case)

-Rename image file and repath image file based on the new file name

 

I have gotten it to do all of this, except I can not figure out how to change the "reference name" of the attached image file (.tiff)

 

Is this read-only data? I can manualy change it under xref manager, so there should be a way to do it via code...

 

The closest I have gotten:

 

;;after renaming and repath image file...

 

(SETQ NAME2 (substr (getvar "dwgname") 1 (- (strlen (getvar "dwgname")) 4)))

 

(setq item (vlax-ename->vla-object (entlast)));convert to vl object

 

  (setq check (vlax-property-available-p item "Name" T));check if the entity can be updated

  ;if it can
  (if check

   ;change value to match
   (vlax-put-property item 'Name NAME2))

 

 

'Name seems to be valid w/ xref'd blocks but not xref'd/attached image files..

 

Any help is greatly apprecated!

Thanks

1 REPLY 1
Message 2 of 2
Moshe-A
in reply to: RTKarshick

Hi,

 

check this...it will return T if it successed or nil if not

 

 

(defun rename_raster_image (AcDbRasterImage NewImageName)
 (if (vlax-property-available-p AcDbRasterImage 'name t)
  (if (not
        (vl-catch-all-error-p
	 (vl-catch-all-apply
	   '(lambda ()
	      (vlax-put-property AcDbRasterImage 'Name NewImageName)
	    )
	 )
        )
      )
   t
  )
 )
)

 

Moshe

 

Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums  

Autodesk Design & Make Report

”Boost