
TO: Jason Osgood

FROM: Tony Tanzillo

SUBJECT: Re: Subentities in Selection Set
EID:7f3b 12351ab5
This is a major problem for me Jason. Why? How many programs have you 
seen that uses the "mark the last entity", then add some new ones, 
and then:
 
(while (setq <entity> (entnext <entity>))
       (ssadd <entity> <pickset>)
)
 
This was a way in pre-release 10 programs to create a selection set
consisting of all objects that appeared AFTER the MARKED object.
 
But!! with RELEASE 10, if the object that you start walking forward
from is a block insertion with attributes, you will get the attributes
of that block in your pickset also. In RELEASE 9 and eariler versions,
SSADD would IGNORE attributes, so even though you were still walking 
past them, it wouldn't matter. This means that we must now mark the 
last entity with something like this:
 
  (setq a (entlast))
  (cond  ( (entnext (entlast))
           <this is a complex entity>
           <walk forward until you hit SEQEND>
         )
  )
 
Here is a more reasonable example: If I wanted to insert a block,
then explode it, and then collect the resulting primitives into
a pickset, the first thing I would do is:
 
(setq mark (entlast)) ;mark the last entity (or is it?)
 
Then:
 
(command "insert" "the_block" etc....)
 
Then:
 
(command "explode" (entlast)) ; explode the block
 
Then to collect the resulting primitives:
 
(setq ss (ssadd))
(while (setq mark (entnext mark))
       (ssadd mark ss)
)
 
Now, try this in release 9, and everything works fine.
Try it in TEN, everything works fine unless the last
object prior to starting the procedure is a block
WITH ATTRIBUTES. If this is the case, then you will also
have the blocks attributes in the resulting selection set
also (the intent was to only have the objects added to the
drawing after the entity that was marked as the "last" entity.
 
They really threw a wrench into my operation when they
added this "feature".  It is requiring massive amounts
of revisions to software that is install at client sites.
 
-TonyT.
---
 * Origin: P.A.U.G. BBS (Phila Autocad Users Group)<215-322-8582> (Opus 1:150/630)
SEEN-BY: 1/12 217 218 13/9 18/418 103/501 507 710 105/4 16 27 35 69 
SEEN-BY: 105/300 301 400 106/386 109/106 114/14 132/101 133/302 
SEEN-BY: 135/10 11 138/49 52 101 140/22 141/491 147/9 150/503 630 
SEEN-BY: 151/4 100 1000 152/3 153/2 161/2 202/309 227/1 261/1004 
SEEN-BY: 265/7 343/1 345/9 362/386 369/17 371/6 382/1 402/100 
SEEN-BY: 1010/0 3601/14 3604/30 
PATH: 135/11 265/7 103/501 1/217 105/16 301 27 


