criscoduck09 Posted August 7, 2009 Share Posted August 7, 2009 Just creating a simple block with text attribute. I want to be able to define the block and make sure that when the block is inserted and rotated (if needed) that the associated text does not rotate with the block, I want it to retain the 0 degree alignment. Possible in 04? Thanks folks Quote Link to comment Share on other sites More sharing options...
Cad64 Posted August 8, 2009 Share Posted August 8, 2009 It is possible in 2006 with Dynamic Blocks, but not in 2004. Quote Link to comment Share on other sites More sharing options...
ReMark Posted August 8, 2009 Share Posted August 8, 2009 I'm not sure how many blocks you are inserting and rotating but couldn't you use -ATTEDIT to rotate the attribute back to the original position? Quote Link to comment Share on other sites More sharing options...
criscoduck09 Posted August 10, 2009 Author Share Posted August 10, 2009 Yes I can use ATTEDIT and rotate to 0, then grip it back to a central location on the block. The benefit of creating a block library in a template though is lost when I have to do this on each inserted block. Thanks guys. Quote Link to comment Share on other sites More sharing options...
ReMark Posted August 10, 2009 Share Posted August 10, 2009 Have you considered upgrading? Quote Link to comment Share on other sites More sharing options...
criscoduck09 Posted August 10, 2009 Author Share Posted August 10, 2009 I sure have yes... however my CFO doesnt like the idea. We have versions in the office from 2004 up to 2009. I need to make something that will work across all versions. Quote Link to comment Share on other sites More sharing options...
ReMark Posted August 10, 2009 Share Posted August 10, 2009 Maybe it can be done using a custom lisp program. Quote Link to comment Share on other sites More sharing options...
lpseifert Posted August 10, 2009 Share Posted August 10, 2009 Here's one from the depths of the archives that will rotate attributes after insertion. Author unknown (at least to me). (defun c:atrot(/ blSet attLst errCount oldAng) (vl-load-com) (if(not atrot:rAng)(setq atrot:rAng 0)) (setq oldAng atrot:rAng atrot:rAng (getangle (strcat "\n§§§ Specify rotation angle <"(angtos atrot:rAng)">: "))) (if(not atrot:rAng)(setq atrot:rAng oldAng)) (princ "§§§ Select blocks to rotate attributes §§§") (setq errCount 0) (if (setq blSet(ssget '((0 . "INSERT")(66 . 1)))) (progn (setq blSet(mapcar 'vlax-ename->vla-object (vl-remove-if 'listp (mapcar 'cadr(ssnamex blSet))))) (foreach itm blSet (setq attLst (vlax-safearray->list (vlax-variant-value (vla-GetAttributes itm)))) (foreach att attLst (if(vl-catch-all-error-p (vl-catch-all-apply 'vla-put-Rotation(list att atrot:rAng))) (setq errCount(1+ ErrCount)) ); end if ); end foreach ); end foreach ); end progn (princ ">>> Nothing selected! <<<") ); end if (if(/= 0 errCount) (princ (strcat "\n>>> " (itoa errCount) " attributes or blocks were on locked layer! <<< ")) ); end if (princ) ); end of c:atrot 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.