Chris Wilkinson Posted September 8, 2009 Posted September 8, 2009 Greetings, I have a number of attributed dynamic blocks with multi vis states, that I wish to change from attribute text width factor 1, to 0.85, as per client specified requirement for the particular project. There are quite a number of different named blocks on each sheet, copies of each block, and quite a number of sheets involved. Using BATTMAN or EATTEDIT I cannot select all attributes and change width factor in one go. It can only be done one at a time, a laborious task at best. GATTE appears not to be able to change width factor. Is anyone aware of a method of selecting all attributed blocks in a sheet, then changing the attribute text width factor on all to 0.85 in one fell swoop? Kind regards, Chris Wilkinson, Brisbane, Australia Quote
dbroada Posted September 8, 2009 Posted September 8, 2009 no means of testing but have you tried modifying the base block using BEDIT then ATTSYNC or BATTMAN to resync all blocks. Note that this will not work as expected if you have moved any attributes away from their pre-defined positions. Quote
NBC Posted September 8, 2009 Posted September 8, 2009 Do the attributes within all these blocks share the same Text Style ? forget that, it will only work adequately on non-attributed text within the block. Quote
Chris Wilkinson Posted September 8, 2009 Author Posted September 8, 2009 no means of testing but have you tried modifying the base block using BEDIT then ATTSYNC or BATTMAN to resync all blocks. Note that this will not work as expected if you have moved any attributes away from their pre-defined positions. Since the drawings already contain all the blocks we need to use for the job I think I'll just have to change them in the drawing rather than at the source - if I changed the source ones, or made copies of those and changed the copies then thats gonna take possibly as much time as just changing them in the drawing - I also don't want to change the source ones, since we have a large number of projects on the go that use, or will use, those ones in original form as per our own visual standards for drafting. Thanks for the suggestion - if it were a really big job it would make more sense, but its a mid-size job, and I'm hoping the PE won't notice an extra hour or two on the drafting bill... Chris W, Brisbane, Australia Quote
gilsoto13 Posted September 8, 2009 Posted September 8, 2009 Greetings, I have a number of attributed dynamic blocks with multi vis states, that I wish to change from attribute text width factor 1, to 0.85, as per client specified requirement for the particular project. There are quite a number of different named blocks on each sheet, copies of each block, and quite a number of sheets involved. Using BATTMAN or EATTEDIT I cannot select all attributes and change width factor in one go. It can only be done one at a time, a laborious task at best. GATTE appears not to be able to change width factor. Is anyone aware of a method of selecting all attributed blocks in a sheet, then changing the attribute text width factor on all to 0.85 in one fell swoop? Kind regards, Chris Wilkinson, Brisbane, Australia You can use a lisp routine for it.. I have a small one to change a bunch of blocks with attributes, but it doesn´t have the option for width... But there is another bigger routine to change a bunch of different types of selected objects, including text, mtext, attributes and attdef... you can use it and filter only one of those types and change only one or several properties at once, it's very easy to use cause it Dialog box based... I always use it in my office.. i hope you know to load lisp routines. The small one is edat.lsp and the other one is DDchtext... usable loading the Dt.lsp and typing "dt" after loading it. dt.zip Edat.lsp 1 Quote
dbroada Posted September 9, 2009 Posted September 9, 2009 Since the drawings already contain all the blocks we need to use for the job I think I'll just have to change them in the drawing rather than at the source - if I changed the source ones, or made copies of those and changed the copies then thats gonna take possibly as much time as just changing them in the drawing - I also don't want to change the source ones, since we have a large number of projects on the go that use, or will use, those ones in original form as per our own visual standards for drafting. Thanks for the suggestion - if it were a really big job it would make more sense, but its a mid-size job, and I'm hoping the PE won't notice an extra hour or two on the drafting bill... Chris W, Brisbane, Australia there's no need to touch the source ones, just change it in the drawing. BEDIT, select all attributes using QSELECT, change the width with the properties pallett and close BEDIT. ATTSYNC and all of those blocks will update. 30 seconds per block name, no more than 1 minute. Quote
gilsoto13 Posted September 10, 2009 Posted September 10, 2009 You can use a lisp routine for it.. I have a small one to change a bunch of blocks with attributes, but it doesn´t have the option for width... But there is another bigger routine to change a bunch of different types of selected objects, including text, mtext, attributes and attdef... you can use it and filter only one of those types and change only one or several properties at once, it's very easy to use cause it Dialog box based... I always use it in my office.. i hope you know to load lisp routines. The small one is edat.lsp and the other one is DDchtext... usable loading the Dt.lsp and typing "dt" after loading it. Surfing on cadalyst I found a perfect routine for it... This one will let you edit all attributes belonging to all those selected blocks.. and change Angle, height, style, Text and width factor at once.. The best of it is that is a temporary change that you can revert by using attsync is you want to return the attributes to their original shapes... Here it is eat.lsp 1 Quote
Chris Wilkinson Posted September 10, 2009 Author Posted September 10, 2009 Surfing on cadalyst I found a perfect routine for it... This one will let you edit all attributes belonging to all those selected blocks.. and change Angle, height, style, Text and width factor at once.. The best of it is that is a temporary change that you can revert by using attsync is you want to return the attributes to their original shapes... Here it is Excellent. Thats just the ticket. Now if only I could find a lisp routine that could extend the ultra-short deadline and quadruple the pithy fee for the job... Kind regards, Chris Wilkinson, Brisbane, Australia. Quote
gilsoto13 Posted September 10, 2009 Posted September 10, 2009 Excellent. Thats just the ticket. Now if only I could find a lisp routine that could extend the ultra-short deadline and quadruple the pithy fee for the job... Kind regards, Chris Wilkinson, Brisbane, Australia. I am working on that one... Quote
Chris Wilkinson Posted September 11, 2009 Author Posted September 11, 2009 I am working on that one... Let me know when its ready to test - I'll pay good money for that! - job is a 13 level commercial tower refit - 1st prelim issue was on 1st September. The program is to be completed and refit done by end November... We'll get it done, but it ain't gonna be pretty... Regards, Chris Wilkinson. Quote
msarqui Posted January 9, 2013 Posted January 9, 2013 Hello! Would be possible to change only the selected attribute (in a block), instead of changing all the attributes? Thanks! Marcelo Quote
gilsoto13 Posted January 9, 2013 Posted January 9, 2013 Hello! Would be possible to change only the selected attribute (in a block), instead of changing all the attributes? Thanks! Marcelo Is it just for one attribute in one Instance of a block? In that case obviously you don´t need a lisp... just dobleclick on the attribute and change the width using the editor... In the case of one attribute in all instances of a block, it's better to redefine the block changing the width of that attribute before redefining. Quote
msarqui Posted January 9, 2013 Posted January 9, 2013 Hello gilsoto13. It is for one attribute in all instances of a block, and I'm sure that it's better to change with lisp instead to edit the block. Regards! Quote
sala Posted July 19, 2016 Posted July 19, 2016 The "eat" lisp file has helped me alot these days. I was wondering is there a way to avoid the question what I wanna change and the value I want? and just change it automatically to 1? Also I wanted to select everything automatically i tried the code ssget"_a". But It doesn't really do anything as far as I know. any suggestions? Quote
gilsoto13 Posted July 19, 2016 Posted July 19, 2016 the lisp you are looking for... is here https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/attribute-width-change/td-p/1525357/page/2 posted by Alex Díaz ChgAttWidth.lsp Quote
sala Posted July 20, 2016 Posted July 20, 2016 Thanks Gilsoto works amazing it can't be added to an other lisp like acad2015.lsp? acad2015.lsp the font lisp does its work fine and the zoom command also only the third part "widthchanger" doesn't work. It works fine If I do it manually without acad2015.lsp Quote
sala Posted July 20, 2016 Posted July 20, 2016 Problem solved! using two different acad2015 lisps now. it works Quote
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.