Bug: SelBoundary not working on some hatches

Hello!
Could you please check why SelBoundary is not working on that hatch?
SelBoundary bug.3dm (159.2 KB)
I just left one hatch in this scene, but others failed, too.
Thanks!

If you choose the Crossing option, the Cyan curve does select the Hatch with SelBoundary.
If you select the Hatch and run a BoundingBox command, you see the box overlaps outside of the Cyan curve. That’s why a non-crossing selection window fails.

In this case, SelBoundary uses the BoundingBox of the Hatch pattern.

That’s a bug IMO…

I would certainly call that “undesired behavior”, but the tool is working as designed. Based on that, I would characterize it as a “limitation”.

There are a variety of objects including Annotations (text and dimensions), that have the same designed limitation.

I wish it was not that way, but once you understand it, it’s easy to deal with.

A hatch has a specifically defined boundary in the same way that a planar surface does. I see no reason why a hatch should work any different than a surface in that regard.

I agree!
I’ve filed defect reports on this in the past and they were turned down.
It’s Sunday afternoon and I’m watching the ball game.
It would be a waste of time and would raise hopes if I added another report to the pile.

@Eugen

I hacked together a script based on a volume selection script I made recently - basically it converts the closed input curve into a volume by extruding it in the view CPlane’s direction and then tries to select the objects inside the volume. Works on your example above. May be slow with lots of objects. Let me know if it errors out anywhere.

SelBoundaryStrict.py (13.9 KB)

Thanks, that works! Quick, are we… =}

Nonetheless, it’s pretty counterintuitive and less practical that SelBoundary has this ‘limitation’ of only working for the bounding box.
In my usecase, I wanted to speed up the hatch trimming process by selecting all hatches (thousands) completely inside some boundary curves, delete them, then trim the remaining (the ones crossing the boundary).
Besides, If I knew that CurveBooleans can create closed curves all at once, I would have gone for curves, not hatches, but yeah.

By the way: splitting hatches is not possible. Can we get Split work for hatches, too, please?
Trimming hatches was introduced in R7. Split would also make sense.

Thanks!

Here’s another one:
SelBoundary works for components, too, as it seems:
image

Which is cool! (I turned on Sub-objects in the SelectionFilter panel)

However, when the boundary is not a circle but a polyline, how would I select the whole closed polyline that the SelBoundary command asks for?

image

Thanks!

Who won?

Well, as there is no issue currently open in YouTrack under SelBoundary, I have added one:
https://mcneel.myjetbrains.com/youtrack/issue/RH-74414/SelBoundary-fails-on-hatch

1 Like

St. Louis, but we won the 3 game series.

I wish you luck with this selection edge case.

RH-74414 is fixed in the latest WIP. Please give it a try.

1 Like

@Helvetosaur
You clearly hold more sway around here than I do.

I’m too old for this foolishness…

Works just fine! Thank you very much!

While we are at it:
Even when a closed curve is already selected, the SelBoundary command still asks for one when invoked. More, it does not accept the selected one by hitting enter or space.
Could this be fixed, too, please?
If you feel motivated: How about adding support for multiple boundary curves at once?

Cheers!

Last I checked, I think I’m older than you… :stuck_out_tongue_winking_eye:

Hi Eugen -

RH-74455 SelBoundary: Allow preselection
-wim

1 Like