Arizona Posted April 18, 2012 Share Posted April 18, 2012 When I say "Global" I mean every instance in the drwaing, regardless of model/paper space. Example: I have a roadway drawing with 12 Layouts. The Title Blocks are in the layouts (in paperspace). The text in the titleblocks (sheet name, dwg name, drwn by, date, revisions, etc), are attributed blocks. I need to add the same revision to every sheet. How can I globally do this, all in one shot. Seems like something I should be able to do. The old command line AttEdit command does not do it. It only works on blocks in the current space. Find could do it if there was something in them but the attributes are empty. There's gotta be a way. Right? Quote Link to comment Share on other sites More sharing options...
Dadgad Posted April 18, 2012 Share Posted April 18, 2012 Lee Mac comes through again, would we expect any less? http://www.lee-mac.com/macatt.html scroll down to the description of the EDITOR function. If you haven't been to Lee's website and looked through his work, you certainly should. Lots of great stuff there! Here's to Lee! Quote Link to comment Share on other sites More sharing options...
Arizona Posted April 18, 2012 Author Share Posted April 18, 2012 Wow. All I have for that is - Wow. That was sweet. Already downloaded, installed and ran it on my job. Thanks Dad. LeeMac - once again, You Da Man! Quote Link to comment Share on other sites More sharing options...
BIGAL Posted April 19, 2012 Share Posted April 19, 2012 here is a hard coded version 1 task could be changed for revision etc ; changes to issued for construction : thanks to lee mac for original code (vl-load-com) ; 1. Get current date in mm/dd/yy format. (defun ddmmyy (/ x today) (setvar "cmdecho" 0) (setq x (getvar "CDATE")) ; get current date (setq today ( rtos x 2 4)) ; convert to a string (setq date (strcat (substr today 7 2) "." (substr today 5 2) "." (substr today 3 2) )) ) (setq oldtag1 "DRAWING_STATUS") ;attribute tag name (setq newstr1 "ISSUED FOR CONSTRUCTION") (setq oldtag2 "REV_NO") ;attribute tag name (setq newstr2 "0") (setq ss1 (ssget "x" '((0 . "INSERT") (2 . "Yourtitlblockname")))) (setq inc (sslength ss1)) (repeat inc (foreach att (vlax-invoke (vlax-ename->vla-object (ssname SS1 (setq inc (1- inc)) )) 'getattributes) (if (= oldtag1 (strcase (vla-get-tagstring att))) (vla-put-textstring att newstr1) ) ; end if (if (= oldtag2 (strcase (vla-get-tagstring att))) (vla-put-textstring att newstr2) ) ; end if ) ; end for ) ;end repeat (setq oldtag1 "REV-NO") (setq newstr1 "0") (ddmmyy) (setq oldtag2 "DATE") (setq newstr2 date) (setq oldtag3 "AMENDMENT") (setq newstr3 "ISSUED FOR CONSTRUCTION") (setq ss2 (ssget "x" '((0 . "INSERT") (2 . "REVTABLE")))) (setq inc (sslength ss2)) (repeat inc (foreach att (vlax-invoke (vlax-ename->vla-object (ssname ss2 (setq inc (1- inc)))) 'getattributes) (if (= oldtag1 (strcase (vla-get-tagstring att))) (vla-put-textstring att newstr1) ) (if (= oldtag2 (strcase (vla-get-tagstring att))) (vla-put-textstring att newstr2) ) (if (= oldtag3 (strcase (vla-get-tagstring att))) (vla-put-textstring att newstr3) ) ) ) (setq ss1 nil) (princ) Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.