Make hole vs wire cut vs split

  1. So makehole wont cut a hole though multiple objects, which I think is a failing.
    However, I find that wire cut will, along with other interesting Boolean type operations.
    Shouldn’t these two tools be combined in one? Its only by accident I found that wire cut will make multiple holes, because the name of the tool gives no hint that it might.
    Why have two similar tools, one a crippled version of the other?

Further, why cant either of these commands make a hole in a single surface?
I mean, why cant the code just go ok, its a single surface, so let’s use the appropriate bit of code?
As it is, both commands fail in different ways. The MakeHole command just fails to do anything, even though it will let you choose a surface as the input - (shouldn’t it say “not a solid” or something helpful?) whereas the wire cut command cuts the surface, but makes a capped tube of seemingly random length, with the result being joined…??? Say what???

  1. re the split command - could someone explain exactly what conditions are required for this command to work? I’m thinking splitting both other curves, and objects by a line. Sometimes this works, sometimes it doesn’t, and I can find no consistent rule as to why.
    Since, in the case of it not working, if I copy the line to the other side of the objects (s) , and make a surface, then split with the surface, it almost always works.
    So why cant the split code just do that in the background, without me having to manually go through the above?

Cheers
rabbit

1 Like

Hi Tony- these are ‘solid’ operations in that they expect a surface bounding the far side so they know where to cut off the added surfaces (hole walls for example) I could see RoundHole acting a a sort of automatic circle-as-trimming object but wirecut does not really lend itself to this, it seems to me, since without the added surfaces it just becomes ‘Trim’.

For Split, can you please post or send me cases that look incorrect or confusing? Unlike Trim, Split on curves with curves requires that they actually intersect.

-Pascal

Hello Pascal

  • these are ‘solid’ operations in that they expect a surface bounding the far side so they know where to cut off the added surfaces (hole walls for example) I could see RoundHole acting a a sort of automatic circle-as-trimming object but wirecut does not really lend itself to this, it seems to me, since without the added surfaces it just becomes ‘Trim’.<

Well, my point is related to what the commands are called. - I mean, MakeHole means to me just that, and I don’t see, from a semantic point of view, why it shouldn’t make a hole in any object, or collection of objects, including single surfaces.
When I want to make a hole in a single surface, my mind just doesn’t go, oh I’ll just trim that bit out.
That strictly speaking it is a solid command is not the point - it could be coded to also work on a surface.
And why does it accept a single surface as valid input? Same for wire cut.
And why can wire cut make multiple holes, but MakeHole cant?
It doesn’t seem consistent or logical to me, but whatever…

Unlike Trim, Split on curves with curves requires that they actually intersect.<

Yes! but why? Why wont it just give the same feedback as trim (use apparent intersections=yes). It actually can split using a point (meaning, confusingly, not an actual point, but an intersection), so why not make it work just like trim…?

Both the above things seem to me that they are like this just because they are like this - which is not a good reason.
But whatever…maybe I’m just becoming a grumpy old fart…

Cheers
rabbit

1 Like

Hi Tony- I agree we can do some cleanup here…

http://mcneel.myjetbrains.com/youtrack/issue/RH-28207

thanks,

-Pascal

I still don’t understand why “Makehole” doesn’t allow multiple target objects to make holes in.
This makes me lose so much time, because I have to do a boolean instead.
This request is legit and seems very easy to implement, but it’s been 6 years now !

Well, at least we got those magnificent gradient hatches to play with…