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
Solved! Go to Solution.
Solved by pbejse. Go to Solution.
Solved by komondormrex. Go to Solution.
Solved by john.uhden. Go to Solution.
Solved by Sea-Haven. Go to Solution.
Solved by ВeekeeCZ. Go to Solution.
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.
actually it does. tested with circles off the visible area and a pline. give your not working example.
The OFFSCREEN selection was introduced in ACAD 2017, so it could behave differently since then.
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
*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?
i checked your problem and ssnamex gave intersection points, but alas, it was not 2002.
@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
What was the status of the OFFSCREEN var?
If it was ON could you try the same test with it OFF?
John F. Uhden
@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
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
John F. 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.
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.