(defun C:CHATT ( / ss x blk att atts blockname tagname NewValue blkname elist oldval newval); Change Attribute Tag..
(vl-load-com)
(setq ss nil)
;;;**************FROM BLOCK ATTRIBUTE
(setq tagname1 (getstring "\nGet which Attribute Tag from Block ?: "))
;get block information
(setq ss nil)
;; Case, you want to Pick Them..
(prompt "Pick Block to get source Field:")
(setq ss (ssget)); pick individual, Window, Crossing.. etc.
(if ss
(progn
(setq x 0)
(repeat (sslength ss)
(setq blk (vlax-ename->vla-object (ssname ss x)))
(setq elist (entget (ssname ss x)))
(setq blkname (cdr (assoc 2 elist)))
(progn
(if (safearray-value (setq atts (vlax-variant-value (vla-getattributes blk))))
(progn
(setq atts (vlax-safearray->list (vlax-variant-value (vla-getattributes blk))))
(foreach att atts
(setq tag (strcase (vla-get-tagstring att))); tagname
(if (= tagname1 tag)
;(princ (strcat "\nObjectID: "(rtos (vla-get-objectId att) 2 0)))
; (setq tagval_id (strcat (rtos (vla-get-objectId att) 2 0)))
;(setq tagstringval (strcase (vla-get-TextString att))); tagstring value
(setq OLDVAL (strcase (vla-get-TextString att)))
); if
); foreach
); progn
); if
); progn
(setq x (+ x 1))
); repeat length ss
); progn
); if
;;;**************TO BLOCK ATTRIBUTE****************
;; ask some questions and set some values to those questions
(setq tagname2 (getstring "\nInsert Into Which Attribute Tagname?: "))
;********modified lines below:*****************
(setq TRIM_VALUE 3);TRIM VALUE FOR THE PRIFIX
(setq NewVal (substr oldval TRIM_VALUE));;NEW VALUE TRIM 2 on PREFIX
(setq NEWVAL (atof NEWVAL));CONVERT TO NUMBER
(SETQ NEWVAL (/ NEWVAL 2.0));DIVIDE BY 2 AND INSERT THE BUGGER
;*modified lines above***********
(setq ss nil)
;; Case, you want to Pick Them..
(prompt "Pick Block to get source Field:")
(setq ss (ssget)); pick individual, Window, Crossing.. etc.
(if ss
(progn
(setq x 0)
(repeat (sslength ss)
(setq blk (vlax-ename->vla-object (ssname ss x)))
(setq elist (entget (ssname ss x)))
(setq blkname (cdr (assoc 2 elist)))
(progn
(if (safearray-value (setq atts (vlax-variant-value (vla-getattributes blk))))
(progn
(setq atts (vlax-safearray->list (vlax-variant-value (vla-getattributes blk))))
(foreach att atts
(setq tag (strcase (vla-get-tagstring att))); tagname
(if (= tagname2 tag)
;(princ (strcat "\nObjectID: "(rtos (vla-get-objectId att) 2 0)))
; (setq tagval_id (strcat (rtos (vla-get-objectId att) 2 0)))
(vla-put-textstring att newval)
); if
); foreach
); progn
); if
); progn
(setq x (+ x 1))
); repeat length ss
); progn
); if
(princ)
); function
Edited by: Msclout72 on Nov 6, 2009 8:09 AM
Edited by: Msclout72 on Nov 6, 2009 8:09 AM
Edited by: Msclout72 on Nov 6, 2009 8:10 AM
Edited by: Msclout72 on Nov 6, 2009 8:11 AM
Edited by: msclout72 on Nov 6, 2009 2:32 PM
Edited by: msclout72 on Nov 6, 2009 2:34 PM