Visual LISP, AutoLISP and General Customization
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

ssget shortcoming

15 REPLIES 15
SOLVED
Reply
Message 1 of 16
john.uhden
836 Views, 15 Replies

ssget shortcoming

I guess that most of you have known this already...

(ssget "_Fence" ...) followed by ssnamex does NOT pick up intersection points outside of the current view.

I don't know if this happens with "W", "C", "CW", and "CP" but I guess it means I'll have to use boundingbox on all the selected objects to determine and zoom to the extents of the selection set before processing.  Or at least zoom to the extents of the fence.  Maybe it's ssnamex's fault.

Any other ideas?

John F. Uhden

15 REPLIES 15
Message 2 of 16
Sea-Haven
in reply to: john.uhden

Not sure why not working I pushed all objects off screen and still worked ?

 

(setq plent (entsel "\nPick rectang"))
(if plent (setq co-ord (mapcar 'cdr (vl-remove-if-not '(lambda (x) (= (car x) 10)) (entget (car plent))))))
(princ co-ord)

I erased the pline used to get points and pushed all crossing objects off the screen.

(SETq SS (SSGET "F" CO-ORD))
<Selection set: 0000000066562E70>
: (sslength ss)
4

 Maybe misunderstanding your use of ssget "F".

 

Have used for years and no problems. 

Message 3 of 16
komondormrex
in reply to: john.uhden

actually it does. tested with circles off the visible area and a pline. give your not working example.

Message 4 of 16
ВeekeeCZ
in reply to: john.uhden

The OFFSCREEN selection was introduced in ACAD 2017, so it could behave differently since then.

Message 5 of 16
john.uhden
in reply to: ВeekeeCZ

@ВeekeeCZ ,

As you might recall, I still do my coding and testing mostly in 2002 at home.

I'll have to check the results on my C3D2020 work computer, with and without the OFFSCREEN setting.

John F. Uhden

Message 6 of 16
john.uhden
in reply to: komondormrex

@komondormrex ,

I'm not sure I understand your response.  Did you mean to say that it IS ssnamex's fault?

Do you think @ВeekeeCZ 's OFFSCREEN setting fixes that?

Of course, that doesn't help me in 2002, so I think I'll have to add a boundingbox zooming function.  My pool liner/cover client still uses 2002.

John F. Uhden

Message 7 of 16
pbejse
in reply to: john.uhden

*Off topic* but related in a way i think, I have an issue with ssnamex "pick point" value, sometimes the point given is way over the swamp, that's why I stopped using it for that intention. Do you know why that is that @john.uhden? Does it also have to do with Zoom?

 

 

Message 8 of 16
komondormrex
in reply to: john.uhden

@john.uhden

i checked your problem and ssnamex gave intersection points, but alas, it was not 2002. 

Message 9 of 16
john.uhden
in reply to: pbejse

@pbejse ,

I suspect that is so, so I intend to find out.

I have not trusted ssnamex in the past, but when it works it is the most convenient way to select objects along a fence line because there doesn't have to be an exact intersection, including Z.  Plus, the points are sorted in order, which is a requirement of my MBREAK program that I am rebuilding.

John F. Uhden

Message 10 of 16
john.uhden
in reply to: komondormrex

@komondormrex ,

What was the status of the OFFSCREEN var?

If it was ON could you try the same test with it OFF?

John F. Uhden

Message 11 of 16
Sea-Haven
in reply to: john.uhden

Removed pm sent.

Message 12 of 16
john.uhden
in reply to: pbejse

@pbejse , @komondormrex , @ВeekeeCZ , @Sea-Haven ,

That was it.  I made and called a @checkzoom function to zoom window to the min and max Xs and Ys prior to processing, and got the correct solution.  It really doesn't slow things down even noticeably.  YAY!  😁

John F. Uhden

Message 13 of 16
john.uhden
in reply to: Sea-Haven

@Sea-Haven ,

I should have made my statements more clear.

Apparently, the ssget is not the problem but ssnamex is when a part of the object is offscreen.  And I don't know if it's part of the fence line that's out of view or part of a selected object that is out of view, or both.  But as long as I have a solution, I don't care to do any more investigation.

John F. Uhden

Message 14 of 16
john.uhden
in reply to: Sea-Haven

@Sea-Haven ,
That's nice, but my pool liner company hasn't had to update its AutoCAD in
22 years. Um, but they have had to pay me for every new install or
reinstall. 😋
At least it pays for the gas to get there.

John F. Uhden

Message 15 of 16
komondormrex
in reply to: john.uhden

@john.uhden 

1.

2022.

selectionoffscreen set to 0. (ssget "_f") selects off screen objects. ssnamex gives intersection points.

 

2.

2017 prior to introduction of selectionoffscreen variable.

(ssget "_f") selects nothing off the screen.

 

3.

komondormrex_1-1720766023823.png

 

Message 16 of 16
pbejse
in reply to: john.uhden

I did notice the behavior i describe on my last message was brought about by the view is skewed.

You will see the value of BASE is not 0.0 0.0. FYI

 

Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums  

AutoCAD Inside the Factory


Autodesk Design & Make Report