Announcements
Attention for Customers without Multi-Factor Authentication or Single Sign-On - OTP Verification rolls out April 2025. Read all about it here.

ssget shortcoming

john.uhden
Mentor

ssget shortcoming

john.uhden
Mentor
Mentor

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

0 Likes
Reply
993 Views
15 Replies
Replies (15)

Sea-Haven
Mentor
Mentor

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. 

0 Likes

komondormrex
Advisor
Advisor

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

0 Likes

ВeekeeCZ
Consultant
Consultant
Accepted solution

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

0 Likes

john.uhden
Mentor
Mentor

@В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

0 Likes

john.uhden
Mentor
Mentor

@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

0 Likes

pbejse
Mentor
Mentor

*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?

 

 

0 Likes

komondormrex
Advisor
Advisor

@john.uhden

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

0 Likes

john.uhden
Mentor
Mentor

@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

0 Likes

john.uhden
Mentor
Mentor

@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

0 Likes

Sea-Haven
Mentor
Mentor
Accepted solution

Removed pm sent.

0 Likes

john.uhden
Mentor
Mentor
Accepted solution

@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

0 Likes

john.uhden
Mentor
Mentor

@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

0 Likes

john.uhden
Mentor
Mentor
@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

0 Likes

komondormrex
Advisor
Advisor
Accepted solution

@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

 

0 Likes

pbejse
Mentor
Mentor
Accepted solution

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

 

0 Likes