ORgrown Posted December 12, 2006 Share Posted December 12, 2006 I posted this earlier to the "How do I...?" and it was suggested I check here... ACAD 2000 or 2002 Inserting a block with one constant attribute and one changeable. Block is rotated as necessary, but the text inside and outside rotate with the block...I need both to be rotated to zero and the changeable/outside text to then be repositioned (so it's not on top of the block, etc). I've searched Cadalyst and also here, but have not found anything without buying another program. Is there a Lisp routine someone has for this or is there a different way to do this? Reply by CarlB: "This could be handled with a lisp routine. Either one that inserts the block and repositions attributes upon insertion, or one you use to "fix" already inserted blocks to rotate attributes. If you post this to the lisp/customization forum & attach a drawing of the block you'll probably find some takers." I'll try to attach the block as CarlB suggested... Thanks! FE.dwg Quote Link to comment Share on other sites More sharing options...
kpblc Posted December 12, 2006 Share Posted December 12, 2006 Try this: (defun c:attrot (/ adoc selset) (vl-load-com) (vla-startundomark (setq adoc (vla-get-activedocument (vlax-get-acad-object))) ) ;_ end of vla-startundomark (if (setq selset (ssget "_:L" '((0 . "INSERT") (66 . 1)))) (foreach blk (mapcar 'vlax-ename->vla-object (vl-remove-if 'listp (mapcar 'cadr (ssnamex selset))) ) ;_ end of mapcar (vl-catch-all-apply '(lambda () (foreach att (vlax-safearray->list (vlax-variant-value (vla-getattributes blk)) ) ;_ end of vlax-safearray->list (vl-catch-all-apply '(lambda () (vla-put-rotation att 0.) ) ;_ end of lambda ) ;_ end of vl-catch-all-apply ) ;_ end of foreach ) ;_ end of lambda ) ;_ end of vl-catch-all-apply ) ;_ end of foreach ) ;_ end of if (vla-endundomark adoc) (princ) ) ;_ end of defun (princ "\nType ATTROT in command line to start lisp") Quote Link to comment Share on other sites More sharing options...
ORgrown Posted December 12, 2006 Author Share Posted December 12, 2006 Thanks kpblc! It mostly works...the attributes are all at zero, but I'll still need to go back and reposition the external attribute to move it "out of the way"...It definitely reduces the amount of time fixing, so many thanks to you! Quote Link to comment Share on other sites More sharing options...
CarlB Posted December 12, 2006 Share Posted December 12, 2006 Hi beaverstate, My routine is 'plain' lisp but does about the same as kpblc's. It *should* rotate to 0 and move the 'outside' attribute above the block insert. (princ "\nStart with AROT") (defun c:arot () (command "_UNDO" "_BE") (princ "\nSelect blocks to rotate attributes: ") (setq Count 0) (setq Bset (ssget '((0 . "INSERT")(66 . 1)))) (setq Bnum (sslength Bset)) (repeat Bnum (setq Ename (ssname Bset Count) Att1 (entnext Ename) Att2 (entnext Att1) A1dat (entget Att1) A2dat (entget Att2) IP_Bk (cdr (assoc 10 (entget Ename))) IP_Att1 (cdr (assoc 11 A1dat)) AttOff (distance IP_Bk IP_Att1) AttPt (mapcar '+ IP_Bk (list 0.0 AttOff 0.0)) N_Att1 (subst '(50 . 0.0) (assoc 50 A1dat) A1dat) N_Att1 (subst (cons 11 AttPt) (assoc 11 N_Att1) N_Att1) N_Att2 (subst '(50 . 0.0) (assoc 50 A2dat) A2dat)) (entmod N_Att1) (entmod N_Att2) (entupd Ename) (setq Count (1+ Count)) ) (command "_UNDO" "_END") (princ) ) Quote Link to comment Share on other sites More sharing options...
ORgrown Posted December 12, 2006 Author Share Posted December 12, 2006 Thanks CarlB, I've attached another dwg as an example of what I'm working with to explain better. As you can see, simply moving the outside text above the block may not allow the text to be read as it might be in the way of other layers.... I'm hoping there is a way to actually "Pick" the location near the block for the attribute to go as its location could vary every time. Maybe it's only possible to go as far as rotating to zero, then I'll manually ATTEDIT the Position of the attribute. Thank you for the time you've taken on the routine...This is one reason I like this forum--everyone is so ready to help a colleague! ATTROTATE0.dwg Quote Link to comment Share on other sites More sharing options...
CarlB Posted December 13, 2006 Share Posted December 13, 2006 then I'll manually ATTEDIT the Position of the attribute -Don't do that, just click the attribute to show the grips, click on a grip, then drag it. The routine could be modified for you to position the attribute of the block after rotating to 0, but it may be almost as quick to reposition afterwards. Quote Link to comment Share on other sites More sharing options...
Wozza Posted December 13, 2006 Share Posted December 13, 2006 Orgrown, This is the macro we use for some blocks (in this case a floor waste, FW.dwg). It gets the ltscale and adjusts the size of the block to suit. It then pauses for the user to position it and sets the rotation to zero. The block has an attribute which we force to 'FW'. It then steps through a sequence that incorporates the attedit command (prefixed with a '-'), runs through some of the defaults and uses 'L' to selct the last attribute. A few more defaults and the attribute attaches itself to the curser and allows a final reposition. -INSERT FW S $M=$(/,$(getvar,ltscale),10) \0 FW;-attedit ;;;;L;;a 0 P;\; When you hit the floor waste button, the floor waste appears at the right size on the curser, you position it and then the attribute FW appears on the curser waiting for you to place it. There wouldn't be too much of a problem incorporating the first attribute to appear automatically at zero degrees using a similar sequence, then using the above sequence for the second attribute. Quote Link to comment Share on other sites More sharing options...
kpblc Posted December 13, 2006 Share Posted December 13, 2006 Perhaps the better way will be manuall replace attribute by grip? It seems more comfortably (i think). But running _attsync command (or _battman) could erase all changes by attributes - be careful! Quote Link to comment Share on other sites More sharing options...
ORgrown Posted December 13, 2006 Author Share Posted December 13, 2006 CarlB, Wozza, kpblc: Great stuff guys! Thanks for the suggestions. This will save me a lot of time. I really appreciate it. Quote Link to comment Share on other sites More sharing options...
JeepMaster Posted September 6, 2007 Share Posted September 6, 2007 Try this: (defun c:attrot (/ adoc selset) (vl-load-com) (vla-startundomark (setq adoc (vla-get-activedocument (vlax-get-acad-object))) ) ;_ end of vla-startundomark (if (setq selset (ssget "_:L" '((0 . "INSERT") (66 . 1)))) (foreach blk (mapcar 'vlax-ename->vla-object (vl-remove-if 'listp (mapcar 'cadr (ssnamex selset))) ) ;_ end of mapcar (vl-catch-all-apply '(lambda () (foreach att (vlax-safearray->list (vlax-variant-value (vla-getattributes blk)) ) ;_ end of vlax-safearray->list (vl-catch-all-apply '(lambda () (vla-put-rotation att 0.) ) ;_ end of lambda ) ;_ end of vl-catch-all-apply ) ;_ end of foreach ) ;_ end of lambda ) ;_ end of vl-catch-all-apply ) ;_ end of foreach ) ;_ end of if (vla-endundomark adoc) (princ) ) ;_ end of defun (princ "\nType ATTROT in command line to start lisp") Can this lisp be modified so I can enter a rotation angle? Right now it only rotates to angle 0. I have a whole bunch of attributes that needs to be rotated to certain angles. Quote Link to comment Share on other sites More sharing options...
ASMI Posted September 6, 2007 Share Posted September 6, 2007 Maybe: (defun c:atrot(/ blSet attLst errCount oldAng) (if(not atrot:rAng)(setq atrot:rAng 0)) (setq oldAng atrot:rAng atrot:rAng (getangle (strcat "\nSpecify 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 Excuse me for XRef routine I could not participate in a forum some time, owing to illness, I shall try to write it shortly... Quote Link to comment Share on other sites More sharing options...
JeepMaster Posted September 6, 2007 Share Posted September 6, 2007 Hey ASMI, It works perfectly. Thanks so much AGAIN. You're awsome. Yeah, I was wondering what happen to you. Hope you're better now. Quote Link to comment Share on other sites More sharing options...
kpblc Posted September 6, 2007 Share Posted September 6, 2007 Try this (i didn't test it): (defun c:attrot2 (/ adoc selset ang *error*) (defun *error* (msg) (vla-endundomark adoc) (princ msg) (princ) ) ;_ end of defun (vl-load-com) (vla-startundomark (setq adoc (vla-get-activedocument (vlax-get-acad-object))) ) ;_ end of vla-startundomark (if (and (not (vl-catch-all-error-p (vl-catch-all-apply '(lambda () (setq ang (cond ((getangle "\nEnter an angle to rotate attributes <0> : " ) ;_ end of getangle ) (t 0.) ) ;_ end of cond ) ;_ end of setq ) ;_ end of lambda ) ;_ end of vl-catch-all-apply ) ;_ end of vl-catch-all-error-p ) ;_ end of not ang (not (vl-catch-all-error-p (vl-catch-all-apply '(lambda () (setq selset (ssget "_:L" '((0 . "INSERT") (66 . 1)))) ) ;_ end of lambda ) ;_ end of vl-catch-all-apply ) ;_ end of vl-catch-all-error-p ) ;_ end of not selset ) ;_ end of and (foreach blk (mapcar 'vlax-ename->vla-object (vl-remove-if 'listp (mapcar 'cadr (ssnamex selset))) ) ;_ end of mapcar (vl-catch-all-apply '(lambda () (foreach att (vlax-safearray->list (vlax-variant-value (vla-getattributes blk)) ) ;_ end of vlax-safearray->list (vl-catch-all-apply '(lambda () (vla-put-rotation att ang) ) ;_ end of lambda ) ;_ end of vl-catch-all-apply ) ;_ end of foreach ) ;_ end of lambda ) ;_ end of vl-catch-all-apply ) ;_ end of foreach ) ;_ end of if (vla-endundomark adoc) (princ) ) ;_ end of defun (princ "\nType ATTROT2 in command line to start lisp") --- Edited: Oops, i'm late... Quote Link to comment Share on other sites More sharing options...
MarcoW Posted May 11, 2009 Share Posted May 11, 2009 Hi ASMI, i use your lisp (below) a lot, thanks for that one, I'm very happy with it ! I think that in my case it could be modified so it saves even more time. Can it be modified like this? : (i mean can 'you' do it...? For i can't..) 1. after command "atrot" it acad promts for the rotation angle of the attibutes. I would like to skip that question and use 0 (zero) degrees. I never use other values. This one i guess is not too hard for you guys. 2. After entering the desired degree it propmts to select the blocks. It then use 0 degrees to all attributes. That should not happen: i would like to specify a certain TAG to be set to zero. Since various blocks of mine have the same TAGs it will do exactly what i want. The original lisp I will keep unmodified in my menu for it might come in handy sometime. Quote Link to comment Share on other sites More sharing options...
MarcoW Posted May 12, 2009 Share Posted May 12, 2009 Or maybe anyone else..? Quote Link to comment Share on other sites More sharing options...
Lee Mac Posted May 12, 2009 Share Posted May 12, 2009 Give this a go: [b][color=RED]([/color][/b][b][color=BLUE]defun[/color][/b] c:atrot [b][color=RED]([/color][/b][b][color=BLUE]/[/color][/b] blSet attLst errCount tmp[b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]or[/color][/b] atrot:tag [b][color=RED]([/color][/b][b][color=BLUE]setq[/color][/b] atrot:tag [b][color=#ff00ff]""[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]setq[/color][/b] tmp [b][color=RED]([/color][/b][b][color=BLUE]getstring[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]strcat[/color][/b] [b][color=#ff00ff]"\nSpecify Tag to be Rotated <"[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]if[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]eq[/color][/b] [b][color=#ff00ff]""[/color][/b] atrot:tag[b][color=RED])[/color][/b] [b][color=#ff00ff]"*all*"[/color][/b] atrot:tag[b][color=RED])[/color][/b] [b][color=#ff00ff]">: "[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]or[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]eq[/color][/b] [b][color=#ff00ff]""[/color][/b] tmp[b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]setq[/color][/b] atrot:tag tmp[b][color=RED])[/color][/b][b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]princ[/color][/b] [b][color=#ff00ff]"<<< Select blocks to rotate attributes >>>"[/color][/b][b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]setq[/color][/b] errCount [b][color=#009900]0[/color][/b][b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]if[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]setq[/color][/b] blSet [b][color=RED]([/color][/b][b][color=BLUE]ssget[/color][/b] [b][color=DARKRED]'[/color][/b][b][color=RED]([/color][/b][b][color=RED]([/color][/b][b][color=#009900]0[/color][/b] . [b][color=#ff00ff]"INSERT"[/color][/b][b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=#009900]66[/color][/b] . [b][color=#009900]1[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]progn[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]setq[/color][/b] blSet [b][color=RED]([/color][/b][b][color=BLUE]mapcar[/color][/b] [b][color=DARKRED]'[/color][/b][b][color=BLUE]vlax-ename->vla-object[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]vl-remove-if[/color][/b] [b][color=DARKRED]'[/color][/b][b][color=BLUE]listp[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]mapcar[/color][/b] [b][color=DARKRED]'[/color][/b][b][color=BLUE]cadr[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]ssnamex[/color][/b] blSet[b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]foreach[/color][/b] itm blSet [b][color=RED]([/color][/b][b][color=BLUE]setq[/color][/b] attLst [b][color=RED]([/color][/b][b][color=BLUE]vlax-safearray->list[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]vlax-variant-value[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]vla-GetAttributes[/color][/b] itm[b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]foreach[/color][/b] att attLst [b][color=RED]([/color][/b][b][color=BLUE]and[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]eq[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]if[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]eq[/color][/b] [b][color=#ff00ff]""[/color][/b] atrot:tag[b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]vla-get-TagString[/color][/b] att[b][color=RED])[/color][/b] atrot:tag[b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]vla-get-TagString[/color][/b] att[b][color=RED])[/color][/b][b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]if[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]vl-catch-all-error-p[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]vl-catch-all-apply[/color][/b] [b][color=DARKRED]'[/color][/b][b][color=BLUE]vla-put-Rotation[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]list[/color][/b] att [b][color=#009999]0.0[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]setq[/color][/b] errCount [b][color=RED]([/color][/b][b][color=BLUE]1+[/color][/b] ErrCount[b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]princ[/color][/b] [b][color=#ff00ff]">>> Nothing selected! <<<"[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]if[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]/=[/color][/b] [b][color=#009900]0[/color][/b] errCount[b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]princ[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]strcat[/color][/b] [b][color=#ff00ff]"\n>>> "[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]itoa[/color][/b] errCount[b][color=RED])[/color][/b] [b][color=#ff00ff]" attributes or blocks were on locked layer! <<< "[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]princ[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b] Tag is case-sensitive Quote Link to comment Share on other sites More sharing options...
MarcoW Posted May 12, 2009 Share Posted May 12, 2009 Lee Mac: jawohl ... I mean, yes it works very good. Made a few macro's in the "edit" menu and I'm very happy !! This saves me a lot of time... My problem is that i have ideas enough but i can't write vba or lisp allthough i read and try allmost every evening.. Thank you for helping me out. Quote Link to comment Share on other sites More sharing options...
Lee Mac Posted May 12, 2009 Share Posted May 12, 2009 Lee Mac: jawohl ... I mean, yes it works very good.Made a few macro's in the "edit" menu and I'm very happy !! This saves me a lot of time... My problem is that i have ideas enough but i can't write vba or lisp allthough i read and try allmost every evening.. Thank you for helping me out. No worries. My problem is that I don't have enough ideas for LISP programs, as I don't use CAD... I just do the coding Quote Link to comment Share on other sites More sharing options...
filliam Posted May 14, 2009 Share Posted May 14, 2009 Hi, thanks for this really great comand!!! The angel 0 in this comand is relative to ucs world, even if my drawing uses a diffrent ucs... is it posible to change the angel to be relative to the current ucs instead? (sorry for my bad english - i hope you understand me anyway...) Quote Link to comment Share on other sites More sharing options...
leos98 Posted June 3, 2009 Share Posted June 3, 2009 Hello guys! I have not been able to get this lisp to work and I really need it! When I call the ATROT command, I get the propmt for the tag to be rotated. What am I suppose to type here? What "all" does? I have tryed typing the name of any of the attribute tags on the block I would like to rotate to zero but no luck. This is what I keep getting: Command: ATROT Specify Tag to be Rotated : S >> Select objects: 1 found Select objects: ; error: no function definition: nil Please Help! Give this a go: [b][color=red]([/color][/b][b][color=blue]defun[/color][/b] c:atrot [b][color=red]([/color][/b][b][color=blue]/[/color][/b] blSet attLst errCount tmp[b][color=red])[/color][/b] [b][color=red]([/color][/b][b][color=blue]or[/color][/b] atrot:tag [b][color=red]([/color][/b][b][color=blue]setq[/color][/b] atrot:tag [b][color=#ff00ff]""[/color][/b][b][color=red])[/color][/b][b][color=red])[/color][/b] [b][color=red]([/color][/b][b][color=blue]setq[/color][/b] tmp [b][color=red]([/color][/b][b][color=blue]getstring[/color][/b] [b][color=red]([/color][/b][b][color=blue]strcat[/color][/b] [b][color=#ff00ff]"\nSpecify Tag to be Rotated <"[/color][/b] [b][color=red]([/color][/b][b][color=blue]if[/color][/b] [b][color=red]([/color][/b][b][color=blue]eq[/color][/b] [b][color=#ff00ff]""[/color][/b] atrot:tag[b][color=red])[/color][/b] [b][color=#ff00ff]"*all*"[/color][/b] atrot:tag[b][color=red])[/color][/b] [b][color=#ff00ff]">: "[/color][/b][b][color=red])[/color][/b][b][color=red])[/color][/b][b][color=red])[/color][/b] [b][color=red]([/color][/b][b][color=blue]or[/color][/b] [b][color=red]([/color][/b][b][color=blue]eq[/color][/b] [b][color=#ff00ff]""[/color][/b] tmp[b][color=red])[/color][/b] [b][color=red]([/color][/b][b][color=blue]setq[/color][/b] atrot:tag tmp[b][color=red])[/color][/b][b][color=red])[/color][/b] [b][color=red]([/color][/b][b][color=blue]princ[/color][/b] [b][color=#ff00ff]"<<< Select blocks to rotate attributes >>>"[/color][/b][b][color=red])[/color][/b] [b][color=red]([/color][/b][b][color=blue]setq[/color][/b] errCount [b][color=#009900]0[/color][/b][b][color=red])[/color][/b] [b][color=red]([/color][/b][b][color=blue]if[/color][/b] [b][color=red]([/color][/b][b][color=blue]setq[/color][/b] blSet [b][color=red]([/color][/b][b][color=blue]ssget[/color][/b] [b][color=darkred]'[/color][/b][b][color=red]([/color][/b][b][color=red]([/color][/b][b][color=#009900]0[/color][/b] . [b][color=#ff00ff]"INSERT"[/color][/b][b][color=red])[/color][/b] [b][color=red]([/color][/b][b][color=#009900]66[/color][/b] . [b][color=#009900]1[/color][/b][b][color=red])[/color][/b][b][color=red])[/color][/b][b][color=red])[/color][/b][b][color=red])[/color][/b] [b][color=red]([/color][/b][b][color=blue]progn[/color][/b] [b][color=red]([/color][/b][b][color=blue]setq[/color][/b] blSet [b][color=red]([/color][/b][b][color=blue]mapcar[/color][/b] [b][color=darkred]'[/color][/b][b][color=blue]vlax-ename->vla-object[/color][/b] [b][color=red]([/color][/b][b][color=blue]vl-remove-if[/color][/b] [b][color=darkred]'[/color][/b][b][color=blue]listp[/color][/b] [b][color=red]([/color][/b][b][color=blue]mapcar[/color][/b] [b][color=darkred]'[/color][/b][b][color=blue]cadr[/color][/b] [b][color=red]([/color][/b][b][color=blue]ssnamex[/color][/b] blSet[b][color=red])[/color][/b][b][color=red])[/color][/b][b][color=red])[/color][/b][b][color=red])[/color][/b][b][color=red])[/color][/b] [b][color=red]([/color][/b][b][color=blue]foreach[/color][/b] itm blSet [b][color=red]([/color][/b][b][color=blue]setq[/color][/b] attLst [b][color=red]([/color][/b][b][color=blue]vlax-safearray->list[/color][/b] [b][color=red]([/color][/b][b][color=blue]vlax-variant-value[/color][/b] [b][color=red]([/color][/b][b][color=blue]vla-GetAttributes[/color][/b] itm[b][color=red])[/color][/b][b][color=red])[/color][/b][b][color=red])[/color][/b][b][color=red])[/color][/b] [b][color=red]([/color][/b][b][color=blue]foreach[/color][/b] att attLst [b][color=red]([/color][/b][b][color=blue]and[/color][/b] [b][color=red]([/color][/b][b][color=blue]eq[/color][/b] [b][color=red]([/color][/b][b][color=blue]if[/color][/b] [b][color=red]([/color][/b][b][color=blue]eq[/color][/b] [b][color=#ff00ff]""[/color][/b] atrot:tag[b][color=red])[/color][/b] [b][color=red]([/color][/b][b][color=blue]vla-get-TagString[/color][/b] att[b][color=red])[/color][/b] atrot:tag[b][color=red])[/color][/b] [b][color=red]([/color][/b][b][color=blue]vla-get-TagString[/color][/b] att[b][color=red])[/color][/b][b][color=red])[/color][/b] [b][color=red]([/color][/b][b][color=blue]if[/color][/b] [b][color=red]([/color][/b][b][color=blue]vl-catch-all-error-p[/color][/b] [b][color=red]([/color][/b][b][color=blue]vl-catch-all-apply[/color][/b] [b][color=darkred]'[/color][/b][b][color=blue]vla-put-Rotation[/color][/b] [b][color=red]([/color][/b][b][color=blue]list[/color][/b] att [b][color=#009999]0.0[/color][/b][b][color=red])[/color][/b][b][color=red])[/color][/b][b][color=red])[/color][/b] [b][color=red]([/color][/b][b][color=blue]setq[/color][/b] errCount [b][color=red]([/color][/b][b][color=blue]1+[/color][/b] ErrCount[b][color=red])[/color][/b][b][color=red])[/color][/b][b][color=red])[/color][/b][b][color=red])[/color][/b][b][color=red])[/color][/b][b][color=red])[/color][/b][b][color=red])[/color][/b] [b][color=red]([/color][/b][b][color=blue]princ[/color][/b] [b][color=#ff00ff]">>> Nothing selected! <<<"[/color][/b][b][color=red])[/color][/b][b][color=red])[/color][/b] [b][color=red]([/color][/b][b][color=blue]if[/color][/b] [b][color=red]([/color][/b][b][color=blue]/=[/color][/b] [b][color=#009900]0[/color][/b] errCount[b][color=red])[/color][/b] [b][color=red]([/color][/b][b][color=blue]princ[/color][/b] [b][color=red]([/color][/b][b][color=blue]strcat[/color][/b] [b][color=#ff00ff]"\n>>> "[/color][/b] [b][color=red]([/color][/b][b][color=blue]itoa[/color][/b] errCount[b][color=red])[/color][/b] [b][color=#ff00ff]" attributes or blocks were on locked layer! <<< "[/color][/b][b][color=red])[/color][/b][b][color=red])[/color][/b][b][color=red])[/color][/b] [b][color=red]([/color][/b][b][color=blue]princ[/color][/b][b][color=red])[/color][/b][b][color=red])[/color][/b] Tag is case-sensitive 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.