ILoveMadoka Posted February 8, 2023 Posted February 8, 2023 (edited) After this discussion it was determined that a table style cannot be replaced in a simple step like you with blocks. Replace Table Style I was attempting to write a routine to rename three table styles so that I can bring in "new and improved" versions of those tables from a template. Given Tablestyles: Style1, Style2 & Style3 I'd like to rename to OLD1, OLD2 & OLD3 respectively... I do not know what I'm doing. This does not work at all. (defun C:RTS2 (/ oldname newname tbllist);;; (setq oldname "STYLE1" newname "OLD1") (setq tbllist (tblstyle)) (if (member oldname tbllist) (progn (command "tablestyle" oldname "rename" newname) (princ (strcat "Table style " oldname " renamed to " newname)) ) (princ (strcat "Table style " oldname " not found")) ) (princ) ) I found some code by Lee for deleting a Tablestyle but way over my head to modify to suit.. (defun c:deltab ( / dic sty ) ;;;Lee Mac (if (setq dic (cdr (assoc -1 (dictsearch (namedobjdict) "ACAD_TABLESTYLE")))) (progn (while (not (or (= "" (setq sty (getstring t "\nSpecify Table Style to Delete: "))) (dictsearch dic sty) ) ) (princ "\nTable Style not found.") ) (if (/= "" sty) (dictremove dic sty)) ) (princ "\nTable Styles not present in this version.") ) (princ) ) Lee says this is dangerous but may have some value for my use (defun c:deltab ( / dic ) (if (setq dic (cdr (assoc -1 (dictsearch (namedobjdict) "ACAD_TABLESTYLE")))) (foreach sty '("Style1" "Style2" "Style3") (dictremove dic sty) ;;I'm not wanting to delete them but rename them... ) (princ "\nTable Styles not present in this version.") ) (princ) ) Edited February 8, 2023 by ILoveMadoka Quote
ILoveMadoka Posted February 8, 2023 Author Posted February 8, 2023 Ok.. So I'm stupid... (command "_.rename" "T" "style1" "old1") I'd still like to see what a lisp routine using a different function would look like.. Quote
ronjonp Posted February 8, 2023 Posted February 8, 2023 6 hours ago, ILoveMadoka said: Ok.. So I'm stupid... (command "_.rename" "T" "style1" "old1") I'd still like to see what a lisp routine using a different function would look like.. (defun _rnt (old new / dic) ;; RJP » 2023-02-08 (and (setq dic (cdr (assoc -1 (dictsearch (namedobjdict) "ACAD_TABLESTYLE")))) (setq dic (dictsearch dic old)) (vl-catch-all-apply 'vla-put-name (list (vlax-ename->vla-object (cdr (assoc -1 dic))) new)) ) ) ;; usage (_rnt "Standard" "Testing123") 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.