chrisdarmanin Posted January 19, 2018 Posted January 19, 2018 I have 100's of blocks that I need to change to annotative. is there a way to do it quickly or a lisp routine, rather than editing every single block and changing the setting to annotative from the properties palette? Quote
rkmcswain Posted January 19, 2018 Posted January 19, 2018 This should do it for you. Code from Lee Mac Quote
chrisdarmanin Posted January 19, 2018 Author Posted January 19, 2018 thanks, not the quickest but managed since I had many blocks I used data extraction to get the name of all the blocks, export to CSV, then import to Word, to further clean the formatting with find and replace (to get rid of the extra tabs and commas). I noticed word changes straight inverted commas to curly inverted commas so I did the same process again in notepad++. then i added the (foreach blk '("myblock1" "myblock2" "myblock3") (annotativeblock blk)) and pasted into AutoCAD and voila!! thanks again might there be a quicker method?? :D Quote
chrisdarmanin Posted January 19, 2018 Author Posted January 19, 2018 certainly faster than doing them one by one manually Quote
chrisdarmanin Posted February 2, 2018 Author Posted February 2, 2018 apparently in the company this is going to be a common occurrence. any faster way? Quote
ronjonp Posted February 2, 2018 Posted February 2, 2018 (edited) Try this .. it will make all blocks in a drawing annotative. ;; Lee's code ;; https://goo.gl/KT3Ja1 (defun annotativeblock (blk) (and (setq blk (tblobjname "block" blk)) (progn (regapp "AcadAnnotative") (entmod (append (entget (cdr (assoc 330 (entget blk)))) '((-3 ("AcadAnnotative" (1000 . "AnnotativeData") (1002 . "{") (1070 . 1) (1070 . 1) (1002 . "}") ) ) ) ) ) ) ) ) (defun _allannotative (/ d) (while (setq d (tblnext "block" (null d))) (and (not (assoc 1 d)) (annotativeblock (cdr (assoc 2 d)))) ) ) (_allannotative) Edited February 9, 2018 by ronjonp 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.