<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Attribute window select in Visual LISP, AutoLISP and General Customization Forum</title>
    <link>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/attribute-window-select/m-p/12773625#M13983</link>
    <description>&lt;P&gt;This is an oldy of mine. Will 'move' single attribute to new location P1.&lt;/P&gt;&lt;P&gt;Maybe you can use the 'attedit' to do what you wanted for multiple attributes.&lt;/P&gt;&lt;P&gt;Won't do Text.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;ECCAD&lt;/P&gt;&lt;LI-CODE lang="general"&gt;;; MAT.LSP, (C)opyright 2001, Control Systems &amp;amp; Services, L.L.C.
;; Function: to Move a given Attribute's location..
;; Revised: 07-Oct-2001, new program..
(defun C:MAT ()
 (setvar "CMDECHO" 0)
 (setvar "ORTHOMODE" 1)
 (setq P2 (getpoint "\nPick Window around Attribute to Move: "))
 (setq P3 (getcorner P2 "\nPick other Window Point: "))
 (setq P1 nil)
  (while (= P1 nil)
   (prompt (strcat "\nPick a new location for this Attribute: "))
   (setq P1 (getpoint))
  ); end while
 (command "_attedit" "_Y" "*" "*" "*" "_w" P2 P3 "_P" P1 "")
 (setq P1 nil P2 nil P3 nil)
 (princ)
); end function
(princ)&lt;/LI-CODE&gt;</description>
    <pubDate>Tue, 14 May 2024 22:58:38 GMT</pubDate>
    <dc:creator>ec-cad</dc:creator>
    <dc:date>2024-05-14T22:58:38Z</dc:date>
    <item>
      <title>Attribute window select</title>
      <link>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/attribute-window-select/m-p/12771739#M13977</link>
      <description>&lt;P&gt;Hi guys!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Is there a way to select multiple attributes (if possible even from multiple different blocks) via a normal selection window?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;When i want to move or edit other factors i always need to select the attributes i want one by one.&lt;/P&gt;&lt;P&gt;So the goal is to select the attributes with a window/cross select window as the attributes would be normal texts.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;If possible it woud also be nice, that the LISP is capable of selecting attributes and normal text at the same time.&lt;/P&gt;</description>
      <pubDate>Tue, 14 May 2024 09:51:20 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/attribute-window-select/m-p/12771739#M13977</guid>
      <dc:creator>thomas_schluesselberger</dc:creator>
      <dc:date>2024-05-14T09:51:20Z</dc:date>
    </item>
    <item>
      <title>Re: Attribute window select</title>
      <link>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/attribute-window-select/m-p/12771858#M13978</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://forums.autodesk.com/t5/user/viewprofilepage/user-id/13278717"&gt;@thomas_schluesselberger&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;
&lt;P&gt;&lt;SPAN&gt;.... Is there a way to select multiple attributes (if possible even from multiple different blocks) via a normal selection window? ....&lt;/SPAN&gt;&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;No, unfortunately.&amp;nbsp; Window selection can "see" only top-level objects, not nested ones.&lt;/P&gt;</description>
      <pubDate>Tue, 14 May 2024 10:34:57 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/attribute-window-select/m-p/12771858#M13978</guid>
      <dc:creator>Kent1Cooper</dc:creator>
      <dc:date>2024-05-14T10:34:57Z</dc:date>
    </item>
    <item>
      <title>Re: Attribute window select</title>
      <link>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/attribute-window-select/m-p/12771863#M13979</link>
      <description>&lt;P&gt;Is there maybe some way LISP could help?&lt;/P&gt;</description>
      <pubDate>Tue, 14 May 2024 10:36:05 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/attribute-window-select/m-p/12771863#M13979</guid>
      <dc:creator>thomas_schluesselberger</dc:creator>
      <dc:date>2024-05-14T10:36:05Z</dc:date>
    </item>
    <item>
      <title>Re: Attribute window select</title>
      <link>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/attribute-window-select/m-p/12772351#M13980</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://forums.autodesk.com/t5/user/viewprofilepage/user-id/13278717"&gt;@thomas_schluesselberger&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;
&lt;P&gt;Is there maybe some way LISP could help?&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Probably not, if I understand what you intend.&amp;nbsp; But illustrate for us.&amp;nbsp; Do you, for example, want to select, say, two Attributes from one Block which also contains other Attributes that you &lt;EM&gt;don't&lt;/EM&gt; want selected, and at the same time one Attribute from another Block which also contains others you &lt;EM&gt;don't&lt;/EM&gt; want?&amp;nbsp; That could be achievable by picking on them individually, but with a window?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Maybe&lt;/EM&gt; AutoLisp could take your window as a Crossing-type one, find the Blocks involved, and look at their Attributes.&amp;nbsp; But narrowing it down to those that are inside the window [rather than by, for example, their Tags] seems next to impossible, considering that positions of things nested in Blocks are stored at coordinates relative to the Block's insertion point, not to the window used to select it nor to the current Coordinate System, and with the complications of scale factors other than 1 and rotation other than 0, and the fact that Attributes [if not defined to prevent it]&amp;nbsp;&lt;EM&gt;can be moved&lt;/EM&gt; from their original positions in the Block definition, etc., etc.&amp;nbsp; [I haven't looked at what happens to an Attribute's locational entity data relative to the Block's insertion point if the Attribute gets re-positioned.]&amp;nbsp; I wouldn't say it can't be done, but it seems very daunting.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;[I confess -- I'm curious:&amp;nbsp; What kind of purpose would you have for selecting multiple but not all Attributes in multiple Blocks at the same time?]&lt;/P&gt;</description>
      <pubDate>Tue, 14 May 2024 13:41:23 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/attribute-window-select/m-p/12772351#M13980</guid>
      <dc:creator>Kent1Cooper</dc:creator>
      <dc:date>2024-05-14T13:41:23Z</dc:date>
    </item>
    <item>
      <title>Re: Attribute window select</title>
      <link>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/attribute-window-select/m-p/12772368#M13981</link>
      <description>&lt;P&gt;eg. to rotate 'em. or move alongside. or anything else.&lt;/P&gt;</description>
      <pubDate>Tue, 14 May 2024 13:54:34 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/attribute-window-select/m-p/12772368#M13981</guid>
      <dc:creator>komondormrex</dc:creator>
      <dc:date>2024-05-14T13:54:34Z</dc:date>
    </item>
    <item>
      <title>Re: Attribute window select</title>
      <link>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/attribute-window-select/m-p/12772373#M13982</link>
      <description>&lt;P&gt;Hi!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I attached you a video.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The rectangles with the numbers are each a block with an attribute.&lt;/P&gt;&lt;P&gt;I would like to mark these attributes using window selection, so that i can change the value, widht, ...&lt;/P&gt;&lt;P&gt;Currently I always have to select them one by one with CTRL+left click.&lt;/P&gt;</description>
      <pubDate>Tue, 14 May 2024 13:50:58 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/attribute-window-select/m-p/12772373#M13982</guid>
      <dc:creator>thomas_schluesselberger</dc:creator>
      <dc:date>2024-05-14T13:50:58Z</dc:date>
    </item>
    <item>
      <title>Re: Attribute window select</title>
      <link>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/attribute-window-select/m-p/12773625#M13983</link>
      <description>&lt;P&gt;This is an oldy of mine. Will 'move' single attribute to new location P1.&lt;/P&gt;&lt;P&gt;Maybe you can use the 'attedit' to do what you wanted for multiple attributes.&lt;/P&gt;&lt;P&gt;Won't do Text.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;ECCAD&lt;/P&gt;&lt;LI-CODE lang="general"&gt;;; MAT.LSP, (C)opyright 2001, Control Systems &amp;amp; Services, L.L.C.
;; Function: to Move a given Attribute's location..
;; Revised: 07-Oct-2001, new program..
(defun C:MAT ()
 (setvar "CMDECHO" 0)
 (setvar "ORTHOMODE" 1)
 (setq P2 (getpoint "\nPick Window around Attribute to Move: "))
 (setq P3 (getcorner P2 "\nPick other Window Point: "))
 (setq P1 nil)
  (while (= P1 nil)
   (prompt (strcat "\nPick a new location for this Attribute: "))
   (setq P1 (getpoint))
  ); end while
 (command "_attedit" "_Y" "*" "*" "*" "_w" P2 P3 "_P" P1 "")
 (setq P1 nil P2 nil P3 nil)
 (princ)
); end function
(princ)&lt;/LI-CODE&gt;</description>
      <pubDate>Tue, 14 May 2024 22:58:38 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/attribute-window-select/m-p/12773625#M13983</guid>
      <dc:creator>ec-cad</dc:creator>
      <dc:date>2024-05-14T22:58:38Z</dc:date>
    </item>
    <item>
      <title>Re: Attribute window select</title>
      <link>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/attribute-window-select/m-p/12773922#M13984</link>
      <description>&lt;P&gt;If its a block repeated then could move the attribute values say a fixed amount away from the square number if that is what you want, can see all sorts of problems when more than 1 attribute.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Post a dwg with a before and an after. Need more information about what it is your trying to do.&lt;/P&gt;</description>
      <pubDate>Wed, 15 May 2024 03:02:05 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/attribute-window-select/m-p/12773922#M13984</guid>
      <dc:creator>Sea-Haven</dc:creator>
      <dc:date>2024-05-15T03:02:05Z</dc:date>
    </item>
    <item>
      <title>Re: Attribute window select</title>
      <link>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/attribute-window-select/m-p/12774113#M13985</link>
      <description>&lt;P&gt;Well there is not really an example DWG.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I just want the attributes to be selected, like when you select them with CTRL+leftclick.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 15 May 2024 05:36:58 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/attribute-window-select/m-p/12774113#M13985</guid>
      <dc:creator>thomas_schluesselberger</dc:creator>
      <dc:date>2024-05-15T05:36:58Z</dc:date>
    </item>
    <item>
      <title>Re: Attribute window select</title>
      <link>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/attribute-window-select/m-p/12774599#M13986</link>
      <description>&lt;P&gt;Here is my contribution.&amp;nbsp;It's just about proving the concept - dirty enough.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;And no. Not going to do the actual att window selection.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Probably required at least 2022.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;(vl-load-com)

(defun c:SelectAtts ( / s g i l e)
  
  (if (and (setq s (ssget "_:L" '((0 . "INSERT") (66 . 1))))
	   (setq g "")
	   (progn
	     (while (setq e (car (nentsel "\nSelect att for tag filter &amp;lt;all&amp;gt;: ")))
	       (setq g (strcat (getpropertyvalue e "Tag") "," g)))
	     (setq g (if (= g "") "*" g)))
	   )
    (progn
      (repeat (setq i (sslength s))
	(mapcar '(lambda (a)
		   (if (wcmatch (vla-get-tagstring a) g)
		     (setq l (cons (list a
					 (vla-get-alignment a)
					 (vla-get-textstring a)
					 (progn
					   (vla-put-alignment a 10)
					   (vla-put-textstring a "X")
					   (vlax-get a 'TextAlignmentPoint)))
				   l))))
		(vlax-invoke (vlax-ename-&amp;gt;vla-object (ssname s (setq i (1- i)))) 'getattributes)))
      (setvar 'cmdecho 0)
      (initcommandversion)
      (command "_.select")
      (foreach a l (command "_sub" (trans (last a) 0 1)))
      (foreach a l
	(vla-put-alignment (car a) (cadr a))
	(vla-put-textstring (car a) (caddr a)))
      (command "")
      (setvar 'cmdecho 1)))
  (princ)
  )
&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sat, 25 May 2024 18:34:04 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/attribute-window-select/m-p/12774599#M13986</guid>
      <dc:creator>ВeekeeCZ</dc:creator>
      <dc:date>2024-05-25T18:34:04Z</dc:date>
    </item>
    <item>
      <title>Re: Attribute window select</title>
      <link>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/attribute-window-select/m-p/12777559#M13987</link>
      <description>&lt;P&gt;Hi!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;So this is already something.&lt;/P&gt;&lt;P&gt;For me it's also ok that you have to select blocks whose attributes are getting marked.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;There are only two things that don't work quite as well as I would like:&lt;/P&gt;&lt;P&gt;I would be very happy if you would take a moment to adapt/fix this things.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;- The default value of "Select att for tag filter" should not be "all".&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp;I would need it so that only attributes that have a value and are visible are getting marked.&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp;But the option to select an attribute to filter by its tag is great and should remain.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;- Strangely, attributes of unmarked blocks are also selected if the attribute filter is set to "all".&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp;This happens when the blocks are near the blocks i select.&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp;(i attached you a video where i show the problem)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you in advance!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 16 May 2024 11:23:02 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/attribute-window-select/m-p/12777559#M13987</guid>
      <dc:creator>thomas_schluesselberger</dc:creator>
      <dc:date>2024-05-16T11:23:02Z</dc:date>
    </item>
    <item>
      <title>Re: Attribute window select</title>
      <link>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/attribute-window-select/m-p/12777612#M13988</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://forums.autodesk.com/t5/user/viewprofilepage/user-id/13278717"&gt;@thomas_schluesselberger&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;&lt;P&gt;I just want the attributes to be selected, like when you select them with CTRL+leftclick.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;to do with them afterwards what?&lt;/P&gt;</description>
      <pubDate>Thu, 16 May 2024 11:43:59 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/attribute-window-select/m-p/12777612#M13988</guid>
      <dc:creator>komondormrex</dc:creator>
      <dc:date>2024-05-16T11:43:59Z</dc:date>
    </item>
    <item>
      <title>Re: Attribute window select</title>
      <link>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/attribute-window-select/m-p/12777615#M13989</link>
      <description>&lt;P&gt;Everything possible.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Adjust rotation, move, adjust width factor, adjust text height, change layer, change color, etc...&lt;/P&gt;</description>
      <pubDate>Thu, 16 May 2024 11:46:16 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/attribute-window-select/m-p/12777615#M13989</guid>
      <dc:creator>thomas_schluesselberger</dc:creator>
      <dc:date>2024-05-16T11:46:16Z</dc:date>
    </item>
    <item>
      <title>Re: Attribute window select</title>
      <link>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/attribute-window-select/m-p/12779309#M13990</link>
      <description>&lt;P&gt;If you do a bit of gogling you will find some examples I do say some as you have asked for multiple options. So various lisp functions joined together.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;You would just start with a SSGET and filter for blocks, using VLisp can get attributes and then for each attribute change a property. This is just a show properties for an attribute.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="general"&gt;(defun c:wow ( / obj)
(setq obj (vlax-ename-&amp;gt;vla-object (car (nentsel "\nSelect an Attribute"))))
(vlax-dump-object obj)
)&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;I would write a defun for each option. Testing as you go.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="SeaHaven_0-1715910763746.png" style="width: 600px;"&gt;&lt;img src="https://forums.autodesk.com/t5/image/serverpage/image-id/1363624i1E3312271FE21625/image-size/medium?v=v2&amp;amp;px=400" role="button" title="SeaHaven_0-1715910763746.png" alt="SeaHaven_0-1715910763746.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="general"&gt;(if (not AH:Butts)(load "Multi Radio buttons.lsp"))
(setq ans (ah:butts 1 "V" '("Choose an Option" "rotation" "move" "adjust width factor" "adjust text height" "change layer" "change color")))&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 17 May 2024 01:54:29 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/attribute-window-select/m-p/12779309#M13990</guid>
      <dc:creator>Sea-Haven</dc:creator>
      <dc:date>2024-05-17T01:54:29Z</dc:date>
    </item>
    <item>
      <title>Re: Attribute window select</title>
      <link>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/attribute-window-select/m-p/12780531#M13991</link>
      <description>&lt;P&gt;as for me, i would rather prefer the attributes be selected somewhat like that.&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="komondormrex_0-1715955597796.gif" style="width: 600px;"&gt;&lt;img src="https://forums.autodesk.com/t5/image/serverpage/image-id/1363837iF865E5E12769B440/image-size/medium?v=v2&amp;amp;px=400" role="button" title="komondormrex_0-1715955597796.gif" alt="komondormrex_0-1715955597796.gif" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 17 May 2024 14:25:04 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/attribute-window-select/m-p/12780531#M13991</guid>
      <dc:creator>komondormrex</dc:creator>
      <dc:date>2024-05-17T14:25:04Z</dc:date>
    </item>
    <item>
      <title>Re: Attribute window select</title>
      <link>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/attribute-window-select/m-p/12781321#M13992</link>
      <description>&lt;P&gt;Here is a Lisp (old and new vl mixed) that will get a 'list' - ss2, that contains all the attributes&lt;/P&gt;&lt;P&gt;within a Picked Window. Returns a list of each that are found in that Window.&lt;/P&gt;&lt;P&gt;It prints the Tagname, and Value. It does NOT do anything with those attributes, just lists them.&lt;/P&gt;&lt;P&gt;You can probably use this lisp as a Function, then 'if ss2 ....... do whatever to each of them.&lt;/P&gt;&lt;LI-CODE lang="general"&gt;;; GET_ATTS.lsp
;; Written by ECCAD for AutoDesk Forum, 5/17/2024
;; Function: to get a selection set of just 'Attributes' "ATTDEF"'s that fall within a Window.

;; Function to determine if the ATTDEF falls within a window, based on it's insertion point.
;; Send in Selection Set, and Window Points

 (vl-load-com)

 (defun is_in_window ( ss P1 P2 ); returns ss2, attdef's with insertion points 'inside' window.
  (if ss
   (progn
    (setq X1 (car P1) Y1 (cadr P1)); Window points P1, X &amp;amp; Y
    (setq X2 (car P2) Y2 (cadr P2)); Window points P2, X &amp;amp; Y
    (if (&amp;gt; X1 X2); Windowed from Right to Left - swap points
     (setq T1 X1 X2 X1 X1 T1 T2 Y1 Y1 Y2 Y2 T2)
    ); if
    (setq N (sslength ss) I 0)
    (repeat N
     (setq blk (vlax-ename-&amp;gt;vla-object (ssname ss I)))
     (if (safearray-value (setq atts (vlax-variant-value (vla-getattributes blk))))
      (progn
       (setq atts (vlax-safearray-&amp;gt;list (vlax-variant-value (vla-getattributes blk))))
        (foreach att atts
         (setq nam (vla-get-objectname att))
          (if (= nam "AcDbAttribute")
           (progn
            (setq IP (vlax-safearray-&amp;gt;list (vlax-variant-value (vla-get-insertionpoint att))))
            (setq X (car IP) Y (cadr IP))
            (if (and (&amp;gt; X X1)(&amp;lt; X X2)(&amp;gt; Y Y2)(&amp;lt; Y Y1))
             (progn
              (setq ent (vlax-vla-object-&amp;gt;ename att))
              (setq ss2 (cons (entget ent) ss2))
             ); progn
            ); if it is in window
          ); progn
         ); if nam =
        ); foreach
       ); progn
      ); if safe array
     (setq I (+ I 1))
     ); repeat
    ); progn
   ); if ss
  (princ)
 ); function

 (defun C:GO ( )

;; Get the selection set
;;
  (setq ss2 (list)); blank list of entities
  (setq P1 (getpoint "\nPick Upper Left Window Point"))
  (setq P2 (getcorner P1 "\nPick Lower Right Window Point"))
  (if (and (/= P1 nil)(/= P2 nil))
   (progn
    (setq ss1 (ssget "C" P1 P2 (list (cons 0 "INSERT"))))
    (is_in_window ss1 P1 P2)
    (if ss2
     (progn
      (foreach attr ss2
       (setq tag "" value "")
       (setq tag (cdr (assoc 2 attr)) value (cdr (assoc 1 attr)))
       (if (and (/= tag "")(/= value ""))
        (progn
         (princ "\n")
         (princ (strcat "\nFound Attribute: Tagname = " tag " and Value = " value))
        ); progn
       ); if
      ); foreach
     ); progn
    ); if ss2
   ); progn
  ); if P1/P2
 (princ)
 ); function C:GO
 (princ "\nType GO to run:")

&lt;/LI-CODE&gt;&lt;P&gt;Seems to work for a few samples I ran.&lt;/P&gt;&lt;P&gt;ECCAD&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 17 May 2024 21:32:21 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/attribute-window-select/m-p/12781321#M13992</guid>
      <dc:creator>ec-cad</dc:creator>
      <dc:date>2024-05-17T21:32:21Z</dc:date>
    </item>
    <item>
      <title>Re: Attribute window select</title>
      <link>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/attribute-window-select/m-p/12781755#M13993</link>
      <description>&lt;P&gt;At line 61 you get an attribute, would you not then just do the selected function changes&amp;nbsp; as shown in the dcl at post 14,&amp;nbsp;&amp;nbsp;It should have been this Multi Toggles.lsp.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="general"&gt;(foreach attr ss2&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I think we need Thomas to come forward with some actual values of what is to be changed eg color is simple change. Red now Green, 1 -&amp;gt; 3.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Like the idea of checking is attribute in selection window, should it be able to do multiple window selects say a while with P1 P2 but a single attribute would be pick twice. ie non linear arrangement of attributes, I can see that as next request.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sat, 18 May 2024 04:59:16 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/attribute-window-select/m-p/12781755#M13993</guid>
      <dc:creator>Sea-Haven</dc:creator>
      <dc:date>2024-05-18T04:59:16Z</dc:date>
    </item>
    <item>
      <title>Betreff: Attribute window select</title>
      <link>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/attribute-window-select/m-p/12786666#M13994</link>
      <description>&lt;P&gt;Hello everyone!&lt;/P&gt;&lt;P&gt;Thank you for your efforts.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;What I'm searching for is relatively exactly what &lt;a href="https://forums.autodesk.com/t5/user/viewprofilepage/user-id/13423916"&gt;@komondormrex&lt;/a&gt;&amp;nbsp;did.&lt;/P&gt;&lt;P&gt;The only thing I'm not sure about is whether the LISP just highlights the attributes or whether the attributes are really selected as if I were selecting them with CTRL-left click.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Regarding the question from &lt;a href="https://forums.autodesk.com/t5/user/viewprofilepage/user-id/6254908"&gt;@Sea-Haven&lt;/a&gt;:&lt;/P&gt;&lt;P&gt;The LISP itself should not make any changes to the attributes themselves. The LISP itself should only mark the attributes. I would then like to make the changes in the quick properties.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 21 May 2024 08:08:53 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/attribute-window-select/m-p/12786666#M13994</guid>
      <dc:creator>thomas_schluesselberger</dc:creator>
      <dc:date>2024-05-21T08:08:53Z</dc:date>
    </item>
    <item>
      <title>Betreff: Attribute window select</title>
      <link>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/attribute-window-select/m-p/12789788#M13995</link>
      <description>&lt;P&gt;&lt;a href="https://forums.autodesk.com/t5/user/viewprofilepage/user-id/13278717"&gt;@thomas_schluesselberger&lt;/a&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;in the try-off, it is selecting. to get attributes selected as one does with ctrl-click is the trickiest part of the routine.)&lt;/P&gt;</description>
      <pubDate>Wed, 22 May 2024 11:38:07 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/attribute-window-select/m-p/12789788#M13995</guid>
      <dc:creator>komondormrex</dc:creator>
      <dc:date>2024-05-22T11:38:07Z</dc:date>
    </item>
    <item>
      <title>Re: Attribute window select</title>
      <link>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/attribute-window-select/m-p/12791779#M13996</link>
      <description>&lt;P&gt;Wanting to use Quick properties. If you make a selection set then can pass that to the "Select" command and the properties window will display.&lt;/P&gt;&lt;LI-CODE lang="general"&gt;(command "properties")
(vla-sendcommand (vla-get-activedocument (vlax-get-acad-object)) "_.Select !ss2  ")&lt;/LI-CODE&gt;&lt;P&gt;I have code but doing something wrong at making SS2 a selection set. It will work at higher level ie select blocks. I don't think you can make a selection set of attributes and use Quick properties.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 23 May 2024 04:26:26 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/attribute-window-select/m-p/12791779#M13996</guid>
      <dc:creator>Sea-Haven</dc:creator>
      <dc:date>2024-05-23T04:26:26Z</dc:date>
    </item>
  </channel>
</rss>

